[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 - 7bb6e298b738 drm/amdkfd: Move TLB flushing logic into amdgpu) 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, November 8, 2023 1:44 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>; 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>; Hung, Alex <Alex.Hung@xxxxxxx>; Wheeler, Daniel <Daniel.Wheeler@xxxxxxx> Subject: [PATCH 00/20] DC Patches Nov 08, 2023 This DC patchset brings improvements in multiple areas. In summary, we highlight: * Add missing chips for HDCP * Add new command to disable replay timing resync * Fix encoder disable logic * Enable DSC Flag in MST Mode Validation * Change the DMCUB mailbox memory location from FB to inbox * Add disable timeout option * Negate IPS allow and commit bits * Enable DCN clock gating for DCN35 * Prefer currently used OTG master when acquiring free pipe * Try to acquire a free OTG master not used in cur ctx first * Clear dpcd_sink_ext_caps if not set * Enable fast plane updates on DCN3.2 and above * Add null checks for 8K60 lightup * Refactor resource into component directory * Fix DSC not Enabled on Direct MST Sink * Guard against invalid RPTR/WPTR being set * Enable CM low mem power optimization * Fix a debugfs null pointer error Cc: Daniel Wheeler <daniel.wheeler@xxxxxxx> Anthony Koo (1): drm/amd/display: Add new command to disable replay timing resync Aric Cyr (1): drm/amd/display: Promote DC to 3.2.260 Aurabindo Pillai (1): drm/amd/display: Fix a debugfs null pointer error Daniel Miess (1): drm/amd/display: Enable DCN clock gating for DCN35 Duncan Ma (2): drm/amd/display: Negate IPS allow and commit bits drm/amd/display: Add disable timeout option Fangzhi Zuo (2): drm/amd/display: Fix DSC not Enabled on Direct MST Sink drm/amd/display: Enable DSC Flag in MST Mode Validation Krunoslav Kovac (1): drm/amd/display: Send PQ bit in AMD VSIF Lewis Huang (1): drm/amd/display: Change the DMCUB mailbox memory location from FB to inbox Mounika Adhuri (1): drm/amd/display: Refactor resource into component directory Muhammad Ahmed (1): drm/amd/display: Add null checks for 8K60 lightup Nicholas Kazlauskas (1): drm/amd/display: Guard against invalid RPTR/WPTR being set Nicholas Susanto (1): drm/amd/display: Fix encoder disable logic Paul Hsieh (1): drm/amd/display: Clear dpcd_sink_ext_caps if not set Rodrigo Siqueira (1): drm/amd/display: Add missing chips for HDCP Tianci Yin (1): drm/amd/display: Enable fast plane updates on DCN3.2 and above Wenjing Liu (2): drm/amd/display: Try to acquire a free OTG master not used in cur ctx first drm/amd/display: Prefer currently used OTG master when acquiring free pipe Yihan Zhu (1): drm/amd/display: Enable CM low mem power optimization drivers/gpu/drm/amd/display/Makefile | 1 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 21 +- .../amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 6 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 63 +++--- drivers/gpu/drm/amd/display/dc/Makefile | 5 +- .../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 18 +- .../amd/display/dc/clk_mgr/dcn35/dcn35_smu.c | 3 + drivers/gpu/drm/amd/display/dc/core/dc.c | 6 +- .../gpu/drm/amd/display/dc/core/dc_resource.c | 50 ++++- drivers/gpu/drm/amd/display/dc/dc.h | 3 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 39 +++- drivers/gpu/drm/amd/display/dc/dc_types.h | 1 + .../gpu/drm/amd/display/dc/dce100/Makefile | 46 ---- .../gpu/drm/amd/display/dc/dce110/Makefile | 4 +- .../gpu/drm/amd/display/dc/dce112/Makefile | 3 +- .../gpu/drm/amd/display/dc/dce120/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dce80/Makefile | 3 +- drivers/gpu/drm/amd/display/dc/dcn10/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn20/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn20/dcn20_dccg.h | 6 +- .../gpu/drm/amd/display/dc/dcn201/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn21/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn30/Makefile | 1 - .../gpu/drm/amd/display/dc/dcn301/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn302/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn303/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn31/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn314/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn315/Makefile | 30 --- .../gpu/drm/amd/display/dc/dcn316/Makefile | 30 --- drivers/gpu/drm/amd/display/dc/dcn32/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn32/dcn32_mpc.c | 13 +- .../display/dc/dcn32/dcn32_resource_helpers.c | 2 +- .../gpu/drm/amd/display/dc/dcn321/Makefile | 2 +- drivers/gpu/drm/amd/display/dc/dcn35/Makefile | 2 +- .../gpu/drm/amd/display/dc/dcn35/dcn35_dccg.c | 30 +++ .../gpu/drm/amd/display/dc/dcn35/dcn35_dccg.h | 7 +- .../dc/dcn35/dcn35_dio_stream_encoder.c | 10 +- .../drm/amd/display/dc/dcn35/dcn35_pg_cntl.c | 10 +- .../drm/amd/display/dc/dcn35/dcn35_pg_cntl.h | 1 - .../drm/amd/display/dc/dml/calcs/dcn_calcs.c | 2 +- .../drm/amd/display/dc/hwss/dce/dce_hwseq.h | 15 +- .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 42 ++-- .../gpu/drm/amd/display/dc/inc/hw/pg_cntl.h | 2 - drivers/gpu/drm/amd/display/dc/inc/resource.h | 12 ++ .../drm/amd/display/dc/link/link_detection.c | 3 + .../gpu/drm/amd/display/dc/resource/Makefile | 199 ++++++++++++++++++ .../{ => resource}/dce100/dce100_resource.c | 0 .../{ => resource}/dce100/dce100_resource.h | 0 .../{ => resource}/dce110/dce110_resource.c | 0 .../{ => resource}/dce110/dce110_resource.h | 0 .../{ => resource}/dce112/dce112_resource.c | 0 .../{ => resource}/dce112/dce112_resource.h | 0 .../{ => resource}/dce120/dce120_resource.c | 2 +- .../{ => resource}/dce120/dce120_resource.h | 0 .../display/dc/resource/dce80/CMakeLists.txt | 4 + .../dc/{ => resource}/dce80/dce80_resource.c | 0 .../dc/{ => resource}/dce80/dce80_resource.h | 0 .../dc/{ => resource}/dcn10/dcn10_resource.c | 25 ++- .../dc/{ => resource}/dcn10/dcn10_resource.h | 0 .../dc/{ => resource}/dcn20/dcn20_resource.c | 24 +-- .../dc/{ => resource}/dcn20/dcn20_resource.h | 0 .../{ => resource}/dcn201/dcn201_resource.c | 14 +- .../{ => resource}/dcn201/dcn201_resource.h | 0 .../dc/{ => resource}/dcn21/dcn21_resource.c | 6 +- .../dc/{ => resource}/dcn21/dcn21_resource.h | 0 .../dc/{ => resource}/dcn30/dcn30_resource.c | 2 +- .../dc/{ => resource}/dcn30/dcn30_resource.h | 0 .../{ => resource}/dcn301/dcn301_resource.c | 4 +- .../{ => resource}/dcn301/dcn301_resource.h | 0 .../{ => resource}/dcn302/dcn302_resource.c | 4 +- .../{ => resource}/dcn302/dcn302_resource.h | 0 .../{ => resource}/dcn303/dcn303_resource.c | 4 +- .../{ => resource}/dcn303/dcn303_resource.h | 0 .../dc/{ => resource}/dcn31/dcn31_resource.c | 2 +- .../dc/{ => resource}/dcn31/dcn31_resource.h | 0 .../{ => resource}/dcn314/dcn314_resource.c | 0 .../{ => resource}/dcn314/dcn314_resource.h | 0 .../{ => resource}/dcn315/dcn315_resource.c | 0 .../{ => resource}/dcn315/dcn315_resource.h | 0 .../{ => resource}/dcn316/dcn316_resource.c | 0 .../{ => resource}/dcn316/dcn316_resource.h | 0 .../dc/{ => resource}/dcn32/dcn32_resource.c | 4 +- .../dc/{ => resource}/dcn32/dcn32_resource.h | 0 .../{ => resource}/dcn321/dcn321_resource.c | 2 +- .../{ => resource}/dcn321/dcn321_resource.h | 0 .../dc/{ => resource}/dcn35/dcn35_resource.c | 20 +- .../dc/{ => resource}/dcn35/dcn35_resource.h | 1 + drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 22 +- .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 41 ++++ .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 50 ++++- .../drm/amd/display/include/hdcp_msg_types.h | 5 + .../amd/display/modules/freesync/freesync.c | 6 +- .../include/asic_reg/dcn/dcn_3_5_0_sh_mask.h | 8 + 94 files changed, 655 insertions(+), 308 deletions(-) delete mode 100644 drivers/gpu/drm/amd/display/dc/dce100/Makefile delete mode 100644 drivers/gpu/drm/amd/display/dc/dcn315/Makefile delete mode 100644 drivers/gpu/drm/amd/display/dc/dcn316/Makefile create mode 100644 drivers/gpu/drm/amd/display/dc/resource/Makefile rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce100/dce100_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce100/dce100_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce110/dce110_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce110/dce110_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce112/dce112_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce112/dce112_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce120/dce120_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce120/dce120_resource.h (100%) create mode 100644 drivers/gpu/drm/amd/display/dc/resource/dce80/CMakeLists.txt rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce80/dce80_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dce80/dce80_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn10/dcn10_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn10/dcn10_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn20/dcn20_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn20/dcn20_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn201/dcn201_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn201/dcn201_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn21/dcn21_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn21/dcn21_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn30/dcn30_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn30/dcn30_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn301/dcn301_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn301/dcn301_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn302/dcn302_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn302/dcn302_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn303/dcn303_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn303/dcn303_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn31/dcn31_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn31/dcn31_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn314/dcn314_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn314/dcn314_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn315/dcn315_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn315/dcn315_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn316/dcn316_resource.c (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn316/dcn316_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn32/dcn32_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn32/dcn32_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn321/dcn321_resource.c (99%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn321/dcn321_resource.h (100%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn35/dcn35_resource.c (98%) rename drivers/gpu/drm/amd/display/dc/{ => resource}/dcn35/dcn35_resource.h (99%) -- 2.42.0