[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 - 0312d86bf720 drm/amd/pm: Increase SMUv13.0.6 mode-2 reset time) 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, Dan Wheeler Sr. Technologist | AMD SW Display ------------------------------------------------------------------------------------------------------------------ 1 Commerce Valley Dr E, Thornhill, ON L3T 7X6 amd.com -----Original Message----- From: Hung, Alex <Alex.Hung@xxxxxxx> Sent: Wednesday, February 28, 2024 1:39 PM 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>; Gutierrez, Agustin <Agustin.Gutierrez@xxxxxxx>; Chung, ChiaHsuan (Tom) <ChiaHsuan.Chung@xxxxxxx>; Wu, Hersen <hersenxs.wu@xxxxxxx>; Zuo, Jerry <Jerry.Zuo@xxxxxxx>; Hung, Alex <Alex.Hung@xxxxxxx>; Wheeler, Daniel <Daniel.Wheeler@xxxxxxx> Subject: [PATCH 00/34] DC Patches Feb 28, 2020 This DC patchset brings improvements in multiple areas. In summary, we highlight: * Fixes on HDCP, eDP and FW idle check. * Enhancement in debug messages * Improvement on updates sequences * DPP refactoring to a new directory * Enhancements in DMUB Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Allen Pan (1): drm/amd/display: Add a dc_state NULL check in dc_state_release Alvin Lee (1): drm/amd/display: Backup and restore only on full updates Anthony Koo (2): drm/amd/display: Add entry and exit counters drm/amd/display: Update DMUB flags and definitions Aric Cyr (2): drm/amd/display: 3.2.274 drm/amd/display: 3.2.275 Aurabindo Pillai (3): drm/amd/display: Enable DML2 debug flags drm/amd/display: Add some forward declarations drm/amd/display: Add DML2 folder to include path ChunTao Tso (1): drm/amd/display: Amend coasting vtotal for replay low hz Dillon Varone (1): drm/amd/display: Init DPPCLK from SMU on dcn32 George Shen (1): drm/amd/display: Add left edge pixel for YCbCr422/420 + ODM pipe split Josip Pavic (1): drm/amd/display: Allow dirty rects to be sent to dmub when abm is active Muhammad Ahmed (2): drm/amd/display: Add debug key to allow disabling dtbclk drm/amd/display: Set the power_down_on_boot function pointer to null Nicholas Kazlauskas (6): drm/amd/display: Add debug prints for IPS testing drm/amd/display: Exit idle optimizations before HDCP execution drm/amd/display: Fix idle check for shared firmware state drm/amd/display: Add guards for idle on reg read/write drm/amd/display: Guard cursor idle reallow by DC debug option drm/amd/display: Add debug counters to IPS exit prints Revalla Hari Krishna (1): drm/amd/display: Refactor DPP into a component directory Robin Chen (1): drm/amd/display: Support long vblank feature Rodrigo Siqueira (2): drm/amd/display: Return the correct HDCP error code drm/amd/display: Add comments to v_total calculation and drop legacy TODO Roman Li (1): drm/amd/display: Fix function banner for amdgpu_dm_psr_disable_all() Ryan Lin (1): drm/amd/display: Add monitor patch for specific eDP Sohaib Nadeem (1): drm/amd/display: Override min required DCFCLK in dml1_validate Swapnil Patel (1): drm/amd/display: Change default size for dummy plane in DML2 Wenjing Liu (4): drm/amd/display: Update odm when ODM combine is changed on an otg master pipe with no plane drm/amd/display: Implement update_planes_and_stream_v3 sequence drm/amd/display: Lock all enabled otg pipes even with no planes drm/amd/display: Implement wait_for_odm_update_pending_complete Xi Liu (1): drm/amd/display: Set DCN351 BB and IP the same as DCN35 drivers/gpu/drm/amd/display/Makefile | 1 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 3 + .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 2 +- drivers/gpu/drm/amd/display/dc/Makefile | 2 +- .../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 14 + .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 3 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 824 ++++++++++++------ .../gpu/drm/amd/display/dc/core/dc_resource.c | 37 + .../gpu/drm/amd/display/dc/core/dc_state.c | 4 +- .../gpu/drm/amd/display/dc/core/dc_stream.c | 4 +- drivers/gpu/drm/amd/display/dc/dc.h | 174 ++-- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 94 ++ drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 1 + drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 1 + drivers/gpu/drm/amd/display/dc/dc_types.h | 4 +- .../gpu/drm/amd/display/dc/dce/dmub_replay.c | 2 +- drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 4 +- .../amd/display/dc/dcn10/dcn10_cm_common.c | 2 +- .../gpu/drm/amd/display/dc/dcn10/dcn10_opp.c | 1 + drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn20/dcn20_opp.c | 14 + .../gpu/drm/amd/display/dc/dcn20/dcn20_opp.h | 2 + .../gpu/drm/amd/display/dc/dcn201/Makefile | 2 +- .../drm/amd/display/dc/dcn201/dcn201_opp.c | 1 + drivers/gpu/drm/amd/display/dc/dcn30/Makefile | 2 - .../amd/display/dc/dcn30/dcn30_cm_common.c | 2 +- drivers/gpu/drm/amd/display/dc/dcn32/Makefile | 2 +- .../display/dc/dcn32/dcn32_resource_helpers.c | 6 + drivers/gpu/drm/amd/display/dc/dcn35/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dml2/Makefile | 1 + .../display/dc/dml2/dml2_dc_resource_mgmt.h | 2 + .../display/dc/dml2/dml2_translation_helper.c | 24 +- .../drm/amd/display/dc/dml2/dml2_wrapper.c | 28 +- .../drm/amd/display/dc/dml2/dml2_wrapper.h | 3 + drivers/gpu/drm/amd/display/dc/dpp/Makefile | 77 ++ .../amd/display/dc/dpp/dcn10/CMakeLists.txt | 6 + .../display/dc/{ => dpp}/dcn10/dcn10_dpp.c | 2 +- .../display/dc/{ => dpp}/dcn10/dcn10_dpp.h | 0 .../display/dc/{ => dpp}/dcn10/dcn10_dpp_cm.c | 4 +- .../dc/{ => dpp}/dcn10/dcn10_dpp_dscl.c | 2 +- .../amd/display/dc/dpp/dcn20/CMakeLists.txt | 5 + .../display/dc/{ => dpp}/dcn20/dcn20_dpp.c | 2 +- .../display/dc/{ => dpp}/dcn20/dcn20_dpp.h | 0 .../display/dc/{ => dpp}/dcn20/dcn20_dpp_cm.c | 2 +- .../amd/display/dc/dpp/dcn201/CMakeLists.txt | 4 + .../display/dc/{ => dpp}/dcn201/dcn201_dpp.c | 2 +- .../display/dc/{ => dpp}/dcn201/dcn201_dpp.h | 0 .../amd/display/dc/dpp/dcn30/CMakeLists.txt | 5 + .../display/dc/{ => dpp}/dcn30/dcn30_dpp.c | 4 +- .../display/dc/{ => dpp}/dcn30/dcn30_dpp.h | 0 .../display/dc/{ => dpp}/dcn30/dcn30_dpp_cm.c | 4 +- .../amd/display/dc/dpp/dcn32/CMakeLists.txt | 4 + .../display/dc/{ => dpp}/dcn32/dcn32_dpp.c | 2 +- .../display/dc/{ => dpp}/dcn32/dcn32_dpp.h | 0 .../amd/display/dc/dpp/dcn35/CMakeLists.txt | 4 + .../display/dc/{ => dpp}/dcn35/dcn35_dpp.c | 2 +- .../display/dc/{ => dpp}/dcn35/dcn35_dpp.h | 0 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 55 +- .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 30 + .../amd/display/dc/hwss/dcn32/dcn32_hwseq.h | 2 + .../amd/display/dc/hwss/dcn32/dcn32_init.c | 2 +- .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 28 + .../amd/display/dc/hwss/dcn35/dcn35_hwseq.h | 3 + .../amd/display/dc/hwss/dcn35/dcn35_init.c | 5 +- .../drm/amd/display/dc/hwss/hw_sequencer.h | 1 + .../gpu/drm/amd/display/dc/inc/core_types.h | 24 +- drivers/gpu/drm/amd/display/dc/inc/hw/opp.h | 3 + .../amd/display/dc/inc/hw/timing_generator.h | 8 + drivers/gpu/drm/amd/display/dc/inc/link.h | 4 +- drivers/gpu/drm/amd/display/dc/inc/resource.h | 4 + .../link/protocols/link_edp_panel_control.c | 4 +- .../link/protocols/link_edp_panel_control.h | 4 +- .../amd/display/dc/optc/dcn10/dcn10_optc.h | 9 +- .../amd/display/dc/optc/dcn32/dcn32_optc.c | 8 + .../amd/display/dc/optc/dcn32/dcn32_optc.h | 1 + .../amd/display/dc/optc/dcn35/dcn35_optc.c | 165 +++- .../amd/display/dc/optc/dcn35/dcn35_optc.h | 6 +- .../dc/resource/dcn32/dcn32_resource.c | 3 + .../dc/resource/dcn32/dcn32_resource.h | 3 + .../dc/resource/dcn321/dcn321_resource.c | 2 + .../dc/resource/dcn35/dcn35_resource.h | 2 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 56 +- .../amd/display/include/link_service_types.h | 1 - .../drm/amd/display/include/logger_types.h | 1 + .../amd/display/modules/freesync/freesync.c | 6 +- .../gpu/drm/amd/display/modules/hdcp/hdcp.c | 10 + .../drm/amd/display/modules/hdcp/hdcp_psp.c | 3 + .../drm/amd/display/modules/inc/mod_hdcp.h | 8 + .../amd/display/modules/power/power_helpers.c | 2 +- .../amd/display/modules/power/power_helpers.h | 2 +- 91 files changed, 1436 insertions(+), 436 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn10/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn10/dcn10_dpp.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn10/dcn10_dpp.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn10/dcn10_dpp_cm.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn10/dcn10_dpp_dscl.c (99%) create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn20/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn20/dcn20_dpp.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn20/dcn20_dpp.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn20/dcn20_dpp_cm.c (99%) create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn201/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn201/dcn201_dpp.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn201/dcn201_dpp.h (100%) create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn30/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn30/dcn30_dpp.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn30/dcn30_dpp.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn30/dcn30_dpp_cm.c (99%) create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn32/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn32/dcn32_dpp.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn32/dcn32_dpp.h (100%) create mode 100644 drivers/gpu/drm/amd/display/dc/dpp/dcn35/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn35/dcn35_dpp.c (98%) rename drivers/gpu/drm/amd/display/dc/{ => dpp}/dcn35/dcn35_dpp.h (100%) -- 2.34.1