diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2010-08-04 03:45:04 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-08-04 18:47:40 -0400 |
commit | 430f70d59da643f1aa7c9cf3493423a76550b110 (patch) | |
tree | eff6f47919891b97aa7b806f2c30d3f7e45b42a9 /drivers | |
parent | 1297c05a8dfb568c689f057d51a65eebe5ddc86f (diff) |
drm/radeon/kms: only expose underscan on avivo chips
R4xx also uses the atom add connector function, but underscan is only
supported on avivo chips.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_connectors.c | 21 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_encoders.c | 6 |
2 files changed, 16 insertions, 11 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 609eda6bcb7..2395c8600cf 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c | |||
@@ -1134,9 +1134,10 @@ radeon_add_atom_connector(struct drm_device *dev, | |||
1134 | drm_connector_attach_property(&radeon_connector->base, | 1134 | drm_connector_attach_property(&radeon_connector->base, |
1135 | rdev->mode_info.coherent_mode_property, | 1135 | rdev->mode_info.coherent_mode_property, |
1136 | 1); | 1136 | 1); |
1137 | drm_connector_attach_property(&radeon_connector->base, | 1137 | if (ASIC_IS_AVIVO(rdev)) |
1138 | rdev->mode_info.underscan_property, | 1138 | drm_connector_attach_property(&radeon_connector->base, |
1139 | UNDERSCAN_AUTO); | 1139 | rdev->mode_info.underscan_property, |
1140 | UNDERSCAN_AUTO); | ||
1140 | if (connector_type == DRM_MODE_CONNECTOR_DVII) { | 1141 | if (connector_type == DRM_MODE_CONNECTOR_DVII) { |
1141 | radeon_connector->dac_load_detect = true; | 1142 | radeon_connector->dac_load_detect = true; |
1142 | drm_connector_attach_property(&radeon_connector->base, | 1143 | drm_connector_attach_property(&radeon_connector->base, |
@@ -1162,9 +1163,10 @@ radeon_add_atom_connector(struct drm_device *dev, | |||
1162 | drm_connector_attach_property(&radeon_connector->base, | 1163 | drm_connector_attach_property(&radeon_connector->base, |
1163 | rdev->mode_info.coherent_mode_property, | 1164 | rdev->mode_info.coherent_mode_property, |
1164 | 1); | 1165 | 1); |
1165 | drm_connector_attach_property(&radeon_connector->base, | 1166 | if (ASIC_IS_AVIVO(rdev)) |
1166 | rdev->mode_info.underscan_property, | 1167 | drm_connector_attach_property(&radeon_connector->base, |
1167 | UNDERSCAN_AUTO); | 1168 | rdev->mode_info.underscan_property, |
1169 | UNDERSCAN_AUTO); | ||
1168 | subpixel_order = SubPixelHorizontalRGB; | 1170 | subpixel_order = SubPixelHorizontalRGB; |
1169 | break; | 1171 | break; |
1170 | case DRM_MODE_CONNECTOR_DisplayPort: | 1172 | case DRM_MODE_CONNECTOR_DisplayPort: |
@@ -1196,9 +1198,10 @@ radeon_add_atom_connector(struct drm_device *dev, | |||
1196 | drm_connector_attach_property(&radeon_connector->base, | 1198 | drm_connector_attach_property(&radeon_connector->base, |
1197 | rdev->mode_info.coherent_mode_property, | 1199 | rdev->mode_info.coherent_mode_property, |
1198 | 1); | 1200 | 1); |
1199 | drm_connector_attach_property(&radeon_connector->base, | 1201 | if (ASIC_IS_AVIVO(rdev)) |
1200 | rdev->mode_info.underscan_property, | 1202 | drm_connector_attach_property(&radeon_connector->base, |
1201 | UNDERSCAN_AUTO); | 1203 | rdev->mode_info.underscan_property, |
1204 | UNDERSCAN_AUTO); | ||
1202 | break; | 1205 | break; |
1203 | case DRM_MODE_CONNECTOR_SVIDEO: | 1206 | case DRM_MODE_CONNECTOR_SVIDEO: |
1204 | case DRM_MODE_CONNECTOR_Composite: | 1207 | case DRM_MODE_CONNECTOR_Composite: |
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c b/drivers/gpu/drm/radeon/radeon_encoders.c index 4a4ff983cef..263c8098d7d 100644 --- a/drivers/gpu/drm/radeon/radeon_encoders.c +++ b/drivers/gpu/drm/radeon/radeon_encoders.c | |||
@@ -1708,7 +1708,8 @@ radeon_add_atom_encoder(struct drm_device *dev, uint32_t encoder_id, uint32_t su | |||
1708 | } else { | 1708 | } else { |
1709 | drm_encoder_init(dev, encoder, &radeon_atom_enc_funcs, DRM_MODE_ENCODER_TMDS); | 1709 | drm_encoder_init(dev, encoder, &radeon_atom_enc_funcs, DRM_MODE_ENCODER_TMDS); |
1710 | radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); | 1710 | radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); |
1711 | radeon_encoder->underscan_type = UNDERSCAN_AUTO; | 1711 | if (ASIC_IS_AVIVO(rdev)) |
1712 | radeon_encoder->underscan_type = UNDERSCAN_AUTO; | ||
1712 | } | 1713 | } |
1713 | drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs); | 1714 | drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs); |
1714 | break; | 1715 | break; |
@@ -1738,7 +1739,8 @@ radeon_add_atom_encoder(struct drm_device *dev, uint32_t encoder_id, uint32_t su | |||
1738 | } else { | 1739 | } else { |
1739 | drm_encoder_init(dev, encoder, &radeon_atom_enc_funcs, DRM_MODE_ENCODER_TMDS); | 1740 | drm_encoder_init(dev, encoder, &radeon_atom_enc_funcs, DRM_MODE_ENCODER_TMDS); |
1740 | radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); | 1741 | radeon_encoder->enc_priv = radeon_atombios_set_dig_info(radeon_encoder); |
1741 | radeon_encoder->underscan_type = UNDERSCAN_AUTO; | 1742 | if (ASIC_IS_AVIVO(rdev)) |
1743 | radeon_encoder->underscan_type = UNDERSCAN_AUTO; | ||
1742 | } | 1744 | } |
1743 | drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs); | 1745 | drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs); |
1744 | break; | 1746 | break; |