From: Ivan Lipski <[email protected]> This DC patchset brings improvements in multiple areas. In summary, we highlight:
- Add amdgpu_dm KUnit test for: * CRC function * HDCP process_output * colorop TF bitmasks * color helpers * PSR and Replay functions * ISM functions - Fix eDP receiver ready status check in T7 sequence - Enable dcn42 pstate pmo - Refactor PSR. Replay and ABM functionality into dedicated power modules - Fix assertion due to disable/enable CM blocks - Enable additional wait for pipe pending checks - Fix ISM dc_lock deadlock during suspend - Use lockdep_assert_held() for dc_lock check - Fix clear PSR config flow - Exclude the MST overhead from BW deallocation - Allow power up even w/ powergating disabled on DCN42 - Fix integer overflow in bios_get_image() - Validate GPIO pin LUT table size before iterating - Add Auxless-ALPM support in VESA Panel Replay - Add debug option for replay ESD recovery - Validate payload length and link_index in dc_process_dmub_aux_transfer_async - Add ADDR3 swizzle modes Cc: Dan Wheeler <[email protected]> Alex Hung (6): drm/amd/display: Add KUnit test for HDCP process_output drm/amd/display: Add KUnit test for colorop TF bitmasks drm/amd/display: Add KUnit test for color helpers drm/amd/display: Add KUnit test for PSR function drm/amd/display: Add KUnit test for replay drm/amd/display: Add KUnit test for ISM functions Aric Cyr (2): drm/amd/display: Fix assertion due to disable/enable CM blocks drm/amd/display: Enable additional wait for pipe pending checks Aurabindo Pillai (1): drm/amd/display: Add KUnit test for CRC function Charlene Liu (1): drm/amd/display: Allow power up when PG disallowed in driver Cruise Hung (1): drm/amd/display: Exclude the MST overhead from BW deallocation Dmytro Laktyushkin (1): drm/amd/display: Enable dcn42 pstate pmo Harry Wentland (3): drm/amd/display: Fix integer overflow in bios_get_image() drm/amd/display: Validate GPIO pin LUT table size before iterating drm/amd/display: Validate payload length and link_index in dc_process_dmub_aux_transfer_async James Lin (2): drm/amd/display: Add some missing code for dcn42 Revert "drm/amd/display: dmub_cmd.h: add missing kernel-doc for enums" Leon Huang (2): drm/amd/display: Fix clear PSR config flow drm/amd/display: Add Auxless-ALPM support in VESA Panel Replay Lohita Mudimela (2): drm/amd/display: Refactor PSR functionality into dedicated power_psr module drm/amd/display: Refactor Replay functionality into dedicated power_replay module Nicholas Kazlauskas (1): drm/amd/display: Enable DCN42 PMO policy Ray Wu (2): drm/amd/display: Fix ISM dc_lock deadlock during suspend drm/amd/display: Use lockdep_assert_held() for dc_lock check Sung-huai Wang (1): drm/amd/display: Fix eDP receiver ready status check in T7 sequence Taimur Hassan (1): drm/amd/display: Promote DC to 3.2.383 Wei-Guang Li (1): drm/amd/display: Add debug option for replay ESD recovery Wenxian Wang (1): drm/amd/display: Add ADDR3 swizzle modes drivers/gpu/drm/amd/display/Kconfig | 12 + .../gpu/drm/amd/display/amdgpu_dm/Makefile | 5 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 25 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 - .../amd/display/amdgpu_dm/amdgpu_dm_color.c | 65 +- .../amd/display/amdgpu_dm/amdgpu_dm_color.h | 89 ++ .../drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 17 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_crc.h | 7 + .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 5 +- .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.h | 13 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c | 80 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.h | 11 + .../amdgpu_dm/amdgpu_dm_kunit_helpers.h | 19 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 6 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h | 5 + .../amd/display/amdgpu_dm/amdgpu_dm_replay.c | 3 + .../amd/display/amdgpu_dm/tests/.kunitconfig | 14 + .../drm/amd/display/amdgpu_dm/tests/Makefile | 18 + .../amdgpu_dm/tests/amdgpu_dm_color_test.c | 1071 +++++++++++++ .../amdgpu_dm/tests/amdgpu_dm_colorop_test.c | 161 ++ .../amdgpu_dm/tests/amdgpu_dm_crc_test.c | 121 ++ .../amdgpu_dm/tests/amdgpu_dm_hdcp_test.c | 175 +++ .../amdgpu_dm/tests/amdgpu_dm_ism_test.c | 636 ++++++++ .../amdgpu_dm/tests/amdgpu_dm_psr_test.c | 255 ++++ .../amdgpu_dm/tests/amdgpu_dm_replay_test.c | 206 +++ .../drm/amd/display/dc/bios/bios_parser2.c | 9 + .../amd/display/dc/bios/bios_parser_helper.c | 9 +- .../display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc.c | 6 +- drivers/gpu/drm/amd/display/dc/dc.h | 3 +- drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 4 +- .../dml2_0/dml21/dml21_translation_helper.c | 5 +- .../dc/dml2_0/dml21/inc/dml_top_types.h | 1 + .../dml21/src/dml2_pmo/dml2_pmo_dcn42.c | 144 +- .../dml21/src/dml2_pmo/dml2_pmo_dcn42.h | 1 + .../dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 4 - .../dml21/src/dml2_pmo/dml2_pmo_factory.c | 16 + .../dml21/src/dml2_top/dml2_top_soc15.c | 30 +- .../drm/amd/display/dc/dml2_0/dml2_wrapper.h | 1 + .../drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c | 3 + .../amd/display/dc/dpp/dcn30/dcn30_dpp_cm.c | 1 + .../display/dc/dpp/dcn401/dcn401_dpp_dscl.c | 1 + .../display/dc/hubbub/dcn401/dcn401_hubbub.c | 2 + .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 8 +- .../amd/display/dc/hwss/dcn10/dcn10_init.c | 2 + .../amd/display/dc/hwss/dcn20/dcn20_init.c | 2 + .../amd/display/dc/hwss/dcn30/dcn30_init.c | 2 + .../amd/display/dc/hwss/dcn301/dcn301_init.c | 2 + .../amd/display/dc/hwss/dcn31/dcn31_init.c | 2 + .../amd/display/dc/hwss/dcn314/dcn314_init.c | 2 + .../amd/display/dc/hwss/dcn32/dcn32_init.c | 2 + .../amd/display/dc/hwss/dcn401/dcn401_init.c | 2 + .../amd/display/dc/hwss/dcn42/dcn42_hwseq.c | 5 +- drivers/gpu/drm/amd/display/dc/inc/hw/optc.h | 1 - .../gpu/drm/amd/display/dc/link/link_dpms.c | 41 +- .../dc/link/protocols/link_dp_irq_handler.c | 14 +- .../dc/link/protocols/link_dp_panel_replay.c | 13 + .../link/protocols/link_edp_panel_control.c | 26 +- .../amd/display/dc/optc/dcn35/dcn35_optc.c | 1 - .../amd/display/dc/optc/dcn42/dcn42_optc.c | 2 - .../amd/display/dc/pg/dcn42/dcn42_pg_cntl.c | 43 +- .../dc/resource/dcn42/dcn42_resource.c | 12 +- .../dc/resource/dcn42/dcn42_resource.h | 7 + .../gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 156 +- .../drm/amd/display/modules/inc/mod_power.h | 23 - .../drm/amd/display/modules/power/Makefile | 4 +- .../gpu/drm/amd/display/modules/power/power.c | 1343 +---------------- .../drm/amd/display/modules/power/power_abm.c | 98 -- .../amd/display/modules/power/power_helpers.c | 250 --- .../amd/display/modules/power/power_helpers.h | 121 ++ .../drm/amd/display/modules/power/power_psr.c | 665 ++++++++ .../amd/display/modules/power/power_replay.c | 911 +++++++++++ 72 files changed, 5060 insertions(+), 1963 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_color.h create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_kunit_helpers.h create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/.kunitconfig create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/Makefile create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_color_test.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_colorop_test.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_crc_test.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_hdcp_test.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_ism_test.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_psr_test.c create mode 100644 drivers/gpu/drm/amd/display/amdgpu_dm/tests/amdgpu_dm_replay_test.c create mode 100644 drivers/gpu/drm/amd/display/modules/power/power_psr.c create mode 100644 drivers/gpu/drm/amd/display/modules/power/power_replay.c -- 2.43.0
