drm/radeon/kms: only expose underscan on avivo chips
authorAlex Deucher <alexdeucher@gmail.com>
Wed, 4 Aug 2010 07:45:04 +0000 (03:45 -0400)
committerDave Airlie <airlied@redhat.com>
Wed, 4 Aug 2010 22:47:40 +0000 (08:47 +1000)
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>
drivers/gpu/drm/radeon/radeon_connectors.c
drivers/gpu/drm/radeon/radeon_encoders.c

index 609eda6bcb74c118b57a51c14a8bfb869fe8f581..2395c8600cf44d721644eef4d8648946512b1afb 100644 (file)
@@ -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:
index 4a4ff983cef575286a23af687c6909d0d2048242..263c8098d7dd279447ebba20e408c25f791f0b7d 100644 (file)
@@ -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;