drm/i915: Introduce VECS: the 4th ring
authorBen Widawsky <ben@bwidawsk.net>
Wed, 29 May 2013 02:22:19 +0000 (19:22 -0700)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 31 May 2013 18:54:09 +0000 (20:54 +0200)
The video enhancement command streamer is a new ring on HSW which does
what it sounds like it does. This patch provides the most minimal
inception of the ring.

In order to support a new ring, we need to bump the number. The patch
may look trivial to the untrained eye, but bumping the number of rings
is a bit scary. As such the patch is not terribly useful by itself, but
a pretty nice place to find issues during a bisection.

Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/intel_ringbuffer.c
drivers/gpu/drm/i915/intel_ringbuffer.h

index 5df179127e8bb34ab7869e997ab59dd7c8847b47..ead979a941055e038adaec05e560f337d212eaa7 100644 (file)
@@ -915,6 +915,8 @@ void intel_ring_setup_status_page(struct intel_ring_buffer *ring)
                case VCS:
                        mmio = BSD_HWS_PGA_GEN7;
                        break;
+               case VECS:
+                       BUG();
                }
        } else if (IS_GEN6(ring->dev)) {
                mmio = RING_HWS_PGA_GEN6(ring->mmio_base);
index f55d92eb6c2a97feb321281a1f9953d04124c75a..73619cb34631c6d3ee362a7308249fbb8c4a291c 100644 (file)
@@ -47,8 +47,9 @@ struct  intel_ring_buffer {
                RCS = 0x0,
                VCS,
                BCS,
+               VECS,
        } id;
-#define I915_NUM_RINGS 3
+#define I915_NUM_RINGS 4
        u32             mmio_base;
        void            __iomem *virtual_start;
        struct          drm_device *dev;