OSDN Git Service

drm/i915: use render gen to switch ring irq functions
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 30 Mar 2012 18:24:34 +0000 (20:24 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 9 Apr 2012 16:04:07 +0000 (18:04 +0200)
Top-level interrupt bits are usually found in the display block. It
therefore makes sense to use HAS_PCH_SPLIT in i915_irq.c

But the irq stuff in intel_ring.c only concerns itself with render
core/gt-level interrupt sources. It therefore makes more sense to
switch based on gpu gen.

Kills a vlv special case.

Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-Off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_ringbuffer.c

index 98ac5c0..465a7da 100644 (file)
@@ -687,7 +687,7 @@ render_ring_get_irq(struct intel_ring_buffer *ring)
 
        spin_lock(&ring->irq_lock);
        if (ring->irq_refcount++ == 0) {
-               if (HAS_PCH_SPLIT(dev) || IS_VALLEYVIEW(dev))
+               if (INTEL_INFO(dev)->gen >= 5)
                        ironlake_enable_irq(dev_priv,
                                            GT_PIPE_NOTIFY | GT_USER_INTERRUPT);
                else
@@ -706,7 +706,7 @@ render_ring_put_irq(struct intel_ring_buffer *ring)
 
        spin_lock(&ring->irq_lock);
        if (--ring->irq_refcount == 0) {
-               if (HAS_PCH_SPLIT(dev) || IS_VALLEYVIEW(dev))
+               if (INTEL_INFO(dev)->gen >= 5)
                        ironlake_disable_irq(dev_priv,
                                             GT_USER_INTERRUPT |
                                             GT_PIPE_NOTIFY);