[v10 00/12] Add HDR Metadata Parsing and handling in DRM layer

Uma Shankar
2019-05-14T17:36:22Z

This patch series enables HDR support in drm. It basically defines
HDR metadata structures, property to pass content (after blending)
metadata from user space compositors to driver.

Dynamic Range and Mastering infoframe creation and sending.

ToDo:
1. We need to get the color framework in place for all planes
which support HDR content in hardware. This is already in progres
and patches are out for review in mailing list.
2. UserSpace/Compositors: Blending policies and metadata blob
creation and passing to driver. Work is already in progress
by Intel's middleware teams on wayland and the patches for
the same are in review.

A POC has already been developed by Ville based on wayland. Please refer
below link to see the component interactions and usage:
https://lists.freedesktop.org/archives/wayland-devel/2017-December/036403.html

v2: Updated Ville's POC changes to the patch series.Incorporated cleanups
and fixes from Ville. Rebase on latest drm-tip.

v3: Fixed a warning causing builds to break on CI. No major change.

v4: Addressed Shashank's review comments.

v5: Rebase on top of Ville's infoframe refactoring changes. Fixed non modeset
case for HDR metadata update. Dropped a redundant patch.

v6: Addressed Shashank's review comments and added RB's received.

v7: Squashed 2 patches, dropped 1 change and addressed Brian Starkey's and
Shashank's review comments.

v8: Addressed Jonas Karlman review comments. Added Shashank's RB to the series,
fixed a WARN_ON on BYT/CHT.

v9: Addressed Ville and Jonas Karlman's review comments. Added the infoframe
state readout and metadata reference count.

v10: Addressed review comments from Jonas and Ville. Dropped one patch related
to i915 fastset handling as per Ville's feedback.

Note: v9 version is already tested with Kodi and a confirmation from team kodi has been
received. Branch details for the same as below:
https://github.com/xbmc/xbmc/tree/feature_drmprime-vaapi

v9 of this series is:
Tested-by: Jonas Karlman <jonas@kwiboo.se>

Jonas Karlman (1):
drm: Add reference counting on HDR metadata blob

Uma Shankar (9):
drm: Add HDR source metadata property
drm: Parse HDR metadata info from EDID
drm: Enable HDR infoframe support
drm/i915: Attach HDR metadata property to connector
drm/i915: Write HDR infoframe and send to panel
drm/i915:Enabled Modeset when HDR Infoframe changes
drm/i915: Added DRM Infoframe handling for BYT/CHT
video/hdmi: Add Unpack function for DRM infoframe
drm/i915: Add state readout for DRM infoframe

Ville Syrjälä (2):
drm: Add HLG EOTF
drm/i915: Enable infoframes on GLK+ for HDR

drivers/gpu/drm/drm_atomic.c | 2 +
drivers/gpu/drm/drm_atomic_state_helper.c | 6 +
drivers/gpu/drm/drm_atomic_uapi.c | 13 ++
drivers/gpu/drm/drm_connector.c | 6 +
drivers/gpu/drm/drm_edid.c | 93 +++++++++++
drivers/gpu/drm/i915/i915_reg.h | 4 +
drivers/gpu/drm/i915/intel_atomic.c | 14 +-
drivers/gpu/drm/i915/intel_ddi.c | 4 +
drivers/gpu/drm/i915/intel_display.c | 1 +
drivers/gpu/drm/i915/intel_drv.h | 1 +
drivers/gpu/drm/i915/intel_hdmi.c | 83 +++++++++-
drivers/video/hdmi.c | 257 ++++++++++++++++++++++++++++++
include/drm/drm_connector.h | 11 ++
include/drm/drm_edid.h | 5 +
include/drm/drm_mode_config.h | 7 +
include/linux/hdmi.h | 55 +++++++
include/uapi/drm/drm_mode.h | 23 +++
17 files changed, 580 insertions(+), 5 deletions(-)

--
1.9.1