drm/i915: Split intel_attach_colorspace_property() into HDMI vs. DP variants
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. Cc: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Uma Shankar <uma.shankar@intel.com> Signed-off-by: Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20201130204738.2443-8-uma.shankar@intel.com
This commit is contained in:
parent
b983675709
commit
174da987bc
|
@ -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;
|
||||
}
|
||||
|
||||
drm_object_attach_property(&connector->base,
|
||||
connector->colorspace_property, 0);
|
||||
if (!drm_mode_create_hdmi_colorspace_property(connector))
|
||||
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);
|
||||
}
|
||||
|
|
|
@ -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__ */
|
||||
|
|
|
@ -7193,7 +7193,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 (intel_bios_is_lspcon_present(dev_priv, port))
|
||||
drm_connector_attach_content_type_property(connector);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue