[Public] Hi all, This week this patchset was tested on the following systems: * Lenovo ThinkBook T13s Gen4 with AMD Ryzen 5 6600U * MSI Gaming X Trio RX 6800 * Gigabyte Gaming OC RX 7900 XTX These systems were tested on the following display/connection types: * eDP, (1080p 60hz [5650U]) (1920x1200 60hz [6600U]) (2560x1600 120hz[6600U]) * VGA and DVI (1680x1050 60hz [DP to VGA/DVI, USB-C to VGA/DVI]) * DP/HDMI/USB-C (1440p 170hz, 4k 60hz, 4k 144hz, 4k 240hz [Includes USB-C to DP/HDMI adapters]) * Thunderbolt (LG Ultrafine 5k) * MST (Startech MST14DP123DP [DP to 3x DP] and 2x 4k 60Hz displays) * DSC (with Cable Matters 101075 [DP to 3x DP] with 3x 4k60 displays, and HP Hook G2 with 1 4k60 display) * USB 4 (Kensington SD5700T and 1x 4k 60Hz display) * PCON (Club3D CAC-1085 and 1x 4k 144Hz display [at 4k 120HZ, as that is the max the adapter supports]) The testing is a mix of automated and manual tests. Manual testing includes (but is not limited to): * Changing display configurations and settings * Benchmark testing * Feature testing (Freesync, etc.) Automated testing includes (but is not limited to): * Script testing (scripts to automate some of the manual checks) * IGT testing The patchset consists of the amd-staging-drm-next branch (Head commit - 97221259f157 drm/amd/display: 3.2.265) with new patches added on top of it. Tested on Ubuntu 22.04.3, on Wayland and X11, using KDE Plasma and Gnome. Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx> Thank you and happy holidays, Dan Wheeler Sr. Technologist | AMD SW Display ------------------------------------------------------------------------------------------------------------------ 1 Commerce Valley Dr E, Thornhill, ON L3T 7X6 amd.com -----Original Message----- From: Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx> Sent: Wednesday, December 20, 2023 11:34 AM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Wentland, Harry <Harry.Wentland@xxxxxxx>; Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>; Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Pillai, Aurabindo <Aurabindo.Pillai@xxxxxxx>; Li, Roman <Roman.Li@xxxxxxx>; Lin, Wayne <Wayne.Lin@xxxxxxx>; Wang, Chao-kai (Stylon) <Stylon.Wang@xxxxxxx>; Gutierrez, Agustin <Agustin.Gutierrez@xxxxxxx>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung@xxxxxxx>; Wu, Hersen <hersenxs.wu@xxxxxxx>; Zuo, Jerry <Jerry.Zuo@xxxxxxx>; Wheeler, Daniel <Daniel.Wheeler@xxxxxxx> Subject: [PATCH 00/20] DC Patches December 20, 2023 Here we are at the end of the year, the last set of patches for DC. This DC patch set brings improvements in multiple areas. In summary, we highlight: * Address SubVP issues * Update DMUB * Improve mechanisms for test Thanks Siqueira Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Alvin Lee (4): drm/amd/display: Fix subvp+drr logic errors drm/amd/display: Don't allow FPO if no planes drm/amd/display: Assign stream status for FPO + Vactive cases drm/amd/display: For FPO and SubVP/DRR configs program vmin/max sel Camille Cho (1): drm/amd/display: Correctly restore user_level Gabe Teeger (1): drm/amd/display: Fix Mismatch between pipe and stream Josip Pavic (1): drm/amd/display: Add null pointer guards where needed Leo (Hanghong) Ma (1): drm/amd/display: Add HDMI capacity computations using fixed31_32 Meenakshikumar Somasundaram (2): drm/amd/display: Fix minor issues in BW Allocation Phase2 drm/amd/display: Add dpia display mode validation logic Nicholas Kazlauskas (4): drm/amd/display: Always exit DMCUB idle when called drm/amd/display: Wait forever for DMCUB to wake up drm/amd/display: Switch DMCUB notify idle command to NO_WAIT drm/amd/display: Verify disallow bits were cleared for idle Relja Vojvodic (3): drm/amd/display: Add more mechanisms for tests drm/amd/display: Add log end specifier drm/amd/display: Fixing stream allocation regression Revalla (1): drm/amd/display: Refactor INIT into component folder Tom Chung (1): drm/amd/display: Add some functions for Panel Replay Wayne Lin (1): drm/amd/display: pbn_div need be updated for hotplug event .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 +- drivers/gpu/drm/amd/display/dc/Makefile | 2 - .../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 90 ++++- drivers/gpu/drm/amd/display/dc/core/dc.c | 76 +++- .../drm/amd/display/dc/core/dc_hw_sequencer.c | 172 +++++---- .../drm/amd/display/dc/core/dc_link_exports.c | 9 +- .../gpu/drm/amd/display/dc/core/dc_resource.c | 17 + .../gpu/drm/amd/display/dc/core/dc_stream.c | 3 +- drivers/gpu/drm/amd/display/dc/dc.h | 29 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 32 +- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 6 + drivers/gpu/drm/amd/display/dc/dc_types.h | 2 + drivers/gpu/drm/amd/display/dc/dce/dce_abm.c | 4 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c | 4 +- .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 4 +- .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.h | 2 +- .../gpu/drm/amd/display/dc/dce/dmub_replay.c | 96 ++++- .../gpu/drm/amd/display/dc/dce/dmub_replay.h | 2 + drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn201/Makefile | 3 +- drivers/gpu/drm/amd/display/dc/dcn21/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn30/Makefile | 4 +- .../gpu/drm/amd/display/dc/dcn301/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn302/Makefile | 12 - drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn314/Makefile | 3 +- drivers/gpu/drm/amd/display/dc/dcn32/Makefile | 2 +- .../display/dc/dcn32/dcn32_resource_helpers.c | 37 +- drivers/gpu/drm/amd/display/dc/dcn35/Makefile | 2 +- .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 73 ++-- .../display/dc/dml2/dml2_translation_helper.c | 16 +- .../gpu/drm/amd/display/dc/dml2/dml2_utils.c | 6 +- drivers/gpu/drm/amd/display/dc/hwss/Makefile | 28 +- .../amd/display/dc/hwss/dce110/dce110_hwseq.c | 7 +- .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 7 +- .../display/dc/{ => hwss}/dcn10/dcn10_init.c | 0 .../display/dc/{ => hwss}/dcn10/dcn10_init.h | 0 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 37 ++ .../display/dc/{ => hwss}/dcn20/dcn20_init.c | 0 .../display/dc/{ => hwss}/dcn20/dcn20_init.h | 0 .../dc/{ => hwss}/dcn201/dcn201_init.c | 0 .../dc/{ => hwss}/dcn201/dcn201_init.h | 0 .../display/dc/{ => hwss}/dcn21/dcn21_init.c | 0 .../display/dc/{ => hwss}/dcn21/dcn21_init.h | 0 .../amd/display/dc/hwss/dcn30/dcn30_hwseq.c | 7 +- .../display/dc/{ => hwss}/dcn30/dcn30_init.c | 0 .../display/dc/{ => hwss}/dcn30/dcn30_init.h | 0 .../dc/{ => hwss}/dcn301/dcn301_init.c | 0 .../dc/{ => hwss}/dcn301/dcn301_init.h | 0 .../dc/{ => hwss}/dcn302/dcn302_init.c | 0 .../dc/{ => hwss}/dcn302/dcn302_init.h | 0 .../dc/{ => hwss}/dcn303/dcn303_init.c | 0 .../dc/{ => hwss}/dcn303/dcn303_init.h | 0 .../amd/display/dc/hwss/dcn31/dcn31_hwseq.c | 7 +- .../display/dc/{ => hwss}/dcn31/dcn31_init.c | 0 .../display/dc/{ => hwss}/dcn31/dcn31_init.h | 0 .../dc/{ => hwss}/dcn314/dcn314_init.c | 0 .../dc/{ => hwss}/dcn314/dcn314_init.h | 0 .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 7 +- .../display/dc/{ => hwss}/dcn32/dcn32_init.c | 0 .../display/dc/{ => hwss}/dcn32/dcn32_init.h | 0 .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 7 +- .../display/dc/{ => hwss}/dcn35/dcn35_init.c | 0 .../display/dc/{ => hwss}/dcn35/dcn35_init.h | 0 .../amd/display/dc/hwss/dcn351/CMakeLists.txt | 4 + .../drm/amd/display/dc/hwss/dcn351/Makefile | 17 + .../amd/display/dc/hwss/dcn351/dcn351_init.c | 171 +++++++++ .../amd/display/dc/hwss/dcn351/dcn351_init.h | 33 ++ .../drm/amd/display/dc/hwss/hw_sequencer.h | 9 +- .../gpu/drm/amd/display/dc/inc/core_types.h | 11 + drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 2 +- .../drm/amd/display/dc/inc/hw/panel_cntl.h | 1 + drivers/gpu/drm/amd/display/dc/inc/link.h | 2 + drivers/gpu/drm/amd/display/dc/inc/resource.h | 6 +- .../drm/amd/display/dc/link/link_factory.c | 1 + .../drm/amd/display/dc/link/link_validation.h | 1 + .../dc/link/protocols/link_dp_dpia_bw.c | 337 ++++++++++-------- .../dc/link/protocols/link_dp_dpia_bw.h | 4 +- .../link/protocols/link_edp_panel_control.c | 30 ++ .../link/protocols/link_edp_panel_control.h | 2 + .../dc/resource/dcn32/dcn32_resource.c | 2 +- .../dc/resource/dcn32/dcn32_resource.h | 5 +- .../dc/resource/dcn321/dcn321_resource.c | 2 +- .../dc/resource/dcn35/dcn35_resource.c | 13 + .../amd/display/modules/power/power_helpers.c | 28 ++ .../amd/display/modules/power/power_helpers.h | 5 + drivers/gpu/drm/amd/include/amd_shared.h | 2 + 88 files changed, 1119 insertions(+), 397 deletions(-) delete mode 100644 drivers/gpu/drm/amd/display/dc/dcn302/Makefile rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn10/dcn10_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn10/dcn10_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn20/dcn20_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn20/dcn20_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn201/dcn201_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn201/dcn201_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn21/dcn21_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn21/dcn21_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn30/dcn30_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn30/dcn30_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn301/dcn301_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn301/dcn301_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn302/dcn302_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn302/dcn302_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn303/dcn303_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn303/dcn303_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn31/dcn31_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn31/dcn31_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn314/dcn314_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn314/dcn314_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn32/dcn32_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn32/dcn32_init.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn35/dcn35_init.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => hwss}/dcn35/dcn35_init.h (100%) create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn351/CMakeLists.txt create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn351/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn351/dcn351_init.c create mode 100644 drivers/gpu/drm/amd/display/dc/hwss/dcn351/dcn351_init.h -- 2.42.0