[v9 00/13] Add HDR Metadata Parsing and handling in DRM layer

Jonas Karlman jonas at kwiboo.se
Sun May 12 20:12:16 UTC 2019


On 2019-05-08 20:38, Uma Shankar wrote:
> 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.
>
> Note: This 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

I have now re-tested this v9 series (non i915 parts) on Rockchip RK3328/RK3399 using Kodi HDR PR [1] and dw-hdmi patch [2].
Kodi sets the HDR output metadata property with metadata retrieved from FFmpeg, my LG OLED B7 correctly activates/deactivates HDR/HLG mode depending on video file played.

[1] https://github.com/xbmc/xbmc/pull/16103
[2] https://github.com/Kwiboo/linux-rockchip/commit/a9ccea6d3d51001f6b4ab9a1fb600a38e517b9ce

There is still a few minor nits, comment param name do not match function/field and ugly logging,
please see [3] for fixups, please feel free to squash/fixup.

[3] https://github.com/Kwiboo/linux-rockchip/compare/a9ccea6d3d51001f6b4ab9a1fb600a38e517b9ce...rockchip-5.1-libreelec-hdr-v5.1

For non-i915 drm patches:

Tested-by: Jonas Karlman <jonas at kwiboo.se>

Regards,
Jonas

>
> Jonas Karlman (1):
>   drm: Add reference counting on HDR metadata blob
>
> Uma Shankar (10):
>   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: Set Infoframe for non modeset case for HDR
>   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                | 101 +++++++++++++
>  drivers/gpu/drm/i915/i915_reg.h           |   4 +
>  drivers/gpu/drm/i915/intel_atomic.c       |  14 +-
>  drivers/gpu/drm/i915/intel_ddi.c          |  17 +++
>  drivers/gpu/drm/i915/intel_display.c      |   1 +
>  drivers/gpu/drm/i915/intel_drv.h          |   1 +
>  drivers/gpu/drm/i915/intel_hdmi.c         | 100 ++++++++++++-
>  drivers/video/hdmi.c                      | 240 ++++++++++++++++++++++++++++++
>  include/drm/drm_connector.h               |  11 ++
>  include/drm/drm_edid.h                    |   5 +
>  include/drm/drm_mode_config.h             |   6 +
>  include/linux/hdmi.h                      |  55 +++++++
>  include/uapi/drm/drm_mode.h               |  23 +++
>  17 files changed, 598 insertions(+), 7 deletions(-)
>



More information about the dri-devel mailing list