On Fri, Nov 27, 2020 at 07:58:20PM +0530, Uma Shankar wrote: > Enable HDMI Colorspace for LSPCON based devices. Sending Colorimetry > data for HDR using AVI infoframe. LSPCON firmware expects this and though > SOC drives DP, for HDMI panel AVI infoframe is sent to the LSPCON device > which transfers the same to HDMI sink. > > v2: Dropped state managed in drm core as per Jani Nikula's suggestion. > > v3: Aligned colorimetry handling for lspcon as per compute_avi_infoframes, > as suggested by Ville. > > v4: Finally fixed this with Ville's help, re-phrased the commit header > and description. > > v5: Register HDMI colorspace for lspcon and move this to > intel_dp_add_properties as we can't create property at late_register. > > Credits-to: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > Signed-off-by: Uma Shankar <uma.shankar@xxxxxxxxx> Reviewed-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_dp.c | 9 ++++++--- > drivers/gpu/drm/i915/display/intel_lspcon.c | 3 +++ > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c > index f066031af162..21a0ca6ae2a6 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -7193,10 +7193,13 @@ intel_dp_add_properties(struct intel_dp *intel_dp, struct drm_connector *connect > else if (INTEL_GEN(dev_priv) >= 5) > drm_connector_attach_max_bpc_property(connector, 6, 12); > > - intel_attach_dp_colorspace_property(connector); > - > - if (intel_bios_is_lspcon_present(dev_priv, port)) > + /* Register HDMI colorspace for case of lspcon */ > + if (intel_bios_is_lspcon_present(dev_priv, port)) { > drm_connector_attach_content_type_property(connector); > + intel_attach_hdmi_colorspace_property(connector); > + } else { > + intel_attach_dp_colorspace_property(connector); > + } > > if (IS_GEMINILAKE(dev_priv) || INTEL_GEN(dev_priv) >= 11) > drm_object_attach_property(&connector->base, > diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c > index 0a4c05d67108..cb768a1ae4c9 100644 > --- a/drivers/gpu/drm/i915/display/intel_lspcon.c > +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c > @@ -523,6 +523,9 @@ void lspcon_set_infoframes(struct intel_encoder *encoder, > else > frame.avi.colorspace = HDMI_COLORSPACE_RGB; > > + /* Set the Colorspace as per the HDMI spec */ > + drm_hdmi_avi_infoframe_colorspace(&frame.avi, conn_state); > + > /* nonsense combination */ > drm_WARN_ON(encoder->base.dev, crtc_state->limited_color_range && > crtc_state->output_format != INTEL_OUTPUT_FORMAT_RGB); > -- > 2.26.2 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx