drm/radeon: fix hdmi mode enable on RS600/RS690/RS740
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 18 Apr 2013 13:36:42 +0000 (09:36 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Mon, 22 Apr 2013 14:39:15 +0000 (10:39 -0400)
These chips were previously skipped since they are
pre-R600.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
drivers/gpu/drm/radeon/r600_hdmi.c

index 91582a5..e419b98 100644 (file)
@@ -433,7 +433,7 @@ void r600_hdmi_enable(struct drm_encoder *encoder)
        offset = dig->afmt->offset;
 
        /* Older chipsets require setting HDMI and routing manually */
-       if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
+       if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) {
                hdmi = HDMI0_ERROR_ACK | HDMI0_ENABLE;
                switch (radeon_encoder->encoder_id) {
                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
@@ -499,7 +499,7 @@ void r600_hdmi_disable(struct drm_encoder *encoder)
        radeon_irq_kms_disable_afmt(rdev, dig->afmt->id);
 
        /* Older chipsets not handled by AtomBIOS */
-       if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
+       if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) {
                switch (radeon_encoder->encoder_id) {
                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
                        WREG32_AND(AVIVO_TMDSA_CNTL, ~AVIVO_TMDSA_CNTL_HDMI_EN);