Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/radeon: use helpers

Signed-off-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Rob Clark and committed by
Dave Airlie
b957f457 7707e653

+22 -56
+2 -4
drivers/gpu/drm/radeon/r100.c
··· 1401 1401 */ 1402 1402 int r100_cs_packet_parse_vline(struct radeon_cs_parser *p) 1403 1403 { 1404 - struct drm_mode_object *obj; 1405 1404 struct drm_crtc *crtc; 1406 1405 struct radeon_crtc *radeon_crtc; 1407 1406 struct radeon_cs_packet p3reloc, waitreloc; ··· 1440 1441 header = radeon_get_ib_value(p, h_idx); 1441 1442 crtc_id = radeon_get_ib_value(p, h_idx + 5); 1442 1443 reg = R100_CP_PACKET0_GET_REG(header); 1443 - obj = drm_mode_object_find(p->rdev->ddev, crtc_id, DRM_MODE_OBJECT_CRTC); 1444 - if (!obj) { 1444 + crtc = drm_crtc_find(p->rdev->ddev, crtc_id); 1445 + if (!crtc) { 1445 1446 DRM_ERROR("cannot find crtc %d\n", crtc_id); 1446 1447 return -ENOENT; 1447 1448 } 1448 - crtc = obj_to_crtc(obj); 1449 1449 radeon_crtc = to_radeon_crtc(crtc); 1450 1450 crtc_id = radeon_crtc->crtc_id; 1451 1451
+2 -4
drivers/gpu/drm/radeon/r600_cs.c
··· 825 825 uint32_t *vline_start_end, 826 826 uint32_t *vline_status) 827 827 { 828 - struct drm_mode_object *obj; 829 828 struct drm_crtc *crtc; 830 829 struct radeon_crtc *radeon_crtc; 831 830 struct radeon_cs_packet p3reloc, wait_reg_mem; ··· 886 887 crtc_id = radeon_get_ib_value(p, h_idx + 2 + 7 + 1); 887 888 reg = R600_CP_PACKET0_GET_REG(header); 888 889 889 - obj = drm_mode_object_find(p->rdev->ddev, crtc_id, DRM_MODE_OBJECT_CRTC); 890 - if (!obj) { 890 + crtc = drm_crtc_find(p->rdev->ddev, crtc_id); 891 + if (!crtc) { 891 892 DRM_ERROR("cannot find crtc %d\n", crtc_id); 892 893 return -ENOENT; 893 894 } 894 - crtc = obj_to_crtc(obj); 895 895 radeon_crtc = to_radeon_crtc(crtc); 896 896 crtc_id = radeon_crtc->crtc_id; 897 897
+18 -48
drivers/gpu/drm/radeon/radeon_connectors.c
··· 216 216 struct drm_encoder *best_encoder = NULL; 217 217 struct drm_encoder *encoder = NULL; 218 218 struct drm_connector_helper_funcs *connector_funcs = connector->helper_private; 219 - struct drm_mode_object *obj; 220 219 bool connected; 221 220 int i; 222 221 ··· 225 226 if (connector->encoder_ids[i] == 0) 226 227 break; 227 228 228 - obj = drm_mode_object_find(connector->dev, 229 - connector->encoder_ids[i], 230 - DRM_MODE_OBJECT_ENCODER); 231 - if (!obj) 229 + encoder = drm_encoder_find(connector->dev, 230 + connector->encoder_ids[i]); 231 + if (!encoder) 232 232 continue; 233 - 234 - encoder = obj_to_encoder(obj); 235 233 236 234 if ((encoder == best_encoder) && (status == connector_status_connected)) 237 235 connected = true; ··· 245 249 246 250 static struct drm_encoder *radeon_find_encoder(struct drm_connector *connector, int encoder_type) 247 251 { 248 - struct drm_mode_object *obj; 249 252 struct drm_encoder *encoder; 250 253 int i; 251 254 ··· 252 257 if (connector->encoder_ids[i] == 0) 253 258 break; 254 259 255 - obj = drm_mode_object_find(connector->dev, connector->encoder_ids[i], DRM_MODE_OBJECT_ENCODER); 256 - if (!obj) 260 + encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); 261 + if (!encoder) 257 262 continue; 258 263 259 - encoder = obj_to_encoder(obj); 260 264 if (encoder->encoder_type == encoder_type) 261 265 return encoder; 262 266 } ··· 265 271 static struct drm_encoder *radeon_best_single_encoder(struct drm_connector *connector) 266 272 { 267 273 int enc_id = connector->encoder_ids[0]; 268 - struct drm_mode_object *obj; 269 - struct drm_encoder *encoder; 270 - 271 274 /* pick the encoder ids */ 272 - if (enc_id) { 273 - obj = drm_mode_object_find(connector->dev, enc_id, DRM_MODE_OBJECT_ENCODER); 274 - if (!obj) 275 - return NULL; 276 - encoder = obj_to_encoder(obj); 277 - return encoder; 278 - } 275 + if (enc_id) 276 + return drm_encoder_find(connector->dev, enc_id); 279 277 return NULL; 280 278 } 281 279 ··· 1034 1048 struct radeon_connector *radeon_connector = to_radeon_connector(connector); 1035 1049 struct drm_encoder *encoder = NULL; 1036 1050 struct drm_encoder_helper_funcs *encoder_funcs; 1037 - struct drm_mode_object *obj; 1038 1051 int i, r; 1039 1052 enum drm_connector_status ret = connector_status_disconnected; 1040 1053 bool dret = false, broken_edid = false; ··· 1138 1153 if (connector->encoder_ids[i] == 0) 1139 1154 break; 1140 1155 1141 - obj = drm_mode_object_find(connector->dev, 1142 - connector->encoder_ids[i], 1143 - DRM_MODE_OBJECT_ENCODER); 1144 - if (!obj) 1156 + encoder = drm_encoder_find(connector->dev, 1157 + connector->encoder_ids[i]); 1158 + if (!encoder) 1145 1159 continue; 1146 - 1147 - encoder = obj_to_encoder(obj); 1148 1160 1149 1161 if (encoder->encoder_type != DRM_MODE_ENCODER_DAC && 1150 1162 encoder->encoder_type != DRM_MODE_ENCODER_TVDAC) ··· 1207 1225 { 1208 1226 int enc_id = connector->encoder_ids[0]; 1209 1227 struct radeon_connector *radeon_connector = to_radeon_connector(connector); 1210 - struct drm_mode_object *obj; 1211 1228 struct drm_encoder *encoder; 1212 1229 int i; 1213 1230 for (i = 0; i < DRM_CONNECTOR_MAX_ENCODER; i++) { 1214 1231 if (connector->encoder_ids[i] == 0) 1215 1232 break; 1216 1233 1217 - obj = drm_mode_object_find(connector->dev, connector->encoder_ids[i], DRM_MODE_OBJECT_ENCODER); 1218 - if (!obj) 1234 + encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); 1235 + if (!encoder) 1219 1236 continue; 1220 - 1221 - encoder = obj_to_encoder(obj); 1222 1237 1223 1238 if (radeon_connector->use_digital == true) { 1224 1239 if (encoder->encoder_type == DRM_MODE_ENCODER_TMDS) ··· 1231 1252 1232 1253 /* then check use digitial */ 1233 1254 /* pick the first one */ 1234 - if (enc_id) { 1235 - obj = drm_mode_object_find(connector->dev, enc_id, DRM_MODE_OBJECT_ENCODER); 1236 - if (!obj) 1237 - return NULL; 1238 - encoder = obj_to_encoder(obj); 1239 - return encoder; 1240 - } 1255 + if (enc_id) 1256 + return drm_encoder_find(connector->dev, enc_id); 1241 1257 return NULL; 1242 1258 } 1243 1259 ··· 1365 1391 1366 1392 u16 radeon_connector_encoder_get_dp_bridge_encoder_id(struct drm_connector *connector) 1367 1393 { 1368 - struct drm_mode_object *obj; 1369 1394 struct drm_encoder *encoder; 1370 1395 struct radeon_encoder *radeon_encoder; 1371 1396 int i; ··· 1373 1400 if (connector->encoder_ids[i] == 0) 1374 1401 break; 1375 1402 1376 - obj = drm_mode_object_find(connector->dev, connector->encoder_ids[i], DRM_MODE_OBJECT_ENCODER); 1377 - if (!obj) 1403 + encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); 1404 + if (!encoder) 1378 1405 continue; 1379 1406 1380 - encoder = obj_to_encoder(obj); 1381 1407 radeon_encoder = to_radeon_encoder(encoder); 1382 1408 1383 1409 switch (radeon_encoder->encoder_id) { ··· 1393 1421 1394 1422 bool radeon_connector_encoder_is_hbr2(struct drm_connector *connector) 1395 1423 { 1396 - struct drm_mode_object *obj; 1397 1424 struct drm_encoder *encoder; 1398 1425 struct radeon_encoder *radeon_encoder; 1399 1426 int i; ··· 1402 1431 if (connector->encoder_ids[i] == 0) 1403 1432 break; 1404 1433 1405 - obj = drm_mode_object_find(connector->dev, connector->encoder_ids[i], DRM_MODE_OBJECT_ENCODER); 1406 - if (!obj) 1434 + encoder = drm_encoder_find(connector->dev, connector->encoder_ids[i]); 1435 + if (!encoder) 1407 1436 continue; 1408 1437 1409 - encoder = obj_to_encoder(obj); 1410 1438 radeon_encoder = to_radeon_encoder(encoder); 1411 1439 if (radeon_encoder->caps & ATOM_ENCODER_CAP_RECORD_HBR2) 1412 1440 found = true;