aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2010-07-20 03:24:11 -0400
committerDave Airlie <airlied@redhat.com>2010-08-02 00:23:57 -0400
commit2581afccadd347bf97c3a5620ba72c99aca8c355 (patch)
treea1d843a91f409f5e1e17ec83a4b409086abb5ee2
parente0a2ca737597de5068634df2706f4cf1c1e32d84 (diff)
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>
-rw-r--r--drivers/gpu/drm/radeon/radeon_connectors.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
index 41286c98b80d..6b9aac754f10 100644
--- a/drivers/gpu/drm/radeon/radeon_connectors.c
+++ b/drivers/gpu/drm/radeon/radeon_connectors.c
@@ -1082,6 +1082,8 @@ radeon_add_atom_connector(struct drm_device *dev,
1082 drm_connector_attach_property(&radeon_connector->base, 1082 drm_connector_attach_property(&radeon_connector->base,
1083 rdev->mode_info.load_detect_property, 1083 rdev->mode_info.load_detect_property,
1084 1); 1084 1);
1085 /* no HPD on analog connectors */
1086 radeon_connector->hpd.hpd = RADEON_HPD_NONE;
1085 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1087 connector->polled = DRM_CONNECTOR_POLL_CONNECT;
1086 break; 1088 break;
1087 case DRM_MODE_CONNECTOR_DVIA: 1089 case DRM_MODE_CONNECTOR_DVIA:
@@ -1096,6 +1098,8 @@ radeon_add_atom_connector(struct drm_device *dev,
1096 drm_connector_attach_property(&radeon_connector->base, 1098 drm_connector_attach_property(&radeon_connector->base,
1097 rdev->mode_info.load_detect_property, 1099 rdev->mode_info.load_detect_property,
1098 1); 1100 1);
1101 /* no HPD on analog connectors */
1102 radeon_connector->hpd.hpd = RADEON_HPD_NONE;
1099 break; 1103 break;
1100 case DRM_MODE_CONNECTOR_DVII: 1104 case DRM_MODE_CONNECTOR_DVII:
1101 case DRM_MODE_CONNECTOR_DVID: 1105 case DRM_MODE_CONNECTOR_DVID:
@@ -1186,6 +1190,8 @@ radeon_add_atom_connector(struct drm_device *dev,
1186 drm_connector_attach_property(&radeon_connector->base, 1190 drm_connector_attach_property(&radeon_connector->base,
1187 rdev->mode_info.tv_std_property, 1191 rdev->mode_info.tv_std_property,
1188 radeon_atombios_get_tv_info(rdev)); 1192 radeon_atombios_get_tv_info(rdev));
1193 /* no HPD on analog connectors */
1194 radeon_connector->hpd.hpd = RADEON_HPD_NONE;
1189 } 1195 }
1190 break; 1196 break;
1191 case DRM_MODE_CONNECTOR_LVDS: 1197 case DRM_MODE_CONNECTOR_LVDS:
@@ -1209,7 +1215,7 @@ radeon_add_atom_connector(struct drm_device *dev,
1209 break; 1215 break;
1210 } 1216 }
1211 1217
1212 if (hpd->hpd == RADEON_HPD_NONE) { 1218 if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) {
1213 if (i2c_bus->valid) 1219 if (i2c_bus->valid)
1214 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1220 connector->polled = DRM_CONNECTOR_POLL_CONNECT;
1215 } else 1221 } else
@@ -1276,6 +1282,8 @@ radeon_add_legacy_connector(struct drm_device *dev,
1276 drm_connector_attach_property(&radeon_connector->base, 1282 drm_connector_attach_property(&radeon_connector->base,
1277 rdev->mode_info.load_detect_property, 1283 rdev->mode_info.load_detect_property,
1278 1); 1284 1);
1285 /* no HPD on analog connectors */
1286 radeon_connector->hpd.hpd = RADEON_HPD_NONE;
1279 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1287 connector->polled = DRM_CONNECTOR_POLL_CONNECT;
1280 break; 1288 break;
1281 case DRM_MODE_CONNECTOR_DVIA: 1289 case DRM_MODE_CONNECTOR_DVIA:
@@ -1290,6 +1298,8 @@ radeon_add_legacy_connector(struct drm_device *dev,
1290 drm_connector_attach_property(&radeon_connector->base, 1298 drm_connector_attach_property(&radeon_connector->base,
1291 rdev->mode_info.load_detect_property, 1299 rdev->mode_info.load_detect_property,
1292 1); 1300 1);
1301 /* no HPD on analog connectors */
1302 radeon_connector->hpd.hpd = RADEON_HPD_NONE;
1293 break; 1303 break;
1294 case DRM_MODE_CONNECTOR_DVII: 1304 case DRM_MODE_CONNECTOR_DVII:
1295 case DRM_MODE_CONNECTOR_DVID: 1305 case DRM_MODE_CONNECTOR_DVID:
@@ -1328,6 +1338,8 @@ radeon_add_legacy_connector(struct drm_device *dev,
1328 drm_connector_attach_property(&radeon_connector->base, 1338 drm_connector_attach_property(&radeon_connector->base,
1329 rdev->mode_info.tv_std_property, 1339 rdev->mode_info.tv_std_property,
1330 radeon_combios_get_tv_info(rdev)); 1340 radeon_combios_get_tv_info(rdev));
1341 /* no HPD on analog connectors */
1342 radeon_connector->hpd.hpd = RADEON_HPD_NONE;
1331 } 1343 }
1332 break; 1344 break;
1333 case DRM_MODE_CONNECTOR_LVDS: 1345 case DRM_MODE_CONNECTOR_LVDS:
@@ -1345,7 +1357,7 @@ radeon_add_legacy_connector(struct drm_device *dev,
1345 break; 1357 break;
1346 } 1358 }
1347 1359
1348 if (hpd->hpd == RADEON_HPD_NONE) { 1360 if (radeon_connector->hpd.hpd == RADEON_HPD_NONE) {
1349 if (i2c_bus->valid) 1361 if (i2c_bus->valid)
1350 connector->polled = DRM_CONNECTOR_POLL_CONNECT; 1362 connector->polled = DRM_CONNECTOR_POLL_CONNECT;
1351 } else 1363 } else