]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: fix up gt init sequence fallout
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 21 Jul 2013 11:16:24 +0000 (13:16 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Sun, 21 Jul 2013 13:37:02 +0000 (15:37 +0200)
commitf45885a056a82a6382b60db7ce4c740d8ef6246f
treec35adc77a69304b3ee622a911b3a99f40e6a75d6
parent76534f615ca6cd309747f4927e716c3aa226f016
drm/i915: fix up gt init sequence fallout

The regression fix for gen6+ rps fallout

commit d32130d648691319909239c1131c068182dc9c3d
Author: Konstantin Khlebnikov <khlebnikov@openvz.org>
Date:   Wed Jul 17 10:22:58 2013 +0400

    drm/i915: fix long-standing SNB regression in power consumption after resume

unintentionally also changed the init sequence ordering between
gt_init and gt_reset - we need to reset BIOS damage like leftover
forcewake references before we run our own code. Otherwise we can get
nasty dmesg noise like

[drm:__gen6_gt_force_wake_mt_get] *ERROR* Timed out waiting for forcewake old ack to clear.

again. Since _reset suggests that we first need to have stuff
initialized (which isn't the case here) call it sanitze instead.

While at it also block out the rps disable introduced by the above
commit on ilk: We don't have any knowledge of ilk rps being broken in
similar ways. And the disable functions uses the default hw state
which is only read out when we're enabling rps. So essentially we've
been writing random grabage into that register.

Reported-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Konstantin Khlebnikov <khlebnikov@openvz.org>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Cc: stable@vger.kernel.org
Tested-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_dma.c
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/intel_pm.c