Skip to content
Snippets Groups Projects
  1. May 28, 2024
  2. Mar 07, 2023
    • Harry Wentland's avatar
      drm/display: Don't block HDR_OUTPUT_METADATA on unknown EOTF · e5eef23e
      Harry Wentland authored
      The EDID of an HDR display defines EOTFs that are supported
      by the display and can be set in the HDR metadata infoframe.
      Userspace is expected to read the EDID and set an appropriate
      HDR_OUTPUT_METADATA.
      
      In drm_parse_hdr_metadata_block the kernel reads the supported
      EOTFs from the EDID and stores them in the
      drm_connector->hdr_sink_metadata. While doing so it also
      filters the EOTFs to the EOTFs the kernel knows about.
      When an HDR_OUTPUT_METADATA is set it then checks to
      make sure the EOTF is a supported EOTF. In cases where
      the kernel doesn't know about a new EOTF this check will
      fail, even if the EDID advertises support.
      
      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.
      
      Bug: https://gitlab.freedesktop.org/wayland/weston/-/issues/609
      
      
      
      v2: Distinguish EOTFs defind in kernel and ones defined
          in EDID in the commit description (Pekka)
      
      v3: Rebase; drm_hdmi_infoframe_set_hdr_metadata moved
          to drm_hdmi_helper.c
      
      Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Cc: Pekka Paalanen <ppaalanen@gmail.com>
      Cc: Sebastian Wick <sebastian.wick@redhat.com>
      Cc: Vitaly.Prosyak@amd.com
      Cc: Uma Shankar <uma.shankar@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Joshua Ashton <joshua@froggi.es>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: amd-gfx@lists.freedesktop.org
      Acked-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      Reviewed-By: default avatarJoshua Ashton <joshua@froggi.es>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230113162428.33874-2-harry.wentland@amd.com
      
      
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      Cc: stable@vger.kernel.org
      e5eef23e
  3. Mar 06, 2023
    • Harry Wentland's avatar
      drm/display: Don't block HDR_OUTPUT_METADATA on unknown EOTF · 2f60eded
      Harry Wentland authored
      The EDID of an HDR display defines EOTFs that are supported
      by the display and can be set in the HDR metadata infoframe.
      Userspace is expected to read the EDID and set an appropriate
      HDR_OUTPUT_METADATA.
      
      In drm_parse_hdr_metadata_block the kernel reads the supported
      EOTFs from the EDID and stores them in the
      drm_connector->hdr_sink_metadata. While doing so it also
      filters the EOTFs to the EOTFs the kernel knows about.
      When an HDR_OUTPUT_METADATA is set it then checks to
      make sure the EOTF is a supported EOTF. In cases where
      the kernel doesn't know about a new EOTF this check will
      fail, even if the EDID advertises support.
      
      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.
      
      Bug: https://gitlab.freedesktop.org/wayland/weston/-/issues/609
      
      
      
      v2: Distinguish EOTFs defind in kernel and ones defined
          in EDID in the commit description (Pekka)
      
      v3: Rebase; drm_hdmi_infoframe_set_hdr_metadata moved
          to drm_hdmi_helper.c
      
      Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Cc: Pekka Paalanen <ppaalanen@gmail.com>
      Cc: Sebastian Wick <sebastian.wick@redhat.com>
      Cc: Vitaly.Prosyak@amd.com
      Cc: Uma Shankar <uma.shankar@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Joshua Ashton <joshua@froggi.es>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: amd-gfx@lists.freedesktop.org
      Acked-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      Reviewed-By: default avatarJoshua Ashton <joshua@froggi.es>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230113162428.33874-2-harry.wentland@amd.com
      
      
      Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
      2f60eded
  4. Feb 27, 2023
    • Harry Wentland's avatar
      drm/display: Don't block HDR_OUTPUT_METADATA on unknown EOTF · 59466fe9
      Harry Wentland authored
      The EDID of an HDR display defines EOTFs that are supported
      by the display and can be set in the HDR metadata infoframe.
      Userspace is expected to read the EDID and set an appropriate
      HDR_OUTPUT_METADATA.
      
      In drm_parse_hdr_metadata_block the kernel reads the supported
      EOTFs from the EDID and stores them in the
      drm_connector->hdr_sink_metadata. While doing so it also
      filters the EOTFs to the EOTFs the kernel knows about.
      When an HDR_OUTPUT_METADATA is set it then checks to
      make sure the EOTF is a supported EOTF. In cases where
      the kernel doesn't know about a new EOTF this check will
      fail, even if the EDID advertises support.
      
      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.
      
      Bug: https://gitlab.freedesktop.org/wayland/weston/-/issues/609
      
      
      
      v2: Distinguish EOTFs defind in kernel and ones defined
          in EDID in the commit description (Pekka)
      
      v3: Rebase; drm_hdmi_infoframe_set_hdr_metadata moved
          to drm_hdmi_helper.c
      
      Signed-off-by: default avatarHarry Wentland <harry.wentland@amd.com>
      Cc: Pekka Paalanen <ppaalanen@gmail.com>
      Cc: Sebastian Wick <sebastian.wick@redhat.com>
      Cc: Vitaly.Prosyak@amd.com
      Cc: Uma Shankar <uma.shankar@intel.com>
      Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
      Cc: Joshua Ashton <joshua@froggi.es>
      Cc: Jani Nikula <jani.nikula@linux.intel.com>
      Cc: dri-devel@lists.freedesktop.org
      Cc: amd-gfx@lists.freedesktop.org
      Acked-by: default avatarPekka Paalanen <pekka.paalanen@collabora.com>
      Reviewed-By: default avatarJoshua Ashton <joshua@froggi.es>
      Link: https://patchwork.freedesktop.org/patch/msgid/20230113162428.33874-2-harry.wentland@amd.com
      59466fe9
  5. Apr 25, 2022
Loading