diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-07-20 03:24:11 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-08-02 00:23:57 -0400 |
commit | 2581afccadd347bf97c3a5620ba72c99aca8c355 (patch) | |
tree | a1d843a91f409f5e1e17ec83a4b409086abb5ee2 | |
parent | e0a2ca737597de5068634df2706f4cf1c1e32d84 (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.c | 16 |
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 |