On Tue, 24 May 2022 14:33:20 -0400
Harry Wentland <harry.wentl...@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.wentl...@amd.com>
> Cc: ppaala...@gmail.com
> Cc: sebastian.w...@redhat.com
> Cc: vpros...@amd.com
> Cc: Uma Shankar <uma.shan...@intel.com>

Acked-by: Pekka Paalanen <pekka.paala...@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)

Attachment: pgpX300JjH4Vt.pgp
Description: OpenPGP digital signature

Reply via email to