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

drm/radeon/kms: make sure HPD is set to NONE on analog-only connectors

HPD is digital only.

Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>

authored by

Alex Deucher and committed by
Dave Airlie
2581afcc e0a2ca73

+14 -2
+14 -2
drivers/gpu/drm/radeon/radeon_connectors.c
··· 1082 1082 drm_connector_attach_property(&radeon_connector->base, 1083 1083 rdev->mode_info.load_detect_property, 1084 1084 1); 1085 + /* no HPD on analog connectors */ 1086 + radeon_connector->hpd.hpd = RADEON_HPD_NONE; 1085 1087 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1086 1088 break; 1087 1089 case DRM_MODE_CONNECTOR_DVIA: ··· 1098 1096 drm_connector_attach_property(&radeon_connector->base, 1099 1097 rdev->mode_info.load_detect_property, 1100 1098 1); 1099 + /* no HPD on analog connectors */ 1100 + radeon_connector->hpd.hpd = RADEON_HPD_NONE; 1101 1101 break; 1102 1102 case DRM_MODE_CONNECTOR_DVII: 1103 1103 case DRM_MODE_CONNECTOR_DVID: ··· 1190 1186 drm_connector_attach_property(&radeon_connector->base, 1191 1187 rdev->mode_info.tv_std_property, 1192 1188 radeon_atombios_get_tv_info(rdev)); 1189 + /* no HPD on analog connectors */ 1190 + radeon_connector->hpd.hpd = RADEON_HPD_NONE; 1193 1191 } 1194 1192 break; 1195 1193 case DRM_MODE_CONNECTOR_LVDS: ··· 1215 1209 break; 1216 1210 } 1217 1211 1218 - if (hpd->hpd == RADEON_HPD_NONE) { 1212 + if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) { 1219 1213 if (i2c_bus->valid) 1220 1214 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1221 1215 } else ··· 1282 1276 drm_connector_attach_property(&radeon_connector->base, 1283 1277 rdev->mode_info.load_detect_property, 1284 1278 1); 1279 + /* no HPD on analog connectors */ 1280 + radeon_connector->hpd.hpd = RADEON_HPD_NONE; 1285 1281 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1286 1282 break; 1287 1283 case DRM_MODE_CONNECTOR_DVIA: ··· 1298 1290 drm_connector_attach_property(&radeon_connector->base, 1299 1291 rdev->mode_info.load_detect_property, 1300 1292 1); 1293 + /* no HPD on analog connectors */ 1294 + radeon_connector->hpd.hpd = RADEON_HPD_NONE; 1301 1295 break; 1302 1296 case DRM_MODE_CONNECTOR_DVII: 1303 1297 case DRM_MODE_CONNECTOR_DVID: ··· 1338 1328 drm_connector_attach_property(&radeon_connector->base, 1339 1329 rdev->mode_info.tv_std_property, 1340 1330 radeon_combios_get_tv_info(rdev)); 1331 + /* no HPD on analog connectors */ 1332 + radeon_connector->hpd.hpd = RADEON_HPD_NONE; 1341 1333 } 1342 1334 break; 1343 1335 case DRM_MODE_CONNECTOR_LVDS: ··· 1357 1345 break; 1358 1346 } 1359 1347 1360 - if (hpd->hpd == RADEON_HPD_NONE) { 1348 + if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) { 1361 1349 if (i2c_bus->valid) 1362 1350 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1363 1351 } else