]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Disable L2 cache clock gating on 830 when using the overlay
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 7 Dec 2016 17:28:12 +0000 (19:28 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 22 Dec 2016 19:31:21 +0000 (21:31 +0200)
commita8963b8ba690c85aeaa2de25795b32a4de09685b
tree94da9322ee3e0ea161e0668445b03540ea3653cb
parentde17d8873d01c7e6a48c67732b8885df3d0e4890
drm/i915: Disable L2 cache clock gating on 830 when using the overlay

BSpec says:
"Overlay Clock Gating Must be Disabled: Overlay & L2 Cache clock gating
must be disabled in order to prevent device hangs when turning off overlay.SW
must turn off Ovrunit clock gating (6200h) and L2 Cache clock gating (C8h)."

We only turned off the overlay clock gating (due to lack of docs I
presume). After a bit of experimentation it looks like the the magic
C8h register lives in the PCI config space of device 0, and the magic
bit appears to be bit 2. Or at the very least this eliminates the GPU
death after MI_OVERLAY_OFF.

L2 clock gating seems to save ~80mW, so let's keep it on unless we need
to actually use the overlay.

Also let's move the OVRUNIT clock gating to the same place since we can,
and 845 supposedly doesn't need it.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1481131693-27993-11-git-send-email-ville.syrjala@linux.intel.com
Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_overlay.c
drivers/gpu/drm/i915/intel_pm.c