[Intel-gfx] [PATCH 0/6] Add uAPI to support ICL VME hardware for new media-driver

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Tue Jan 15 14:47:27 UTC 2019


Hi all,

I would like to have some Acked-by's from you, the distro media
folks Cc'd here, to document your intent to start using Intel's
new media driver[1]. So if you recognize yourself (or are otherwise
interested), please read on.

TL;DR Distro folks, please give your Acked-by on patch [5/6]

I believe most are already aware of the situation that Intel
is moving to the new codebase for libva backend to support new Intel
integrated graphics devices. The existing intel-libva-driver will
be continue to be be supported for pre-Icelake platforms (<Gen11).
Icelake and further platforms will only be supported from the
new codebase.

There's the complication that some Icelake features of the new
driver will require new kernel uAPIs to work... But the new driver
has not yet been well-established in the community from perspective
of fulfilling [2]. This is very much due to the demand being low
as Icelake is not widely available yet. So it's bit of a chicken
and egg problem as we have a new platform *and* a new codebase for
it simultaneously.

Ahead of that community adoption, to ensure that Icelake has good
kernel support from day one, we'd like to merge kernel support for
the parts that have functional effect (this series). This is to
avoid the scenario where end users have to update their distro
kernels, like happened with Skylake.

So if I could get Acked-by's from distro folks on the patch [5/6] that
adds the new uAPI. That would document their intent to become an active
user of the media-driver[1]. If that happens in the next week or two,
it would mean that Icelake hardware features would be supported in
kernel version 5.1 fully from kernel driver point of view.

The new uAPI is needed to make VME feature functionally work
on Icelake. It's pretty much a simple enable/disable switch for
hardware configuration that only includes hardware slices compatible
with the VME workload. So it's currently limited to the required on/off
choice to keep things straightforward. The uAPI can be extended in the
future for possible performance gains for more fine-grained control.

VME is shared function to handle motion estimation. One intended
usercase is in Hierarchical Motion Estimation (HME) media kernel. It
provides a bigger search range with reduced cost for the search. HME
should improve the encode quality with scenarios where the video has
a lot of motion in it. Carl (Cc'd) can provide more details if needed.

The respective IGT tests are reviewed and can be found at:

  https://patchwork.freedesktop.org/series/49190/

The userspace changes are reviewed and rebased here:

  https://github.com/intel/media-driver/pull/271
  https://github.com/intel/media-driver/pull/463

Best Regards, Joonas Lahtinen

Cc: dri-devel at lists.freedesktop.org
Cc: Timo Aaltonen <timo.aaltonen at canonical.com>
Cc: Takashi Iwai <tiwai at suse.de>
Cc: Stephane Marchesin <stephane.marchesin at gmail.com>
Cc: Dave Airlie <airlied at redhat.com>
Cc: Daniel Vetter <daniel at ffwll.ch>

PS. This series might result in some CI failures reported as it adds new uAPI
    and Patchwork / CI synchronization of tests and kernel is currently WIP.

[1] https://github.com/intel/media-driver
[2] https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-uapi.html#open-source-userspace-requirements

Lionel Landwerlin (2):
  drm/i915: Record the sseu configuration per-context & engine
  drm/i915/perf: lock powergating configuration to default when active

Tvrtko Ursulin (4):
  drm/i915/execlists: Move RPCS setup to context pin
  drm/i915: Add timeline barrier support
  drm/i915: Expose RPCS (SSEU) configuration to userspace (Gen11 only)
  drm/i915/selftests: Context SSEU reconfiguration tests

 drivers/gpu/drm/i915/i915_drv.h               |  14 +
 drivers/gpu/drm/i915/i915_gem_context.c       | 354 ++++++++++++-
 drivers/gpu/drm/i915/i915_gem_context.h       |  10 +
 drivers/gpu/drm/i915/i915_perf.c              |  13 +-
 drivers/gpu/drm/i915/i915_request.c           |  13 +
 drivers/gpu/drm/i915/i915_request.h           |  10 +
 drivers/gpu/drm/i915/i915_timeline.c          |   3 +
 drivers/gpu/drm/i915/i915_timeline.h          |  27 +
 drivers/gpu/drm/i915/intel_lrc.c              | 100 ++--
 drivers/gpu/drm/i915/intel_lrc.h              |   2 +
 .../gpu/drm/i915/selftests/i915_gem_context.c | 481 ++++++++++++++++++
 .../gpu/drm/i915/selftests/mock_timeline.c    |   2 +
 include/uapi/drm/i915_drm.h                   |  64 +++
 13 files changed, 1056 insertions(+), 37 deletions(-)

-- 
2.17.2



More information about the Intel-gfx mailing list