summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorAlex Deucher2013-08-21 20:44:15 +0200
committerAlex Deucher2013-08-30 22:31:04 +0200
commitac4d04d4be51802e7bf6a46a987e47fdc32af6b4 (patch)
tree0e27552c1555342cda5d56487d964fa6b7cfc517 /drivers/gpu/drm
parentdrm/radeon: atombios hw i2c fixes (diff)
downloadkernel-qcow2-linux-ac4d04d4be51802e7bf6a46a987e47fdc32af6b4.tar.gz
kernel-qcow2-linux-ac4d04d4be51802e7bf6a46a987e47fdc32af6b4.tar.xz
kernel-qcow2-linux-ac4d04d4be51802e7bf6a46a987e47fdc32af6b4.zip
drm/radeon: disable the GRPH block when we disable the crtc
Since we aren't using it when the crtc is disabled, turn it off to save power. The GRPH block is the part of the display controller that controls the primary graphics plane (size, address, etc.). Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index b9d3b43f19c0..bf87f6d435f8 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -1910,6 +1910,12 @@ static void atombios_crtc_disable(struct drm_crtc *crtc)
int i;
atombios_crtc_dpms(crtc, DRM_MODE_DPMS_OFF);
+ /* disable the GRPH */
+ if (ASIC_IS_DCE4(rdev))
+ WREG32(EVERGREEN_GRPH_ENABLE + radeon_crtc->crtc_offset, 0);
+ else if (ASIC_IS_AVIVO(rdev))
+ WREG32(AVIVO_D1GRPH_ENABLE + radeon_crtc->crtc_offset, 0);
+
if (ASIC_IS_DCE6(rdev))
atombios_powergate_crtc(crtc, ATOM_ENABLE);