[Intel-gfx] [PATCH 00/18] [RFC] Introduce the Haswell VECS

Ben Widawsky ben at bwidawsk.net
Wed Nov 7 13:03:01 CET 2012


The basic usage of this feature is already upstream in libva.

git://anongit.freedesktop.org/vaapi/intel-driver

On Tue,  6 Nov 2012 16:25:24 +0000
Ben Widawsky <ben at bwidawsk.net> wrote:

> The VECS is a new command streamer introduced in Haswell which allows
> offloading of video post processing to a new engine called the VEBOX.
> Like other rings, it is up to userspace to take advantage of it. Also
> like the other rings, the primary enabling is turning on interrupts,
> adding the new semaphores, and other basic bits. Somewhat more
> complicated than the other rings, the VECS has its interrupts in the
> PMIMR, so as a result, I did a bunch of interrupt naming cleanups
> because I thought it made more sense.
> 
> Coming separately will be the basic i-g-t test cases. I still have some
> work to do on those, but figure that the review can go on in parallel.
> 
> In terms of the work history, these started as patches by me, finished by
> Haihao, and then cleaned up and rebased by me. I tried to leave credit to
> Haihao where applicable, but I rewrote a lot of his stuff, so blame me if
> something is bad.
> 
> Ben Widawsky (14):
>   drm/i915: Comments for semaphore clarification
>   drm/i915: Semaphore MBOX update generalization
>   drm/i915: Introduce VECS: the 4th ring
>   drm/i915: Add VECS semaphore bits
>   drm/i915: Rename ring flush functions
>   drm/i915: Vebox ringbuffer init
>   drm/i915: Create a more generic pm handler for hsw+
>   drm/i915: make PM interrupt writes non-destructive
>   drm/i915: Create an ivybridge_irq_preinstall
>   drm/i915: Add PM regs to pre install
>   drm/i915: Convert irq_refounct to struct
>   drm/i915: consolidate interrupt naming scheme
>   drm/i915: vebox interrupt get/put
>   drm/i915: Enable vebox interrupts
> 
> Xiang, Haihao (4):
>   drm/i915: add HAS_VEBOX
>   drm/i915: add VEBOX into debugfs
>   drm/i915: add I915_EXEC_VEBOX to i915_gem_do_execbuffer()
>   drm/i915: add I915_PARAM_HAS_VEBOX to i915_getparam
> 
>  drivers/gpu/drm/i915/i915_debugfs.c        |  13 ++
>  drivers/gpu/drm/i915/i915_dma.c            |   5 +-
>  drivers/gpu/drm/i915/i915_drv.c            |   2 +
>  drivers/gpu/drm/i915/i915_drv.h            |   3 +
>  drivers/gpu/drm/i915/i915_gem.c            |   8 ++
>  drivers/gpu/drm/i915/i915_gem_execbuffer.c |   9 ++
>  drivers/gpu/drm/i915/i915_irq.c            | 153 +++++++++++++++++------
>  drivers/gpu/drm/i915/i915_reg.h            | 148 ++++++++++++-----------
>  drivers/gpu/drm/i915/intel_pm.c            |   8 +-
>  drivers/gpu/drm/i915/intel_ringbuffer.c    | 188 +++++++++++++++++++++--------
>  drivers/gpu/drm/i915/intel_ringbuffer.h    |  13 +-
>  include/uapi/drm/i915_drm.h                |   3 +-
>  12 files changed, 383 insertions(+), 170 deletions(-)
> 



-- 
Ben Widawsky, Intel Open Source Technology Center



More information about the Intel-gfx mailing list