All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/18] Introduce the Haswell VECS
@ 2013-04-28  0:59 Ben Widawsky
  2013-04-28  0:59 ` [PATCH 01/18] drm/i915: Comments for semaphore clarification Ben Widawsky
                   ` (20 more replies)
  0 siblings, 21 replies; 84+ messages in thread
From: Ben Widawsky @ 2013-04-28  0:59 UTC (permalink / raw)
  To: Intel-GFX; +Cc: Ben Widawsky

Here is the original post with the RFC for these patches.
http://lists.freedesktop.org/archives/intel-gfx/2012-November/022330.html


I don't believe there have been any major changes in the driver code. So,
what's changed since last time?

I've pushed 4 patches which implement tests for the new ring to i-g-t:
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/?id=bafbbf1cc8663fa192c57152f2c13a81e68f9089
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/?id=21e7e342c14a69d62a24a9bce89b66c3ef0fd208
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/?id=cf73a1f241542dadb49ae2c6d491c725218a68e8 (Fixed by Chris Wilson)
http://cgit.freedesktop.org/xorg/app/intel-gpu-tools/commit/?id=f187990bbf4396c7ae1796030377301bdd493852

I've pushed the libdrm patch to enable using the VECS ring:
http://cgit.freedesktop.org/mesa/drm/commit/?id=011999927f76a7e9ba8f047fae4b4e084da6c2c3

I've run this series on a subset of intel-gpu-tools suite, and don't see any
failures which aren't in nightly. I tend to skip display tests in my regression
runs.

Since originally publishing the RFC patches, I've had to do two pretty major
rebases over VLV support, HSW support, and a lot of random infrastructure
changes. I caught a couple of logical conflicts in doing this, but it's likely
I've missed at least one.

Also, as mentioned above, these are only lightly tested wrt to display.


References:
http://lists.freedesktop.org/archives/intel-gfx/2012-November/022330.html
http://lists.freedesktop.org/archives/intel-gfx/2012-November/022461.html
http://lists.freedesktop.org/archives/intel-gfx/2013-April/027081.html

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            |   3 +
 drivers/gpu/drm/i915/i915_drv.c            |   2 +
 drivers/gpu/drm/i915/i915_drv.h            |   2 +
 drivers/gpu/drm/i915/i915_gem.c            |  11 +-
 drivers/gpu/drm/i915/i915_gem_execbuffer.c |   9 ++
 drivers/gpu/drm/i915/i915_irq.c            | 151 +++++++++++++++++------
 drivers/gpu/drm/i915/i915_reg.h            | 148 ++++++++++++-----------
 drivers/gpu/drm/i915/intel_pm.c            |  12 +-
 drivers/gpu/drm/i915/intel_ringbuffer.c    | 187 +++++++++++++++++++++--------
 drivers/gpu/drm/i915/intel_ringbuffer.h    |  13 +-
 include/uapi/drm/i915_drm.h                |   3 +-
 12 files changed, 385 insertions(+), 169 deletions(-)

-- 
1.8.2.1

^ permalink raw reply	[flat|nested] 84+ messages in thread
* [PATCH 00/18] [RFC] Introduce the Haswell VECS
@ 2012-11-06 16:25 Ben Widawsky
  2012-11-06 16:25 ` [PATCH 02/18] drm/i915: Semaphore MBOX update generalization Ben Widawsky
  0 siblings, 1 reply; 84+ messages in thread
From: Ben Widawsky @ 2012-11-06 16:25 UTC (permalink / raw)
  To: intel-gfx; +Cc: Ben Widawsky

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

^ permalink raw reply	[flat|nested] 84+ messages in thread

end of thread, other threads:[~2013-05-31 20:08 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-04-28  0:59 [PATCH 00/18] Introduce the Haswell VECS Ben Widawsky
2013-04-28  0:59 ` [PATCH 01/18] drm/i915: Comments for semaphore clarification Ben Widawsky
2013-05-07 13:54   ` Damien Lespiau
2013-05-07 16:51     ` Ben Widawsky
2013-05-07 17:00       ` Ben Widawsky
2013-04-28  0:59 ` [PATCH 02/18] drm/i915: Semaphore MBOX update generalization Ben Widawsky
2013-05-07 15:34   ` Damien Lespiau
2013-05-08  5:17     ` Ben Widawsky
2013-04-28  0:59 ` [PATCH 03/18] drm/i915: Introduce VECS: the 4th ring Ben Widawsky
2013-05-07 15:35   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 04/18] drm/i915: Add VECS semaphore bits Ben Widawsky
2013-05-07 14:49   ` Damien Lespiau
2013-05-08  5:59     ` Ben Widawsky
2013-04-28  0:59 ` [PATCH 05/18] drm/i915: Rename ring flush functions Ben Widawsky
2013-05-07 17:28   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 06/18] drm/i915: add HAS_VEBOX Ben Widawsky
2013-05-07 14:59   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 07/18] drm/i915: Vebox ringbuffer init Ben Widawsky
2013-05-07 17:16   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 08/18] drm/i915: Create a more generic pm handler for hsw+ Ben Widawsky
2013-05-28 13:00   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 09/18] drm/i915: make PM interrupt writes non-destructive Ben Widawsky
2013-05-28 13:30   ` Damien Lespiau
2013-05-28 18:02     ` Ben Widawsky
2013-04-28  0:59 ` [PATCH 10/18] drm/i915: Create an ivybridge_irq_preinstall Ben Widawsky
2013-05-28 13:37   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 11/18] drm/i915: Add PM regs to pre install Ben Widawsky
2013-05-28 13:38   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 12/18] drm/i915: Convert irq_refounct to struct Ben Widawsky
2013-05-28 13:40   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 13/18] drm/i915: consolidate interrupt naming scheme Ben Widawsky
2013-05-28 14:01   ` Damien Lespiau
2013-05-28 18:50     ` Ben Widawsky
2013-05-29 15:51       ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 14/18] drm/i915: vebox interrupt get/put Ben Widawsky
2013-05-28 14:38   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 15/18] drm/i915: Enable vebox interrupts Ben Widawsky
2013-05-28 14:52   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 16/18] drm/i915: add VEBOX into debugfs Ben Widawsky
2013-05-28 15:06   ` Damien Lespiau
2013-05-28 18:44     ` Ben Widawsky
2013-04-28  0:59 ` [PATCH 17/18] drm/i915: add I915_EXEC_VEBOX to i915_gem_do_execbuffer() Ben Widawsky
2013-05-28 15:08   ` Damien Lespiau
2013-04-28  0:59 ` [PATCH 18/18] drm/i915: add I915_PARAM_HAS_VEBOX to i915_getparam Ben Widawsky
2013-05-28 15:10   ` Damien Lespiau
2013-04-30 21:25 ` [PATCH 00/18] Introduce the Haswell VECS Jesse Barnes
2013-05-08  6:13 ` Ben Widawsky
2013-05-09  9:07   ` Li, Zhong
2013-05-29  2:22 ` [PATCH 00/18] Introduce the Haswell VECS v2 Ben Widawsky
2013-05-29  2:22   ` [PATCH 01/18] [v2] drm/i915: Comments for semaphore clarification Ben Widawsky
2013-05-29 16:02     ` Damien Lespiau
2013-05-29  2:22   ` [PATCH 02/18] drm/i915: Semaphore MBOX update generalization Ben Widawsky
2013-05-29 16:05     ` Damien Lespiau
2013-05-29  2:22   ` [PATCH 03/18] drm/i915: Introduce VECS: the 4th ring Ben Widawsky
2013-05-29 19:10     ` Daniel Vetter
2013-05-29  2:22   ` [PATCH 04/18] [v2] drm/i915: Add VECS semaphore bits Ben Widawsky
2013-05-29 16:06     ` Damien Lespiau
2013-05-29  2:22   ` [PATCH 05/18] drm/i915: Rename ring flush functions Ben Widawsky
2013-05-29  2:22   ` [PATCH 06/18] drm/i915: add HAS_VEBOX Ben Widawsky
2013-05-29  2:22   ` [PATCH 07/18] [v2] drm/i915: Vebox ringbuffer init Ben Widawsky
2013-05-29  2:22   ` [PATCH 08/18] drm/i915: Create a more generic pm handler for hsw+ Ben Widawsky
2013-05-29 19:19     ` Daniel Vetter
2013-05-31 18:25       ` Daniel Vetter
2013-05-29  2:22   ` [PATCH 09/18] [v2] drm/i915: Create an ivybridge_irq_preinstall Ben Widawsky
2013-05-29 16:23     ` Damien Lespiau
2013-05-29 19:48       ` Daniel Vetter
2013-05-29  2:22   ` [PATCH 10/18] [v2] drm/i915: Add PM regs to pre/post install Ben Widawsky
2013-05-29 17:04     ` Damien Lespiau
2013-05-29  2:22   ` [PATCH 11/18] [v5] drm/i915: make PM interrupt writes non-destructive Ben Widawsky
2013-05-29 17:02     ` Damien Lespiau
2013-05-29  2:22   ` [PATCH 12/18] drm/i915: Convert irq_refounct to struct Ben Widawsky
2013-05-29  2:22   ` [PATCH 13/18] [v2] drm/i915: consolidate interrupt naming scheme Ben Widawsky
2013-05-29  2:22   ` [PATCH 14/18] [v2] drm/i915: vebox interrupt get/put Ben Widawsky
2013-05-29  2:22   ` [PATCH 15/18] [v3] drm/i915: Enable vebox interrupts Ben Widawsky
2013-05-29  2:22   ` [PATCH 16/18] [v2] drm/i915: add VEBOX into debugfs Ben Widawsky
2013-05-29 16:22     ` [PATCH 16/18] [v3] " Ben Widawsky
2013-05-29 16:44       ` Damien Lespiau
2013-05-29  2:22   ` [PATCH 17/18] drm/i915: add I915_EXEC_VEBOX to i915_gem_do_execbuffer() Ben Widawsky
2013-05-29  2:22   ` [PATCH 18/18] drm/i915: add I915_PARAM_HAS_VEBOX to i915_getparam Ben Widawsky
2013-05-31 18:52     ` Daniel Vetter
2013-05-31 19:52       ` Ben Widawsky
2013-05-31 20:08         ` Daniel Vetter
  -- strict thread matches above, loose matches on Subject: below --
2012-11-06 16:25 [PATCH 00/18] [RFC] Introduce the Haswell VECS Ben Widawsky
2012-11-06 16:25 ` [PATCH 02/18] drm/i915: Semaphore MBOX update generalization Ben Widawsky
2012-11-07 14:00   ` Jani Nikula

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.