mirror of https://gitee.com/openkylin/linux.git
drm/i915: Drop forcewake w/a for missed interrupts/seqno on Sandybridge
I believe, and an evening of i-g-t, that our original workaround for the missed interrupts on Sandybridge, that of holding forcewake whilst we wait for an interrupts, is no longer required. This leaves us dependent on the second workaround of forcing an UC read of the ACTHD before reading back the seqno from the snooped HWS. Dropping the forcewake should allow us to conserve a little power, not much as the GPU is meant to be busy whilst we wait for it! Cc: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
5ed1678206
commit
67e5871be8
|
@ -1032,11 +1032,6 @@ gen6_ring_get_irq(struct intel_ring_buffer *ring)
|
|||
if (!dev->irq_enabled)
|
||||
return false;
|
||||
|
||||
/* It looks like we need to prevent the gt from suspending while waiting
|
||||
* for an notifiy irq, otherwise irqs seem to get lost on at least the
|
||||
* blt/bsd rings on ivb. */
|
||||
gen6_gt_force_wake_get(dev_priv);
|
||||
|
||||
spin_lock_irqsave(&dev_priv->irq_lock, flags);
|
||||
if (ring->irq_refcount++ == 0) {
|
||||
if (HAS_L3_DPF(dev) && ring->id == RCS)
|
||||
|
@ -1068,8 +1063,6 @@ gen6_ring_put_irq(struct intel_ring_buffer *ring)
|
|||
ilk_disable_gt_irq(dev_priv, ring->irq_enable_mask);
|
||||
}
|
||||
spin_unlock_irqrestore(&dev_priv->irq_lock, flags);
|
||||
|
||||
gen6_gt_force_wake_put(dev_priv);
|
||||
}
|
||||
|
||||
static bool
|
||||
|
|
Loading…
Reference in New Issue