drm/radeon: fix interlaced modes on DCE8
authorAlex Deucher <alexander.deucher@amd.com>
Tue, 3 Mar 2015 22:00:43 +0000 (17:00 -0500)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 28 Mar 2015 13:23:51 +0000 (09:23 -0400)
[ Upstream commit 77ae5f4b48a0445426c9c1ef7c0f28b717e35d55 ]

Need to double the viewport height.

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/gpu/drm/radeon/atombios_crtc.c

index dce0d3918fa7284e6281e995ce13845e20e1f526..9f0e62529c46f4554c935e06173e56741206a824 100644 (file)
@@ -1405,6 +1405,9 @@ static int dce4_crtc_do_set_base(struct drm_crtc *crtc,
               (x << 16) | y);
        viewport_w = crtc->mode.hdisplay;
        viewport_h = (crtc->mode.vdisplay + 1) & ~1;
+       if ((rdev->family >= CHIP_BONAIRE) &&
+           (crtc->mode.flags & DRM_MODE_FLAG_INTERLACE))
+               viewport_h *= 2;
        WREG32(EVERGREEN_VIEWPORT_SIZE + radeon_crtc->crtc_offset,
               (viewport_w << 16) | viewport_h);