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