drm/i915: Replace vblank PM QoS with "Interrupt-Based AGPBUSY#"
authorChris Wilson <chris@chris-wilson.co.uk>
Sat, 5 Feb 2011 10:08:21 +0000 (10:08 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Wed, 23 Mar 2011 20:03:40 +0000 (13:03 -0700)
commit7d77d22137391037be35d11cbf881133cc07b430
treeb5ac810df5b096c9e0e34cb7f63006f0933ca538
parent7cd4ad7e560c8dfa66859dd0d96cb349ee26b6fa
drm/i915: Replace vblank PM QoS with "Interrupt-Based AGPBUSY#"

commit 8692d00e996ed2a6560702623e5cb646da0f9767 upstream.

I stumbled over this magic bit in the gen3 INSTPM:

Bit11 Interrupt-Based AGPBUSY# Enable:

‘0’ = Pending GMCH interrupts will not cause AGPBUSY# assertion.
‘1’ = Pending GMCH interrupts will cause AGPBUSY# assertion and hence
      can cause the CPU to exit C3.  There is no suppression of cacheable
      writes.

Note that in either case in C3 the interrupts are not lost. They will be
forwarded to the ICH when the GMCH is out of C3.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Tested-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/gpu/drm/i915/i915_irq.c
drivers/gpu/drm/i915/i915_reg.h