drm/i915: add multi-threaded forcewake support
authorKeith Packard <keithp@keithp.com>
Sat, 19 Nov 2011 04:39:01 +0000 (20:39 -0800)
committerKeith Packard <keithp@keithp.com>
Wed, 23 Nov 2011 21:07:11 +0000 (13:07 -0800)
commit8d715f0024f64ad1b1be85d8c081cf577944c847
tree4a0d1f1f36769c60b81fa3deb67ea791d5acc9bf
parentf10cdea68b70bd85706baed0decab59618f9c353
drm/i915: add multi-threaded forcewake support

On IVB C0+ with newer BIOSes, the forcewake handshake has changed.  There's
now a bitfield for different driver components to keep the GT powered
on.  On Linux, we centralize forcewake handling in one place, so we
still just need a single bit, but we need to use the new registers if MT
forcewake is enabled.

This needs testing on affected machines.  Please reply with your
tested-by if you had problems after a BIOS upgrade and this patch fixes
them.

v2: force MT mode. shift by 16
v3: set MT force wake bits then check ECOBUS

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42923
Tested-by: Manoj Iyer <manoj.iyer@canonical.com>
Tested-by: Robert Hooker <robert.hooker@canonical.com>
Tested-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Keith Packard <keithp@keithp.com>
drivers/gpu/drm/i915/i915_drv.c
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_reg.h
drivers/gpu/drm/i915/intel_display.c