瀏覽代碼

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>
Jesse Barnes 15 年之前
父節點
當前提交
357b13c3e4
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/gpu/drm/i915/intel_display.c

+ 1 - 1
drivers/gpu/drm/i915/intel_display.c

@@ -4699,7 +4699,7 @@ void ironlake_disable_drps(struct drm_device *dev)
 	fstart = (I915_READ(MEMMODECTL) & MEMMODE_FSTART_MASK) >>
 		MEMMODE_FSTART_SHIFT;
 	rgvswctl = (MEMCTL_CMD_CHFREQ << MEMCTL_CMD_SHIFT) |
-		(fstart << MEMCTL_FREQ_SHIFT);
+		(fstart << MEMCTL_FREQ_SHIFT) | MEMCTL_SFCAVM;
 	I915_WRITE(MEMSWCTL, rgvswctl);
 	msleep(1);
 	rgvswctl |= MEMCTL_CMD_STS;