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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux