R4xx also uses the atom add connector function, but underscan is only
supported on avivo chips.

Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
---
 drivers/gpu/drm/radeon/radeon_connectors.c |   21 ++++++++++++---------
 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 609eda6..2395c86 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,
                drm_connector_attach_property(&radeon_connector->base,
                                              
rdev->mode_info.coherent_mode_property,
                                              1);
-               drm_connector_attach_property(&radeon_connector->base,
-                                             
rdev->mode_info.underscan_property,
-                                             UNDERSCAN_AUTO);
+               if (ASIC_IS_AVIVO(rdev))
+                       drm_connector_attach_property(&radeon_connector->base,
+                                                     
rdev->mode_info.underscan_property,
+                                                     UNDERSCAN_AUTO);
                if (connector_type == DRM_MODE_CONNECTOR_DVII) {
                        radeon_connector->dac_load_detect = true;
                        drm_connector_attach_property(&radeon_connector->base,
@@ -1162,9 +1163,10 @@ radeon_add_atom_connector(struct drm_device *dev,
                drm_connector_attach_property(&radeon_connector->base,
                                              
rdev->mode_info.coherent_mode_property,
                                              1);
-               drm_connector_attach_property(&radeon_connector->base,
-                                             
rdev->mode_info.underscan_property,
-                                             UNDERSCAN_AUTO);
+               if (ASIC_IS_AVIVO(rdev))
+                       drm_connector_attach_property(&radeon_connector->base,
+                                                     
rdev->mode_info.underscan_property,
+                                                     UNDERSCAN_AUTO);
                subpixel_order = SubPixelHorizontalRGB;
                break;
        case DRM_MODE_CONNECTOR_DisplayPort:
@@ -1196,9 +1198,10 @@ radeon_add_atom_connector(struct drm_device *dev,
                drm_connector_attach_property(&radeon_connector->base,
                                              
rdev->mode_info.coherent_mode_property,
                                              1);
-               drm_connector_attach_property(&radeon_connector->base,
-                                             
rdev->mode_info.underscan_property,
-                                             UNDERSCAN_AUTO);
+               if (ASIC_IS_AVIVO(rdev))
+                       drm_connector_attach_property(&radeon_connector->base,
+                                                     
rdev->mode_info.underscan_property,
+                                                     UNDERSCAN_AUTO);
                break;
        case DRM_MODE_CONNECTOR_SVIDEO:
        case DRM_MODE_CONNECTOR_Composite:
diff --git a/drivers/gpu/drm/radeon/radeon_encoders.c 
b/drivers/gpu/drm/radeon/radeon_encoders.c
index 4a4ff98..263c809 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
                } else {
                        drm_encoder_init(dev, encoder, &radeon_atom_enc_funcs, 
DRM_MODE_ENCODER_TMDS);
                        radeon_encoder->enc_priv = 
radeon_atombios_set_dig_info(radeon_encoder);
-                       radeon_encoder->underscan_type = UNDERSCAN_AUTO;
+                       if (ASIC_IS_AVIVO(rdev))
+                               radeon_encoder->underscan_type = UNDERSCAN_AUTO;
                }
                drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs);
                break;
@@ -1738,7 +1739,8 @@ radeon_add_atom_encoder(struct drm_device *dev, uint32_t 
encoder_id, uint32_t su
                } else {
                        drm_encoder_init(dev, encoder, &radeon_atom_enc_funcs, 
DRM_MODE_ENCODER_TMDS);
                        radeon_encoder->enc_priv = 
radeon_atombios_set_dig_info(radeon_encoder);
-                       radeon_encoder->underscan_type = UNDERSCAN_AUTO;
+                       if (ASIC_IS_AVIVO(rdev))
+                               radeon_encoder->underscan_type = UNDERSCAN_AUTO;
                }
                drm_encoder_helper_add(encoder, &radeon_atom_dig_helper_funcs);
                break;
-- 
1.7.1.1

Reply via email to