[PATCH] drm: Don't block HDR_OUTPUT_METADATA on unknown EOTF

Pekka Paalanen ppaalanen at gmail.com
Wed May 25 07:37:50 UTC 2022


On Tue, 24 May 2022 14:33:20 -0400
Harry Wentland <harry.wentland at amd.com> wrote:

> The supported EOTFs are defined in eotf_supported in drm_edid
> but userspace has no way of knowing what is and isn't supported
> when creating an HDR_OUTPUT_METADATA and will only know
> something is wrong when the atomic commit fails.

Hi Harry,

maybe clarify here the two different sets of "supported": EDID data vs.
kernel code? I think the paragraph uses the same word for both meanings.

> 
> Since it is expected that userspace reads the EDID to understand
> what the display supports it doesn't make sense for DRM to block
> an HDR_OUTPUT_METADATA if it contains an EOTF the kernel doesn't
> understand.
> 
> This comes with the added benefit of future-proofing metadata
> support. If the spec defines a new EOTF there is no need to
> update DRM and an compositor can immediately make use of it.
> 
> Fixes: https://gitlab.freedesktop.org/wayland/weston/-/issues/609
> 
> Signed-off-by: Harry Wentland <harry.wentland at amd.com>
> Cc: ppaalanen at gmail.com
> Cc: sebastian.wick at redhat.com
> Cc: vprosyak at amd.com
> Cc: Uma Shankar <uma.shankar at intel.com>

Acked-by: Pekka Paalanen <pekka.paalanen at collabora.com>


Thanks,
pq

> ---
>  drivers/gpu/drm/drm_edid.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
> index 12893e7be89b..223f96a72064 100644
> --- a/drivers/gpu/drm/drm_edid.c
> +++ b/drivers/gpu/drm/drm_edid.c
> @@ -5691,10 +5691,8 @@ drm_hdmi_infoframe_set_hdr_metadata(struct hdmi_drm_infoframe *frame,
>  
>  	/* Sink EOTF is Bit map while infoframe is absolute values */
>  	if (!is_eotf_supported(hdr_metadata->hdmi_metadata_type1.eotf,
> -	    connector->hdr_sink_metadata.hdmi_type1.eotf)) {
> -		DRM_DEBUG_KMS("EOTF Not Supported\n");
> -		return -EINVAL;
> -	}
> +	    connector->hdr_sink_metadata.hdmi_type1.eotf))
> +		DRM_DEBUG_KMS("Unknown EOTF %d\n", hdr_metadata->hdmi_metadata_type1.eotf);
>  
>  	err = hdmi_drm_infoframe_init(frame);
>  	if (err < 0)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/amd-gfx/attachments/20220525/58c6b6e4/attachment.sig>


More information about the amd-gfx mailing list