[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