> -----Original Message-----
> From: Ville Syrjala <ville.syrj...@linux.intel.com>
> Sent: Thursday, November 26, 2020 10:41 PM
> To: intel-gfx@lists.freedesktop.org
> Cc: Shankar, Uma <uma.shan...@intel.com>
> Subject: [PATCH] drm/i915: Split intel_attach_colorspace_property() into HDMI
> vs. DP variants
> 
> From: Ville Syrjälä <ville.syrj...@linux.intel.com>
> 
> 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.shan...@intel.com>

> Cc: Uma Shankar <uma.shan...@intel.com>
> Signed-off-by: Ville Syrjälä <ville.syrj...@linux.intel.com>
> ---
>  .../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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to