diff mbox

[03/18] drm/i915: Introduce VECS: the 4th ring

Message ID 1369794154-1639-4-git-send-email-ben@bwidawsk.net (mailing list archive)
State New, archived
Headers show

Commit Message

Ben Widawsky May 29, 2013, 2:22 a.m. UTC
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>
---
 drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++
 drivers/gpu/drm/i915/intel_ringbuffer.h | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

Comments

Daniel Vetter May 29, 2013, 7:10 p.m. UTC | #1
On Tue, May 28, 2013 at 07:22:19PM -0700, Ben Widawsky wrote:
> 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>
> ---
>  drivers/gpu/drm/i915/intel_ringbuffer.c | 2 ++
>  drivers/gpu/drm/i915/intel_ringbuffer.h | 3 ++-
>  2 files changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 5df1791..ead979a 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -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();

My maintainer script freaked out a bit since you're adding a BUG here
without any particular reason that it's strictly better than a WARN. But
since it'll disappear in a follow-up patch I'll let it slide.

Yes, I've hit one of my own stupid BUG_ONs just recently, so I'm now
doubleplusgrumpy about this henceforth ;-)

Cheers, Daniel

>  		}
>  	} else if (IS_GEN6(ring->dev)) {
>  		mmio = RING_HWS_PGA_GEN6(ring->mmio_base);
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
> index f55d92e..73619cb 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
> @@ -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;
> -- 
> 1.8.3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 5df1791..ead979a 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -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);
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index f55d92e..73619cb 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -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;