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