[Public] Hi all, This week this patchset was tested on the following systems: HP Envy 360, with Ryzen 5 4500U Lenovo Thinkpad T14s Gen2, with AMD Ryzen 5 5650U Sapphire Pulse RX5700XT Reference AMD RX6800 Engineering board with Ryzen 9 5900H These systems were tested on the following display types: eDP, (1080p 60hz [4500U, 5650U, 5900H]) VGA and DVI (1680x1050 60HZ [DP to VGA/DVI, USB-C to DVI/VGA]) DP/HDMI/USB-C (1440p 170hz, 4k 60hz, 4k 144hz [Includes USB-C to DP/HDMI adapters]) MST tested with Startech MST14DP123DP and 2x 4k 60Hz displays DSC tested with Cable Matters 101075 (DP to 3x DP), and 201375 (USB-C to 3x DP) with 3x 4k60 displays 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 with new patches added on top of it. This branch is used for both Ubuntu and Chrome OS testing (ChromeOS on a bi-weekly basis). Tested on Ubuntu 22.04 Tested-by: Daniel Wheeler <daniel.wheeler@xxxxxxx> Thank you, Dan Wheeler Sr. Technologist | AMD SW Display ------------------------------------------------------------------------------------------------------------------ 1 Commerce Valley Dr E, T -----Original Message----- From: Hung, Alex <Alex.Hung@xxxxxxx> Sent: July 22, 2022 4:31 PM To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx Cc: Wentland, Harry <Harry.Wentland@xxxxxxx>; Li, Sun peng (Leo) <Sunpeng.Li@xxxxxxx>; Lakha, Bhawanpreet <Bhawanpreet.Lakha@xxxxxxx>; Siqueira, Rodrigo <Rodrigo.Siqueira@xxxxxxx>; Pillai, Aurabindo <Aurabindo.Pillai@xxxxxxx>; Zhuo, Qingqing (Lillian) <Qingqing.Zhuo@xxxxxxx>; Li, Roman <Roman.Li@xxxxxxx>; Lin, Wayne <Wayne.Lin@xxxxxxx>; Wang, Chao-kai (Stylon) <Stylon.Wang@xxxxxxx>; Chiu, Solomon <Solomon.Chiu@xxxxxxx>; Kotarac, Pavle <Pavle.Kotarac@xxxxxxx>; Gutierrez, Agustin <Agustin.Gutierrez@xxxxxxx>; Wheeler, Daniel <Daniel.Wheeler@xxxxxxx>; Broadworth, Mark <Mark.Broadworth@xxxxxxx>; Hung, Alex <Alex.Hung@xxxxxxx> Subject: [PATCH 00/31] DC Patches July 22, 2022 This DC patchset brings improvements in multiple areas. In summary, we highlight: * Copy crc_skip_count when duplicating CRTC state * Add debug option for idle optimizations on cursor updates * Disable MPC split for DCN32/321 * Add missing ODM 2:1 policy logic * Update DCN32 and DCN321 SR latencies * Add reinstate dram in the FPO logic * Add dc_ctx to link_enc_create() parameters * Cache cursor when cursor exceeds 64x64 * Add support for manual DMUB FAMS trigger * Fix dpstreamclk programming * Add missing AUDIO_DTO_SEL reg field * Add OTG/ODM functions * Use correct clock source constructor for DCN314 * Use correct DTO_SRC_SEL for 128b/132b encoding * Add pixel rate div calcs and programming * Remove FPU flags from DCN30 Makefile * Create patch bounding box function for isolate FPU * Move mclk calculation function to DML * Remove FPU operations from dcn201 resources * Fallback to SW cursor if SubVP + cursor too big * Drop unnecessary FPU flags on dcn302 files * Reboot while unplug hdcp enabled dp from mst hub * Reset pipe count when iterating for DET override * Calculate MALL cache lines based on Mblks required * Fix two MPO videos in single display ODM combine mode * Guard against zero memory channels * Updates SubVP + SubVP DRR cases updates * Fix OPTC function pointers for DCN314 * Add enable/disable FIFO callbacks to stream setup * Avoid MPC infinite loop Alvin Lee (6): drm/amd/display: Updates SubVP and SubVP DRR cases drm/amd/display: Calculate MALL cache lines based on Mblks required drm/amd/display: Fallback to SW cursor if SubVP + cursor too big drm/amd/display: Update DCN32 and DCN321 SR latencies drm/amd/display: Disable MPC split for DCN32/321 drm/amd/display: Add debug option for idle optimizations on cursor updates Anthony Koo (2): drm/amd/display: Add support for manual DMUB FAMS trigger drm/amd/display: 3.2.196 Aric Cyr (1): drm/amd/display: Avoid MPC infinite loop Aurabindo Pillai (1): drm/amd/display: Add dc_ctx to link_enc_create() parameters Chris Park (1): drm/amd/display: Cache cursor when cursor exceeds 64x64 Leo Li (1): drm/amd/display: Copy crc_skip_count when duplicating CRTC state Michael Strauss (6): drm/amd/display: Add pixel rate div calcs and programming drm/amd/display: Use correct DTO_SRC_SEL for 128b/132b encoding drm/amd/display: Use correct clock source constructor for DCN314 drm/amd/display: Add OTG/ODM functions drm/amd/display: Add missing AUDIO_DTO_SEL reg field drm/amd/display: Fix dpstreamclk programming Nicholas Kazlauskas (3): drm/amd/display: Add enable/disable FIFO callbacks to stream setup drm/amd/display: Fix OPTC function pointers for DCN314 drm/amd/display: Guard against zero memory channels Rodrigo Siqueira (6): drm/amd/display: Drop unnecessary FPU flags on dcn302 files drm/amd/display: Remove FPU operations from dcn201 resources drm/amd/display: Move mclk calculation function to DML drm/amd/display: Create patch bounding box function for isolate FPU drm/amd/display: Remove FPU flags from DCN30 Makefile drm/amd/display: Add reinstate dram in the FPO logic Samson Tam (2): drm/amd/display: Fix two MPO videos in single display ODM combine mode drm/amd/display: Add missing ODM 2:1 policy logic Taimur Hassan (1): drm/amd/display: Reset pipe count when iterating for DET override hersen wu (1): drm/amd/display: Reboot while unplug hdcp enabled dp from mst hub .../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 1 + .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 34 ++-- drivers/gpu/drm/amd/display/dc/core/dc_link.c | 2 +- .../gpu/drm/amd/display/dc/core/dc_link_dp.c | 1 + .../gpu/drm/amd/display/dc/core/dc_resource.c | 136 +++++++++++++--- .../gpu/drm/amd/display/dc/core/dc_stream.c | 5 + drivers/gpu/drm/amd/display/dc/dc.h | 2 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 17 ++ drivers/gpu/drm/amd/display/dc/dc_dmub_srv.h | 1 + .../drm/amd/display/dc/dce/dce_clock_source.c | 20 ++- .../amd/display/dc/dce100/dce100_resource.c | 1 + .../display/dc/dce110/dce110_hw_sequencer.c | 1 + .../amd/display/dc/dce110/dce110_resource.c | 1 + .../amd/display/dc/dce112/dce112_resource.c | 1 + .../amd/display/dc/dce120/dce120_resource.c | 1 + .../drm/amd/display/dc/dce60/dce60_resource.c | 1 + .../drm/amd/display/dc/dce80/dce80_resource.c | 1 + .../amd/display/dc/dcn10/dcn10_hw_sequencer.c | 1 + .../gpu/drm/amd/display/dc/dcn10/dcn10_mpc.c | 5 + .../drm/amd/display/dc/dcn10/dcn10_resource.c | 1 + .../drm/amd/display/dc/dcn20/dcn20_hwseq.c | 1 + .../drm/amd/display/dc/dcn20/dcn20_resource.c | 2 +- .../drm/amd/display/dc/dcn20/dcn20_resource.h | 1 + .../gpu/drm/amd/display/dc/dcn201/Makefile | 24 --- .../amd/display/dc/dcn201/dcn201_resource.c | 11 +- .../drm/amd/display/dc/dcn21/dcn21_resource.c | 1 + drivers/gpu/drm/amd/display/dc/dcn30/Makefile | 30 ---- .../drm/amd/display/dc/dcn30/dcn30_resource.c | 58 +------ .../drm/amd/display/dc/dcn30/dcn30_resource.h | 3 + .../amd/display/dc/dcn301/dcn301_resource.c | 1 + .../gpu/drm/amd/display/dc/dcn302/Makefile | 25 --- .../amd/display/dc/dcn302/dcn302_resource.c | 4 +- .../amd/display/dc/dcn303/dcn303_resource.c | 4 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_dccg.c | 8 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_dccg.h | 8 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_optc.c | 2 +- .../gpu/drm/amd/display/dc/dcn31/dcn31_optc.h | 2 + .../drm/amd/display/dc/dcn31/dcn31_resource.c | 1 + .../drm/amd/display/dc/dcn314/dcn314_dccg.c | 30 +++- .../drm/amd/display/dc/dcn314/dcn314_dccg.h | 3 +- .../dc/dcn314/dcn314_dio_stream_encoder.c | 38 +++-- .../drm/amd/display/dc/dcn314/dcn314_hwseq.c | 36 +++++ .../drm/amd/display/dc/dcn314/dcn314_hwseq.h | 2 + .../drm/amd/display/dc/dcn314/dcn314_init.c | 1 + .../drm/amd/display/dc/dcn314/dcn314_optc.c | 37 ++++- .../amd/display/dc/dcn314/dcn314_resource.c | 8 +- .../amd/display/dc/dcn315/dcn315_resource.c | 1 + .../amd/display/dc/dcn316/dcn316_resource.c | 1 + .../gpu/drm/amd/display/dc/dcn32/dcn32_dccg.c | 3 +- .../gpu/drm/amd/display/dc/dcn32/dcn32_hubp.c | 4 +- .../gpu/drm/amd/display/dc/dcn32/dcn32_hubp.h | 2 +- .../drm/amd/display/dc/dcn32/dcn32_hwseq.c | 23 ++- .../gpu/drm/amd/display/dc/dcn32/dcn32_optc.c | 63 +++++++- .../drm/amd/display/dc/dcn32/dcn32_resource.c | 153 ++++++++++++++++-- .../drm/amd/display/dc/dcn32/dcn32_resource.h | 7 + .../display/dc/dcn32/dcn32_resource_helpers.c | 18 ++- .../amd/display/dc/dcn321/dcn321_resource.c | 4 +- .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.c | 87 ++++++++++ .../drm/amd/display/dc/dml/dcn20/dcn20_fpu.h | 4 + .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.c | 63 ++++++++ .../drm/amd/display/dc/dml/dcn30/dcn30_fpu.h | 8 + .../drm/amd/display/dc/dml/dcn32/dcn32_fpu.c | 71 ++++++-- .../amd/display/dc/dml/dcn321/dcn321_fpu.c | 4 +- .../gpu/drm/amd/display/dc/inc/clock_source.h | 7 +- .../gpu/drm/amd/display/dc/inc/core_types.h | 1 + drivers/gpu/drm/amd/display/dc/inc/hw/dccg.h | 3 +- drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 2 +- .../amd/display/dc/inc/hw/stream_encoder.h | 2 + .../drm/amd/display/dc/link/link_hwss_dio.c | 7 + .../amd/display/dc/link/link_hwss_hpo_dp.c | 4 +- .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 9 +- 71 files changed, 867 insertions(+), 258 deletions(-) -- 2.37.1