On Tue, 24 May 2022 14:33:20 -0400 Harry Wentland <harry.wentland@xxxxxxx> 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@xxxxxxx> > Cc: ppaalanen@xxxxxxxxx > Cc: sebastian.wick@xxxxxxxxxx > Cc: vprosyak@xxxxxxx > Cc: Uma Shankar <uma.shankar@xxxxxxxxx> Acked-by: Pekka Paalanen <pekka.paalanen@xxxxxxxxxxxxx> 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:
pgp791StBq74R.pgp
Description: OpenPGP digital signature