]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Jun 2014 23:02:13 +0000 (16:02 -0700)
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>
[wml: Backported to 3.4:
- adjust context
- no !ASIC_IS_DCE3(rdev)]
Signed-off-by: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/r600_hdmi.c

index 0b59206714505e24aa329b8adc2e0fd0e7dbc8ad..61ffe3c764746fed512ca9b59cfaa4adec81938a 100644 (file)
@@ -530,7 +530,7 @@ void r600_hdmi_enable(struct drm_encoder *encoder)
                WREG32_P(radeon_encoder->hdmi_config_offset + 0x4, 0x1, ~0x1);
        } else if (ASIC_IS_DCE3(rdev)) {
                /* TODO */
-       } else if (rdev->family >= CHIP_R600) {
+       } else if (ASIC_IS_DCE2(rdev)) {
                switch (radeon_encoder->encoder_id) {
                case ENCODER_OBJECT_ID_INTERNAL_KLDSCP_TMDS1:
                        WREG32_P(AVIVO_TMDSA_CNTL, AVIVO_TMDSA_CNTL_HDMI_EN,
@@ -602,7 +602,7 @@ void r600_hdmi_disable(struct drm_encoder *encoder)
                WREG32_P(radeon_encoder->hdmi_config_offset + 0xc, 0, ~0x1);
        } else if (ASIC_IS_DCE32(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,