Message ID | 20190919195311.13972-1-gwan-gyeong.mun@intel.com (mailing list archive) |
---|---|
Headers | show |
Series | drm/i915/dp: Support for DP HDR outputs | expand |
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
On Fri, Sep 20, 2019 at 07:06:27PM +0300, Ville Syrjälä wrote: > 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. The remainder of the series pushed to 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