[PATCH 00/18] [RFC] Introduce the Haswell VECS

Ben Widawsky
2012-11-06T16:25:26Z

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(-)

--
1.8.0