diff options
author | Jesse Barnes <jbarnes@virtuousgeek.org> | 2010-02-04 17:17:47 -0500 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-02-22 11:46:57 -0500 |
commit | 357b13c3e498bb658f511f91a9e4f09c9553be6e (patch) | |
tree | 18cc3daafc7bf20d92fbc85a942197b43e0ac98f /drivers/gpu/drm/i915/intel_display.c | |
parent | 060e645ac0181f499478a7be0ccb8a5600edc71a (diff) |
drm/i915: fix drps disable so unload & re-load works
At unload time, we need to disable DRPS, but we need to do it correctly
or the GPU will hang and we won't be able to load the module again. So
set the SFCAVM bit so we can properly restore the DRPS config at unload.
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_display.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index cba51c2b512f..e879885f4754 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -4699,7 +4699,7 @@ void ironlake_disable_drps(struct drm_device *dev) | |||
4699 | fstart = (I915_READ(MEMMODECTL) & MEMMODE_FSTART_MASK) >> | 4699 | fstart = (I915_READ(MEMMODECTL) & MEMMODE_FSTART_MASK) >> |
4700 | MEMMODE_FSTART_SHIFT; | 4700 | MEMMODE_FSTART_SHIFT; |
4701 | rgvswctl = (MEMCTL_CMD_CHFREQ << MEMCTL_CMD_SHIFT) | | 4701 | rgvswctl = (MEMCTL_CMD_CHFREQ << MEMCTL_CMD_SHIFT) | |
4702 | (fstart << MEMCTL_FREQ_SHIFT); | 4702 | (fstart << MEMCTL_FREQ_SHIFT) | MEMCTL_SFCAVM; |
4703 | I915_WRITE(MEMSWCTL, rgvswctl); | 4703 | I915_WRITE(MEMSWCTL, rgvswctl); |
4704 | msleep(1); | 4704 | msleep(1); |
4705 | rgvswctl |= MEMCTL_CMD_STS; | 4705 | rgvswctl |= MEMCTL_CMD_STS; |