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)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 13 May 2013 14:02:23 +0000 (15:02 +0100)
commit dcb852905772416e322536ced5cb3c796d176af5 upstream.

These chips were previously skipped since they are
pre-R600.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/gpu/drm/radeon/r600_hdmi.c

index c45d921..57a825d 100644 (file)
@@ -506,7 +506,7 @@ void r600_hdmi_enable(struct drm_encoder *encoder)
        offset = radeon_encoder->hdmi_offset;
        if (ASIC_IS_DCE32(rdev) && !ASIC_IS_DCE4(rdev)) {
                WREG32_P(radeon_encoder->hdmi_config_offset + 0x4, 0x1, ~0x1);
-       } else if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
+       } else if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) {
                switch (radeon_encoder->encoder_id) {
                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
                        WREG32_P(AVIVO_TMDSA_CNTL, 0x4, ~0x4);
@@ -572,7 +572,7 @@ void r600_hdmi_disable(struct drm_encoder *encoder)
 
        if (ASIC_IS_DCE32(rdev) && !ASIC_IS_DCE4(rdev)) {
                WREG32_P(radeon_encoder->hdmi_config_offset + 0x4, 0, ~0x1);
-       } else if (rdev->family >= CHIP_R600 && !ASIC_IS_DCE3(rdev)) {
+       } else if (ASIC_IS_DCE2(rdev) && !ASIC_IS_DCE3(rdev)) {
                switch (radeon_encoder->encoder_id) {
                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
                        WREG32_P(AVIVO_TMDSA_CNTL, 0, ~0x4);