[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. APU * Single Display eDP -> 1080p 60hz, 2560x1600 120hz, 1920x1200 165hz * 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 * AU Optronics B160QAN02.L 2560x1600 120hz eDP The patchset consists of the amd-staging-drm-next branch (Head commit - fabcad2e59577f5a3736f84ebdec17aff9b2d026 -> drm/amd/pm: Fetch current power limit from PMFW) with new patches added on top of it. Tested on Ubuntu 24.04.1, on Wayland and X11, using KDE Plasma and Gnome. Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx> Thank you, Dan Wheeler Sr. Technologist | AMD SW Display ------------------------------------------------------------------------------------------------------------------ 1 Commerce Valley Dr E, Thornhill, ON L3T 7X6 Facebook | Twitter | amd.com -----Original Message----- From: Mohamed, Zaeem <Zaeem.Mohamed@xxxxxxx> Sent: Friday, February 21, 2025 10:57 AM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Wentland, Harry <Harry.Wentland@xxxxxxx>; Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>; Pillai, Aurabindo <Aurabindo.Pillai@xxxxxxx>; Li, Roman <Roman.Li@xxxxxxx>; Lin, Wayne <Wayne.Lin@xxxxxxx>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung@xxxxxxx>; Zuo, Jerry <Jerry.Zuo@xxxxxxx>; Mohamed, Zaeem <Zaeem.Mohamed@xxxxxxx>; Chiu, Solomon <Solomon.Chiu@xxxxxxx>; Wheeler, Daniel <Daniel.Wheeler@xxxxxxx>; Hung, Alex <Alex.Hung@xxxxxxx> Subject: [PATCH 00/24] DC Patches FEBRUARY 18, 2025 V2 This DC patchset brings improvements in multiple areas. In summary, we have: - Disable PSR-SU on eDP panels - Fix HPD after GPU reset - Fixes on dcn4x init, DML2 state policy on DCN36 - Various minor logic fixes Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Alex Hung (1): drm/amd/display: update incorrect cursor buffer size Assadian, Navid (1): drm/amd/display: Fix mismatch type comparison Aurabindo Pillai (1): drm/amd/display: Temporarily disable hostvm on DCN31 Charlene Liu (1): drm/amd/display: fix dcn4x init failed Krunoslav Kovac (1): drm/amd/display: Remove unused header Michael Strauss (1): drm/amd/display: Update FIXED_VS Link Rate Toggle Workaround Usage Mike Katsnelson (1): drm/amd/display: stop DML2 from removing pipes based on planes Navid Assadian (2): drm/amd/display: Add opp recout adjustment drm/amd/display: Add SPL namespace Nicholas Kazlauskas (2): drm/amd/display: Apply DCN35 DML2 state policy for DCN36 too drm/amd/display: Increase halt timeout for DMCUB to 1s Ostrowski, Rafal (1): drm/amd/display: ACPI Re-timer Programming Patel, Swapnil (1): drm/amd/display: Refactor DCN4x and related code Peichen Huang (1): drm/amd/display: replace dio encoder access Roman Li (1): drm/amd/display: Fix HPD after gpu reset Samson Tam (3): drm/amd/display: Fix mismatch type comparison in custom_float drm/amd/display: fix check for identity ratio drm/amd/display: Fix unit test failure Taimur Hassan (2): drm/amd/display: [FW Promotion] Release 0.0.255.0 drm/amd/display: Promote DAL to 3.2.322 Tom Chung (2): drm/amd/display: Revert "Disable PSR-SU on some OLED panel" drm/amd/display: Disable PSR-SU on eDP panels Yihan Zhu (1): drm/amd/display: handle max_downscale_src_width fail check Yilin Chen (1): drm/amd/display: add a quirk to enable eDP0 on DP1 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 76 +++++- .../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 14 ++ .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 23 +- .../drm/amd/display/dc/bios/command_table2.c | 56 ++++- .../display/dc/bios/command_table_helper2.c | 3 +- .../gpu/drm/amd/display/dc/core/dc_resource.c | 2 +- drivers/gpu/drm/amd/display/dc/dc.h | 4 +- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 8 + .../amd/display/dc/dccg/dcn20/dcn20_dccg.h | 94 ++++---- .../amd/display/dc/dccg/dcn401/dcn401_dccg.c | 2 +- .../amd/display/dc/dccg/dcn401/dcn401_dccg.h | 5 +- .../dc/dio/dcn401/dcn401_dio_stream_encoder.c | 2 +- .../dc/dio/dcn401/dcn401_dio_stream_encoder.h | 5 + drivers/gpu/drm/amd/display/dc/dm_services.h | 7 + .../drm/amd/display/dc/dm_services_types.h | 26 +++ .../dml2/dml21/src/dml2_core/dml2_core_dcn4.c | 2 +- .../display/dc/dml2/dml2_dc_resource_mgmt.c | 26 --- .../display/dc/dml2/dml2_translation_helper.c | 1 + .../drm/amd/display/dc/dml2/dml2_wrapper.c | 3 +- .../drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c | 11 +- .../amd/display/dc/dpp/dcn401/dcn401_dpp.h | 148 ++++++------ .../dc/hpo/dcn31/dcn31_hpo_dp_link_encoder.c | 10 +- .../dc/hpo/dcn31/dcn31_hpo_dp_link_encoder.h | 6 + .../dc/hpo/dcn32/dcn32_hpo_dp_link_encoder.h | 3 + .../drm/amd/display/dc/hwss/dce/dce_hwseq.h | 1 + .../amd/display/dc/hwss/dce110/dce110_hwseq.c | 5 +- .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 5 +- .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 5 +- drivers/gpu/drm/amd/display/dc/inc/resource.h | 5 + .../amd/display/dc/link/hwss/link_hwss_dio.c | 66 +++++- .../hwss/link_hwss_dio_fixed_vs_pe_retimer.c | 5 +- .../amd/display/dc/link/hwss/link_hwss_dpia.c | 20 +- .../gpu/drm/amd/display/dc/link/link_dpms.c | 15 +- .../dc/link/protocols/link_dp_capability.c | 33 ++- .../dc/link/protocols/link_dp_capability.h | 1 + .../display/dc/link/protocols/link_dp_phy.c | 16 +- .../display/dc/link/protocols/link_dp_phy.h | 3 +- .../dc/link/protocols/link_dp_training.c | 20 +- .../dc/link/protocols/link_dp_training.h | 2 + .../protocols/link_dp_training_128b_132b.c | 4 +- .../protocols/link_dp_training_128b_132b.h | 1 + .../link/protocols/link_dp_training_8b_10b.c | 5 +- .../link/protocols/link_dp_training_8b_10b.h | 3 +- .../link/protocols/link_dp_training_auxless.c | 1 + .../dc/link/protocols/link_dp_training_dpia.c | 1 + .../link_dp_training_fixed_vs_pe_retimer.c | 3 +- .../amd/display/dc/mpc/dcn401/dcn401_mpc.h | 31 ++- .../amd/display/dc/optc/dcn10/dcn10_optc.h | 221 +++++++++--------- .../dc/resource/dcn20/dcn20_resource.c | 5 +- .../dc/resource/dcn31/dcn31_resource.c | 2 +- .../dc/resource/dcn401/dcn401_resource.c | 5 +- drivers/gpu/drm/amd/display/dc/sspl/dc_spl.c | 71 ++++-- drivers/gpu/drm/amd/display/dc/sspl/dc_spl.h | 16 +- .../drm/amd/display/dc/sspl/dc_spl_types.h | 12 +- .../drm/amd/display/dc/sspl/spl_fixpt31_32.c | 2 +- .../drm/amd/display/dc/sspl/spl_fixpt31_32.h | 4 +- .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 76 ++++++ .../gpu/drm/amd/display/dmub/src/dmub_dcn31.c | 15 +- .../gpu/drm/amd/display/dmub/src/dmub_dcn35.c | 2 +- 59 files changed, 813 insertions(+), 406 deletions(-) -- 2.34.1