[PATCH v9 0/8] drm/i915/dp: Support for DP HDR outputs

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Sep 20 16:06:27 UTC 2019


On Thu, Sep 19, 2019 at 10:53:03PM +0300, Gwan-gyeong Mun wrote:
> Support for HDR10 video was introduced in DisplayPort 1.4.
> On GLK+ platform, in order to use DisplayPort HDR10, we need to support
> BT.2020 colorimetry and HDR Static metadata.
> It implements the CTA-861-G standard for transport of static HDR metadata.
> It enables writing of HDR metadata infoframe SDP to the panel.
> The HDR Metadata will be provided by userspace compositors, based on
> blending policies and passed to the driver through a blob property.
> And It refactors, renames and extends a function which handled vsc sdp
> header and data block setup for supporting colorimetry format.
> And It attaches the colorspace connector property and HDR metadata property
> to a DisplayPort connector.
> 
> These patches tested on below test environment.
> Test Environment:
>  - Tested System: GLK and Gen11 platform.
>  - Monitor: Dell UP2718Q 4K HDR Monitor.
>  - In order to test DP HDR10, test environment uses patched Kodi-gbm,
>    patched Media driver and HDR10 video.
> 
>    You can find these on below.
>    [patched Kodi-gbm]
>     - repo: https://github.com/Kwiboo/xbmc/tree/drmprime-hdr 
>    [download 4K HDR video file]
>     - link: https://4kmedia.org/lg-new-york-hdr-uhd-4k-demo/
>    [Media Driver for GLK]
>     - repo https://gitlab.freedesktop.org/emersion/intel-vaapi-driver
>   	  master branch
>    [Media Driver for ICL]
>     - repo: https://github.com/harishkrupo/media-driver/tree/p010_composite
> 
> v2:
>  - Add a missed blank line after function declaration.
>  - Remove useless parentheses.
>  - Minor style fix.
> 
> v3:
>  - Remove not handled return values from
>    intel_dp_setup_hdr_metadata_infoframe_sdp(). [Uma]
>  - Add handling of different register size for
>    HDMI_PACKET_TYPE_GAMUT_METADATA on hsw_dip_data_size() for each GEN
>    platforms [Uma]
>  - Add new colorimetry options for DP 1.4a spec. [Ville]
>  - Separate set of colorimetry enum values for DP. [Ville]
>  - In order to checking output format and output colorspace on
>    intel_dp_needs_vsc_sdp(), it passes entire intel_crtc_state stucture.[Ville]
>  - Remove a pointless variable. [Ville]
> 
> v4:
>  - Add additional comments to struct drm_prop_enum_list.
>  - Polishing an enum string of struct drm_prop_enum_list.
> 
> v5:
>  - Change definitions of DRM_MODE_COLORIMETRYs to follow HDMI prefix and
>    DP abbreviations.
>  - Add missed variables on dp_colorspaces.
>  - Fix typo. [Uma]
> 
> v6:
>  - Addressed review comments from Ilia and Ville
>    Split drm_mode_create_colorspace_property() to DP and HDMI connector.
>    Becasue between HDMI and DP have different colorspaces, it renames
>    drm_mode_create_colorspace_property() function to
>    drm_mode_create_hdmi_colorspace_property() function for HDMI connector.
>    And it adds drm_mode_create_dp_colorspace_property() function for
>    creating of DP colorspace property.
>    In order to apply changed and added drm api, i915 driver has channged.
> 
> v7:
>  - Fix typo [Jani Saarinen]
>  - Fix white space.
> 
> v8:
>  - Addressed review comments from Ville
>    Drop colorimetries which have another way to distinguish or which would
>    not be used.
> 
> v9:
>  - Addressed review comments from Ville
>  - Remove a duplicated output color space from intel_crtc_state.
>  - In order to handle colorspace of drm_connector_state, it moves a calling
>    of intel_ddi_set_pipe_settings() function into intel_ddi_pre_enable_dp()
>  - Split hunk into renaming and adding of code.
>  - Add a handling of drm_mode_create_dp_colorspace_property() to
>    intel_attach_colorspace_property(). 
>  - Add WARN_ON() when buffer size if larger than register size.
>  - Add BUILD_BUG_ON to check a changing of struct dp_sdp size.
>  - Change a passed size toward write_infoframe() for DP infoframe sdp
>    packet for HDR static metadata.
>    
> 
> Gwan-gyeong Mun (8):
>   drm/i915/dp: Extend program of VSC Header and DB for Colorimetry
>     Format
>   drm/i915/dp: Add support of BT.2020 Colorimetry to DP MSA
>   drm: Rename HDMI colorspace property creation function
>   drm: Add DisplayPort colorspace property creation function
>   drm/i915/dp: Attach colorspace property
>   drm/i915: Add new GMP register size for GEN11
>   drm/i915/dp: Program an Infoframe SDP Header and DB for HDR Static
>     Metadata
>   drm/i915/dp: Attach HDR metadata property to DP connector

Thanks. The series lgtm. I've pushed the core bits into drm-misc-next.
We can proceed with the rest once those make their way back into dinq.

> 
>  drivers/gpu/drm/drm_connector.c               | 101 +++++++--
>  .../gpu/drm/i915/display/intel_connector.c    |  21 +-
>  drivers/gpu/drm/i915/display/intel_ddi.c      |  17 +-
>  drivers/gpu/drm/i915/display/intel_ddi.h      |   3 +-
>  drivers/gpu/drm/i915/display/intel_display.c  |   1 -
>  drivers/gpu/drm/i915/display/intel_display.h  |   2 -
>  drivers/gpu/drm/i915/display/intel_dp.c       | 196 ++++++++++++++++--
>  drivers/gpu/drm/i915/display/intel_dp.h       |   8 +
>  drivers/gpu/drm/i915/display/intel_hdmi.c     |  12 +-
>  drivers/gpu/drm/i915/i915_reg.h               |   1 +
>  include/drm/drm_connector.h                   |   7 +-
>  11 files changed, 323 insertions(+), 46 deletions(-)
> 
> -- 
> 2.23.0

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list