Reviewed-by: Alex Hung <[email protected]>

On 8/29/26 21:51, Satyajit Roy wrote:
[Some people who received this message don't often get email from 
[email protected]. Learn why this is important at 
https://aka.ms/LearnAboutSenderIdentification ]

From: Satyajit Roy <[email protected]>

The Broadcast RGB implementation currently has three gaps in the AMD
Display path:

   1. DM does not propagate the sink's RGB quantization-range
      selectability into DC, so the HDMI AVI InfoFrame Q field remains at
      its default value.
   2. BT.2020 RGB output is always selected as full range, so an explicit
      Limited setting has no effect in HDR modes using BT.2020 RGB.
   3. A property-only range transition updates the output CSC but does not
      rebuild and program the InfoFrame, leaving the sink with stale range
      signaling.

Together these can make the transmitted pixel range and the range inferred
by a television's automatic black-level setting disagree.

Patch 1 propagates the EDID QS capability. Patch 2 honors Limited for
BT.2020 RGB and adds KUnit coverage for both BT.2020 connector colorspace
values. Patch 3 rebuilds InfoFrames whenever output_color_space changes.

Validation performed on amd-staging-drm-next at the base commit below:

   - scripts/checkpatch.pl --strict: no errors, warnings, or checks
   - x86_64 AMD Display KUnit configuration built with CONFIG_WERROR=y
   - new EDID-capability and BT.2020 quantization KUnit cases compiled

Equivalent changes were also tested on an HDMI 2.1 television with a
Valve Linux 7.2 kernel. The television's automatic black-level selection
followed Full-to-Limited and Limited-to-Full transitions in SDR, HDR, and
HDR with VRR active. No modeset or visible link blank was observed.

Satyajit Roy (3):
   drm/amd/display: Propagate HDMI RGB quantization selectability
   drm/amd/display: Honor Broadcast RGB for BT.2020 RGB output
   drm/amd/display: Rebuild InfoFrames on output color space changes

  .../display/amdgpu_dm/amdgpu_dm_connector.c   | 10 +++--
  .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c |  1 +
  .../tests/amdgpu_dm_connector_test.c          | 37 +++++++++++++++++++
  .../amdgpu_dm/tests/amdgpu_dm_helpers_test.c  |  2 +
  drivers/gpu/drm/amd/display/dc/core/dc.c      |  3 ++
  5 files changed, 50 insertions(+), 3 deletions(-)


base-commit: 75a5e1b6b3661c3f946885d01eebeb6b031035ef
--
2.51.1

Reply via email to