Public

Hi all,

This week this patchset was tested on 4 systems, two dGPU and two APU based, 
and tested across multiple display and connection types. This week was also the 
last promotion test ran on Ubuntu 24.04. There won't be any testing this week 
as we had a holiday this past Monday, so the first test on Ubuntu 26.04 will 
begin next week.

APU
        * Single Display eDP -> 1080p 60hz, 1920x1200 165hz, 3840x2400 60hz
        * Single Display DP (SST DSC) -> 4k144hz, 4k240hz
        * Multi display -> eDP + DP/HDMI/USB-C -> 1080p 60hz eDP + 4k 144hz, 4k 
240hz (Includes USB-C to DP/HDMI adapters)
        * Thunderbolt -> LG Ultrafine 5k
        * MST DSC -> Cable Matters 101075 (DP to 3x DP) with 3x 4k60hz 
displays, HP Hook G2 with 2x 4k60hz displays
        * USB 4 -> HP Hook G4, Lenovo Thunderbolt Dock, both with 2x 4k60hz DP 
and 1x 4k60hz HDMI displays
        * SST PCON -> Club3D CAC-1085 + 1x 4k 144hz, FRL3, at a max resolution 
supported by the dongle of 4k 120hz YUV420 12bpc.
        * MST PCON -> 1x 4k 144hz, FRL3, at a max resolution supported by the 
adapter of 4k 120hz RGB 8bpc.

DGPU
        * Single Display DP (SST DSC) -> 4k144hz, 4k240hz
        * Multiple Display DP -> 4k240hz + 4k144hz
        * MST (Startech MST14DP123DP [DP to 3x DP] and 2x 4k 60hz displays)
        * MST DSC (with Cable Matters 101075 [DP to 3x DP] with 3x 4k60hz 
displays)

The testing is a mix of automated and manual tests. Manual testing includes 
(but is not limited to)
        * Changing display configurations and settings
        * Video/Audio playback
        * Benchmark testing
        * Suspend/Resume testing
        * Feature testing (Freesync, HDCP, etc.)

Automated testing includes (but is not limited to)
        * Script testing (scripts to automate some of the manual checks)
        * IGT testing

The testing is mainly tested on the following displays, but occasionally there 
are tests with other displays
        * Samsung G8 Neo 4k240hz
        * Samsung QN55QN95B 4k 120hz
        * Acer XV322QKKV 4k144hz
        * HP U27 4k Wireless 4k60hz
        * LG 27UD58B 4k60hz
        * LG 32UN650WA 4k60hz
        * LG Ultrafine 5k 5k60hz
        * AU Optronics B140HAN01.1 1080p 60hz eDP
        * AU Optronics B160UAN01.J 1920x1200 165hz eDP
        * Samsung ATNA60YV02-0 3840x2400 60Hz OLED eDP


The patchset consists of the amd-staging-drm-next branch (Head commit -> 
2f689def76af155a850fa9b2693b12973953c062 -> drm/amdgpu: fix calling VM 
invalidation in amdgpu_hmm_invalidate_gfx) with new patches added on top of it.

Tested on Ubuntu 24.04.4, on Wayland and X11, using Gnome.

Tested-by: Dan Wheeler <[email protected]>

Thank you,

Dan Wheeler
Sr. Technologist | AMD
SW Display
------------------------------------------------------------------------------------------------------------------
1 Commerce Valley Dr E, Thornhill, ON L3T 7X6
amd.com


-----Original Message-----
From: Ray Wu <[email protected]>
Sent: Tuesday, May 26, 2026 3:01 AM
To: [email protected]
Cc: Wentland, Harry <[email protected]>; Li, Sun peng (Leo) 
<[email protected]>; Pillai, Aurabindo <[email protected]>; Li, Roman 
<[email protected]>; Lin, Wayne <[email protected]>; Chung, ChiaHsuan (Tom) 
<[email protected]>; Zuo, Jerry <[email protected]>; Wheeler, Daniel 
<[email protected]>; Wu, Ray <[email protected]>; LIPSKI, IVAN 
<[email protected]>; Hung, Alex <[email protected]>; Lin, Ping Lei 
<[email protected]>; Chen, Chen-Yu <[email protected]>; Wu, Ray 
<[email protected]>
Subject: [PATCH 00/41] DC Patches June 1 2026

This DC patchset brings improvements in multiple areas. In summary, we 
highlight:

- Enable DCN 4.2.1:
  * Add register header files for DCN42B
  * Add DCN42B DC resource files
  * Add DCN42B DMUB support
  * Add DCN42B code to DC and dcn42b_soc_bb to DML2
  * Add DCN42 PMO init_for_pstate_support
  * Enable DCN42 PMO policy and pstate pmo
  * Enable DCN 4.2.1 in amdgpu_dm
  * Enable DM for DCN 4.2.1
- Add no_native_i2c codepath
- Add amdgpu_dm KUnit tests for:
  * amdgpu_dm_psr_set_event
  * dm_ism_dispatch_next_event and additional ISM functions
  * amdgpu_dm_colorop
  * color LUT functions and transfer function helpers
- Enable gcov coverage for amdgpu_dm KUnit builds
- Extract dm_ism_dispatch_next_event and transfer function helpers
- Refactor amdgpu_dm_initialize_default_pipeline
- Clean up PSR helper functions
- Fix gamma 2.2 colorop TF direction in tests
- Handle aux_inst for connectors without DDC pin
- Fix DP_PIXEL_FORMAT fields & update clk_src for DCN4x
- Avoid DPMS-on for phantom stream
- Change default driver setting for "Force ODM2:1 for eDP" policy
- Add DC_VALIDATE_MODE_AND_PROGRAMMING condition check for force odm2:1
- Check for sharpening case when calculating max vtaps for scaler
- Add DRAM table fields to clk_mgr_internal
- Enable frame skipping in 0x37B
- Bound VBIOS record-chain walk loops
- Clamp HDMI HDCP2 rx_id_list read to buffer size
- Clamp VBIOS HDMI retimer register count to array size
- Reject gpio_bitshift >= 32 in bios_parser_get_gpio_pin_info()
- Use krealloc_array() in dal_vector_reserve()
- Fix NULL deref and buffer over-read in SDP debugfs
- Fix out-of-bounds read in dp_get_eq_aux_rd_interval()
- FW Release 0.1.61.0

Cc: Daniel Wheeler <[email protected]>

Alex Hung (12):
  drm/amd/display: Enable gcov coverage for amdgpu_dm KUnit builds
  drm/amd/display: Add KUnit tests for color LUT functions
  drm/amd/display: Extract transfer function helpers
  drm/amd/display: Add more color KUnit tests
  drm/amd/display: Refactor amdgpu_dm_initialize_default_pipeline
  drm/amd/display: Fix gamma 2.2 colorop TF direction in tests
  drm/amd/display: Add KUnit tests for amdgpu_dm_colorop
  drm/amd/display: Add more KUnit tests for amdgpu_dm_ism
  drm/amd/display: Extract dm_ism_dispatch_next_event
  drm/amd/display: Add KUnit tests for dm_ism_dispatch_next_event
  drm/amd/display: Add KUnit tests for amdgpu_dm_psr_set_event
  drm/amd/display: Clean up PSR helper functions

Charlene Liu (1):
  drm/amd/display: Add DC_VALIDATE_MODE_AND_PROGRAMMING condition check
    for force odm2:1

Chuntao Tso (1):
  drm/amd/display: Enable frame skipping in 0x37B

Dmytro Laktyushkin (2):
  drm/amd/display: Enable dcn42 pstate pmo
  drm/amd/display: Add DCN42 PMO init_for_pstate_support

Gabe Teeger (1):
  drm/amd/display: Handle aux_inst for connectors without DDC pin

Harry Wentland (7):
  drm/amd/display: Fix out-of-bounds read in dp_get_eq_aux_rd_interval()
  drm/amd/display: Clamp VBIOS HDMI retimer register count to array size
  drm/amd/display: Fix NULL deref and buffer over-read in SDP debugfs
  drm/amd/display: Use krealloc_array() in dal_vector_reserve()
  drm/amd/display: Reject gpio_bitshift >= 32 in
    bios_parser_get_gpio_pin_info()
  drm/amd/display: Clamp HDMI HDCP2 rx_id_list read to buffer size
  drm/amd/display: Bound VBIOS record-chain walk loops

Ilya Bakoulin (1):
  drm/amd/display: Avoid DPMS-on for phantom stream

Matthew Stewart (8):
  drm/amd/display: Add no_native_i2c codepath
  drm/amd: Add register header files for DCN42B
  drm/amd/display: Add DCN42B DC resource files
  drm/amd/display: Add dcn42b_soc_bb to DML2
  drm/amd/display: Add DCN42B code to DC
  drm/amd/display: Add DCN42B DMUB support
  drm/amd/display: Enable DCN 4.2.1 in amdgpu_dm
  drm/amd/display: Enable DM for DCN 4.2.1

Nicholas Kazlauskas (1):
  drm/amd/display: Enable DCN42 PMO policy

Ovidiu Bunea (3):
  drm/amd/display: Update get_pixel_clk_frequency() for DCN4x DCCG DP
    DTO
  drm/amd/display: Change default driver setting for "Force ODM2:1 for
    eDP" policy
  drm/amd/display: Fix DP_PIXEL_FORMAT fields & update clk_src for DCN4x

Samson Tam (1):
  drm/amd/display: Check for sharpening case when calculating max vtaps
    for scaler

Taimur Hassan (2):
  ddrm/amd/display: [FW Promotion] Release 0.1.61.0
  drm/amd/display: Promote DC to 3.2.384

Wenjing Liu (1):
  drm/amd/display: Add DRAM table fields to clk_mgr_internal

 drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c |     1 +
 drivers/gpu/drm/amd/display/Kconfig           |     2 +-
 .../gpu/drm/amd/display/amdgpu_dm/Makefile    |     3 +
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |    29 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_color.c   |    69 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_color.h   |    29 +
 .../amd/display/amdgpu_dm/amdgpu_dm_colorop.c |    22 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_colorop.h |     5 +
 .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c |     5 +
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c |    83 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.h |     7 +
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c |    20 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h |     4 +-
 .../amd/display/amdgpu_dm/tests/.kunitconfig  |     8 +
 .../amdgpu_dm/tests/amdgpu_dm_color_test.c    |   568 +
 .../amdgpu_dm/tests/amdgpu_dm_colorop_test.c  |   102 +-
 .../amdgpu_dm/tests/amdgpu_dm_ism_test.c      |   302 +
 .../amdgpu_dm/tests/amdgpu_dm_psr_test.c      |    46 +-
 .../gpu/drm/amd/display/dc/basics/vector.c    |     4 +-
 .../gpu/drm/amd/display/dc/bios/bios_parser.c |    15 +-
 .../drm/amd/display/dc/bios/bios_parser2.c    |   148 +-
 .../amd/display/dc/bios/bios_parser_helper.h  |     5 +
 .../display/dc/bios/command_table_helper2.c   |     1 +
 .../gpu/drm/amd/display/dc/clk_mgr/Makefile   |    10 +
 .../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c  |    15 +
 .../dc/clk_mgr/dcn42b/dcn42b_clk_mgr.c        |   483 +
 .../dc/clk_mgr/dcn42b/dcn42b_clk_mgr.h        |    48 +
 drivers/gpu/drm/amd/display/dc/core/dc.c      |     4 +-
 .../gpu/drm/amd/display/dc/core/dc_resource.c |     6 +
 drivers/gpu/drm/amd/display/dc/dc.h           |    10 +-
 .../gpu/drm/amd/display/dc/dc_bios_types.h    |     4 +
 drivers/gpu/drm/amd/display/dc/dc_dp_types.h  |     7 +-
 drivers/gpu/drm/amd/display/dc/dc_fused_io.c  |     4 +-
 drivers/gpu/drm/amd/display/dc/dc_helper.c    |     2 +
 .../gpu/drm/amd/display/dc/dc_spl_translate.c |     1 +
 drivers/gpu/drm/amd/display/dc/dce/dce_aux.c  |   181 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_aux.h  |     4 +
 .../drm/amd/display/dc/dce/dce_clock_source.c |    83 +-
 .../drm/amd/display/dc/dce/dce_clock_source.h |    26 +-
 .../gpu/drm/amd/display/dc/dcn31/dcn31_apg.h  |    13 +
 .../dc/dio/dcn42/dcn42_dio_link_encoder.h     |    95 +
 .../dc/dio/dcn42/dcn42_dio_stream_encoder.c   |    64 +-
 .../dc/dio/dcn42/dcn42_dio_stream_encoder.h   |     6 +
 .../dml2_0/dml21/dml21_translation_helper.c   |     5 +-
 .../dml21/inc/bounding_boxes/dcn42b_soc_bb.h  |   227 +
 .../dc/dml2_0/dml21/inc/dml_top_types.h       |     1 +
 .../dml21/src/dml2_pmo/dml2_pmo_dcn42.c       |   223 +-
 .../dml21/src/dml2_pmo/dml2_pmo_dcn42.h       |     2 +
 .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c  |    30 +-
 .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.h  |    46 +-
 .../dml21/src/dml2_pmo/dml2_pmo_factory.c     |    16 +
 .../dml21/src/dml2_top/dml2_top_soc15.c       |    30 +-
 .../drm/amd/display/dc/dml2_0/dml2_wrapper.h  |     1 +
 .../amd/display/dc/dpp/dcn401/dcn401_dpp.c    |     8 +-
 drivers/gpu/drm/amd/display/dc/gpio/Makefile  |     8 +
 .../dc/gpio/dcn42b/hw_factory_dcn42b.c        |   313 +
 .../dc/gpio/dcn42b/hw_factory_dcn42b.h        |    11 +
 .../dc/gpio/dcn42b/hw_translate_dcn42b.c      |   192 +
 .../dc/gpio/dcn42b/hw_translate_dcn42b.h      |    13 +
 .../gpu/drm/amd/display/dc/gpio/hw_factory.c  |     4 +
 .../drm/amd/display/dc/gpio/hw_translate.c    |     4 +
 .../hpo/dcn31/dcn31_hpo_dp_stream_encoder.h   |    47 +
 .../display/dc/hubbub/dcn35/dcn35_hubbub.h    |   198 +
 .../amd/display/dc/hubp/dcn42/dcn42_hubp.h    |    19 +
 drivers/gpu/drm/amd/display/dc/hwss/Makefile  |     8 +
 .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c   |     4 +-
 .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c |    27 +
 .../amd/display/dc/hwss/dcn42b/dcn42b_hwseq.c |   238 +
 .../amd/display/dc/hwss/dcn42b/dcn42b_hwseq.h |    15 +
 .../amd/display/dc/hwss/dcn42b/dcn42b_init.c  |    20 +
 .../amd/display/dc/hwss/dcn42b/dcn42b_init.h  |    14 +
 .../gpu/drm/amd/display/dc/inc/clock_source.h |     4 +-
 .../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h   |    21 +
 .../amd/display/dc/inc/hw/clk_mgr_internal.h  |    44 +-
 drivers/gpu/drm/amd/display/dc/inc/resource.h |     2 +
 .../display/dc/link/accessories/link_dp_cts.c |     2 +
 .../drm/amd/display/dc/link/link_factory.c    |    86 +-
 .../amd/display/dc/link/protocols/link_ddc.c  |    60 +-
 .../dc/link/protocols/link_dp_capability.c    |     6 +
 .../link/protocols/link_edp_panel_control.c   |     7 +-
 .../amd/display/dc/optc/dcn42/dcn42_optc.h    |   179 +
 .../amd/display/dc/pg/dcn42/dcn42_pg_cntl.h   |    86 +
 .../gpu/drm/amd/display/dc/resource/Makefile  |     7 +
 .../dc/resource/dcn401/dcn401_resource.c      |     4 +-
 .../dc/resource/dcn42/dcn42_resource.c        |    17 +-
 .../dc/resource/dcn42/dcn42_resource.h        |     3 +-
 .../dc/resource/dcn42b/dcn42b_resource.c      |  2404 +
 .../dc/resource/dcn42b/dcn42b_resource.h      |   672 +
 .../dcn42/dcn42_soc_and_ip_translator.c       |     6 +-
 .../soc_and_ip_translator.c                   |     1 +
 drivers/gpu/drm/amd/display/dmub/dmub_srv.h   |     1 +
 .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h   |   606 +-
 drivers/gpu/drm/amd/display/dmub/src/Makefile |     1 +
 .../drm/amd/display/dmub/src/dmub_dcn42b.c    |    34 +
 .../drm/amd/display/dmub/src/dmub_dcn42b.h    |    13 +
 .../gpu/drm/amd/display/dmub/src/dmub_srv.c   |     4 +
 .../amd/display/include/bios_parser_types.h   |     1 +
 .../gpu/drm/amd/display/include/dal_asic_id.h |     3 +
 .../gpu/drm/amd/display/include/dal_types.h   |     1 +
 .../drm/amd/display/modules/hdcp/hdcp_ddc.c   |     3 +-
 .../gpu/drm/amd/display/modules/power/power.c |     9 +-
 .../drm/amd/display/modules/power/power_abm.c |    16 +-
 .../include/asic_reg/clk/clk_15_0_5_offset.h  |    41 +
 .../include/asic_reg/clk/clk_15_0_5_sh_mask.h |    44 +
 .../include/asic_reg/dcn/dcn_4_2_1_offset.h   | 16304 +++++
 .../include/asic_reg/dcn/dcn_4_2_1_sh_mask.h  | 60622 ++++++++++++++++
 .../include/asic_reg/dpcs/dpcs_4_0_1_offset.h |   108 +
 .../asic_reg/dpcs/dpcs_4_0_1_sh_mask.h        |   412 +
 108 files changed, 85760 insertions(+), 342 deletions(-)  create mode 100644 
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42b/dcn42b_clk_mgr.c
 create mode 100644 
drivers/gpu/drm/amd/display/dc/clk_mgr/dcn42b/dcn42b_clk_mgr.h
 create mode 100644 
drivers/gpu/drm/amd/display/dc/dml2_0/dml21/inc/bounding_boxes/dcn42b_soc_bb.h
 create mode 100644 
drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_factory_dcn42b.c
 create mode 100644 
drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_factory_dcn42b.h
 create mode 100644 
drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_translate_dcn42b.c
 create mode 100644 
drivers/gpu/drm/amd/display/dc/gpio/dcn42b/hw_translate_dcn42b.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_hwseq.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_hwseq.h
 create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_init.c
 create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn42b/dcn42b_init.h
 create mode 100644 
drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.c
 create mode 100644 
drivers/gpu/drm/amd/display/dc/resource/dcn42b/dcn42b_resource.h
 create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn42b.c
 create mode 100644 drivers/gpu/drm/amd/display/dmub/src/dmub_dcn42b.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/clk/clk_15_0_5_offset.h
 create mode 100644 
drivers/gpu/drm/amd/include/asic_reg/clk/clk_15_0_5_sh_mask.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_4_2_1_offset.h
 create mode 100644 drivers/gpu/drm/amd/include/asic_reg/dcn/dcn_4_2_1_sh_mask.h
 create mode 100644 
drivers/gpu/drm/amd/include/asic_reg/dpcs/dpcs_4_0_1_offset.h
 create mode 100644 
drivers/gpu/drm/amd/include/asic_reg/dpcs/dpcs_4_0_1_sh_mask.h

--
2.43.0

Reply via email to