Re: [PATCH v3 09/17] drm/amd/display: Register Colorspace property for DP and HDMI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 7 Mar 2023 10:10:59 -0500
Harry Wentland <harry.wentland@xxxxxxx> wrote:

> We want compositors to be able to set the output
> colorspace on DP and HDMI outputs, based on the
> caps reported from the receiver via EDID.
> 
> Signed-off-by: Harry Wentland <harry.wentland@xxxxxxx>
> Cc: Pekka Paalanen <ppaalanen@xxxxxxxxx>
> Cc: Sebastian Wick <sebastian.wick@xxxxxxxxxx>
> Cc: Vitaly.Prosyak@xxxxxxx
> Cc: Joshua Ashton <joshua@xxxxxxxxx>
> Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx
> Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx
> Reviewed-By: Joshua Ashton <joshua@xxxxxxxxx>
> ---
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
> 
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index f91b2ea13d96..2d883c6dae90 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -7184,6 +7184,12 @@ static int amdgpu_dm_connector_get_modes(struct drm_connector *connector)
>  	return amdgpu_dm_connector->num_modes;
>  }
>  
> +static const u32 supported_colorspaces =
> +	BIT(DRM_MODE_COLORIMETRY_BT709_YCC) |
> +	BIT(DRM_MODE_COLORIMETRY_OPRGB) |
> +	BIT(DRM_MODE_COLORIMETRY_BT2020) |
> +	BIT(DRM_MODE_COLORIMETRY_BT2020_DEPRECATED);

No DEFAULT?
No BT.709 RGB, i.e. sRGB?

Doesn't DRM core reject enum uint values that are not listed in the enum
property?


Thanks,
pq

> +
>  void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
>  				     struct amdgpu_dm_connector *aconnector,
>  				     int connector_type,
> @@ -7264,6 +7270,15 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
>  				adev->mode_info.abm_level_property, 0);
>  	}
>  
> +	if (connector_type == DRM_MODE_CONNECTOR_HDMIA) {
> +		if (!drm_mode_create_hdmi_colorspace_property(&aconnector->base, supported_colorspaces))
> +			drm_connector_attach_colorspace_property(&aconnector->base);
> +	} else if (connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
> +		   connector_type == DRM_MODE_CONNECTOR_eDP) {
> +		if (!drm_mode_create_dp_colorspace_property(&aconnector->base, supported_colorspaces))
> +			drm_connector_attach_colorspace_property(&aconnector->base);
> +	}
> +
>  	if (connector_type == DRM_MODE_CONNECTOR_HDMIA ||
>  	    connector_type == DRM_MODE_CONNECTOR_DisplayPort ||
>  	    connector_type == DRM_MODE_CONNECTOR_eDP) {

Attachment: pgp6yy_Fh7iQM.pgp
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux