> -----Original Message----- > From: Ville Syrjala <ville.syrjala@xxxxxxxxxxxxxxx> > Sent: Thursday, November 26, 2020 10:41 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Shankar, Uma <uma.shankar@xxxxxxxxx> > Subject: [PATCH] drm/i915: Split intel_attach_colorspace_property() into HDMI > vs. DP variants > > From: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > > With LSPCON we use the AVI infoframe to convey the colorimetry information (as > opposed to DP MSA/SDP), so the property we expose should match the values > we can stuff into the infoframe. Ie. we must use the HDMI variant of the > property, even though we drive LSPCON in PCON mode. To that end just split > intel_attach_colorspace_property() into HDMI and DP variants and let the caller > worry about which one it wants to use. Thanks Ville for this change. Reviewed-by: Uma Shankar <uma.shankar@xxxxxxxxx> > Cc: Uma Shankar <uma.shankar@xxxxxxxxx> > Signed-off-by: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx> > --- > .../gpu/drm/i915/display/intel_connector.c | 29 +++++++------------ > .../gpu/drm/i915/display/intel_connector.h | 3 +- > drivers/gpu/drm/i915/display/intel_dp.c | 2 +- > drivers/gpu/drm/i915/display/intel_hdmi.c | 2 +- > 4 files changed, 15 insertions(+), 21 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_connector.c > b/drivers/gpu/drm/i915/display/intel_connector.c > index 406e96785c76..d5ceb7bdc14b 100644 > --- a/drivers/gpu/drm/i915/display/intel_connector.c > +++ b/drivers/gpu/drm/i915/display/intel_connector.c > @@ -279,24 +279,17 @@ intel_attach_aspect_ratio_property(struct > drm_connector *connector) } > > void > -intel_attach_colorspace_property(struct drm_connector *connector) > +intel_attach_hdmi_colorspace_property(struct drm_connector *connector) > { > - switch (connector->connector_type) { > - case DRM_MODE_CONNECTOR_HDMIA: > - case DRM_MODE_CONNECTOR_HDMIB: > - if (drm_mode_create_hdmi_colorspace_property(connector)) > - return; > - break; > - case DRM_MODE_CONNECTOR_DisplayPort: > - case DRM_MODE_CONNECTOR_eDP: > - if (drm_mode_create_dp_colorspace_property(connector)) > - return; > - break; > - default: > - MISSING_CASE(connector->connector_type); > - return; > - } > + if (!drm_mode_create_hdmi_colorspace_property(connector)) > + drm_object_attach_property(&connector->base, > + connector->colorspace_property, 0); } > > - drm_object_attach_property(&connector->base, > - connector->colorspace_property, 0); > +void > +intel_attach_dp_colorspace_property(struct drm_connector *connector) { > + if (!drm_mode_create_dp_colorspace_property(connector)) > + drm_object_attach_property(&connector->base, > + connector->colorspace_property, 0); > } > diff --git a/drivers/gpu/drm/i915/display/intel_connector.h > b/drivers/gpu/drm/i915/display/intel_connector.h > index 93a7375c8196..661a37a3c6d8 100644 > --- a/drivers/gpu/drm/i915/display/intel_connector.h > +++ b/drivers/gpu/drm/i915/display/intel_connector.h > @@ -30,6 +30,7 @@ int intel_ddc_get_modes(struct drm_connector *c, struct > i2c_adapter *adapter); void intel_attach_force_audio_property(struct > drm_connector *connector); void intel_attach_broadcast_rgb_property(struct > drm_connector *connector); void intel_attach_aspect_ratio_property(struct > drm_connector *connector); -void intel_attach_colorspace_property(struct > drm_connector *connector); > +void intel_attach_hdmi_colorspace_property(struct drm_connector > +*connector); void intel_attach_dp_colorspace_property(struct > +drm_connector *connector); > > #endif /* __INTEL_CONNECTOR_H__ */ > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index 3896d08c4177..0723246f1b19 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -7175,7 +7175,7 @@ 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_colorspace_property(connector); > + 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_hdmi.c > b/drivers/gpu/drm/i915/display/intel_hdmi.c > index 82674a8853c6..061534e71f14 100644 > --- a/drivers/gpu/drm/i915/display/intel_hdmi.c > +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c > @@ -2963,7 +2963,7 @@ intel_hdmi_add_properties(struct intel_hdmi > *intel_hdmi, struct drm_connector *c > * as well. Will be implemented separately. > */ > if (!dig_port->lspcon.active) > - intel_attach_colorspace_property(connector); > + intel_attach_hdmi_colorspace_property(connector); > > drm_connector_attach_content_type_property(connector); > > -- > 2.26.2 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx