This DC patchset brings improvements in multiple areas. In summary, we have:
* Fixes on EDID 8K parsing, cursor mode, backlight, OLED/VABC, and HDR to SDR * Improvements on DCN42 clocking, det allocation, and power gating * Greatly enhanced KUnit coverage across amdgpu_dm * Code cleanup Cc: Dan Wheeler <[email protected]> Alex Hung (32): drm/amd/display: Fix KUnit backlight tests for CACP drm/amd/display: Add KUnit tests for ism drm/amd/display: Test EDID and ACPI/VBIOS readers drm/amd/display: Test DPCD AUX and Synaptics helpers drm/amd/display: Test MST start/stop and panel settings drm/amd/display: Test I2C, stubs and MST early returns drm/amd/display: Test MCCS FreeSync VCP helpers drm/amd/display: Test MST payload and DSC enable helpers drm/amd/display: Test irq funcs/suspend/workqueue drm/amd/display: Test irq state setters and work drm/amd/display: Test HPD init/fini drm/amd/display: Test HPD interrupt handling drm/amd/display: Test dmub HPD callbacks and handlers drm/amd/display: Test high-IRQ and handler registration drm/amd/display: Test top-level IRQ handler and vmin/vmax worker drm/amd/display: Test format info and blending drm/amd/display: Test GFX9/GFX10 plane modifiers drm/amd/display: Test GFX11/GFX12 plane modifiers drm/amd/display: Test plane scaling info paths drm/amd/display: Test plane buffer attributes drm/amd/display: Test GFX9 DCC plane attributes drm/amd/display: Test GFX12 DCC plane attributes drm/amd/display: Test DCC and cursor edge cases drm/amd/display: Test helper_check_state rejects drm/amd/display: Test plane atomic check and hooks drm/amd/display: Add KUnit test for wb jobs drm/amd/display: Test MST coverage gaps drm/amd/display: Test backlight level programming path drm/amd/display: Test backlight level readback path drm/amd/display: Test backlight device registration drm/amd/display: Test panel power savings sysfs drm/amd/display: Test backlight ABM property attach Austin Zheng (1): drm/amd/display: Add Debug Option To Enable Per-DPM De-rate Usage Bhawanpreet Lakha (9): drm/amd/display: Add more tests for HDCP drm/amd/display: More Kunit tests for audio drm/amd/display: Add color space and timing tests for connector drm/amd/display: Add subconnector property tests for connector drm/amd/display: Add FBC init tests for connector drm/amd/display: Add MST link detection tests for connector drm/amd/display: Add crtc matching and panel type tests for connector drm/amd/display: Add CACP caps tests for connector drm/amd/display: Add stream property tests for connector Bhuvanachandra Pinninti (1): drm/amd/display: Fix dc_stream_remove_writeback dropping wrong writeback entries. Charlene Liu (6): drm/amd/display: add null pointer access check drm/amd/display: ensure dtbclk clk_src selected before hdmistream_clk_en drm/amd/display: limit reuse dsc capable bootup timing drm/amd/display: enable hdmistreamclk_rcg by default for dcn42 drm/amd/display: add DST_Y_DELTA_DRQ_LIMIT reg macro for later use drm/amd/display: add DST_Y_DELTA_DRQ_LIMIT hw programming Chenyu Chen (3): drm/amd/display: Enable CACP on Linux drm/amd/display: Fix dead-code panel type detection from DID drm/amd/display: Add KUnit tests for CACP on Linux Dillon Varone (1): drm/amd/display: Generalize DMUB memory flushes from host Dmytro Laktyushkin (4): drm/amd/display: update memclk clock table read for dcn42 drm/amd/display: remove unused dcn42 socbb values drm/amd/display: fix dcn42 det allocation order drm/amd/display: fix dcn42b det allocation order Dominik Kaszewski (2): drm/amd/display: Remove sink usage from DPMS drm/amd/display: Fix indenting of dpms on Fangzhi Zuo (3): drm/amd/display: Fix 8K Mode Not Parsed by EDID drm/amd/display: Allocate DCN32/1 dmub memory to GTT drm/amd/display: Skip Update HDCP Config In Transition State Gabe Teeger (3): drm/amd/display: Enable PSR and Replay on DCN4 variant [Part 2] drm/amd/display: Enable IPS support for DCN4 Variant drm/amd/display: Enable zstate support and fix seamless boot Iswara Nagulendran (1): drm/amd/display: Fix VABC Init and OLED Support James Lin (4): drm/amd/display: program dither on all OPP heads under ODM combine drm/amd/display: Add MALL status readback support for DCN 4.0.1 drm/amd/display: Re-evaluate cursor mode on plane position/size change drm/amd/display: don't re-evaluate cursor mode on cursor plane movement Karthi Kandasamy (1): drm/amd/display: Fix DMSS not triggering for HDR to SDR transition Leo Chen (1): drm/amd/display: Enable HUBP/DPP Driver PG for DCN42 Mario Limonciello (1): drm/amd/display: Fix backlight max_brightness to match exported range Matthew Stewart (3): drm/amd/display: Fix DCN42B null registers & register masks drm/amd/display: Add passive dongle handling in force_to_use_aux case drm/amd/display: Add DCN42B VID_CRC_CONTROL and HBLANK_CONTROL registers Nicholas Kazlauskas (1): drm/amd/display: Exit LS for ISHARP before coefficient write Srinivasan Shanmugam (1): drm/amd/display: Check dc_link before applying DSC policy Taimur Hassan (1): drm/amd/display: Promote DC to 3.2.389 Tom Chung (1): drm/amd/display: Tear down dangling pipe on boot to fix s0i3 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 33 + .../amd/display/amdgpu_dm/amdgpu_dm_audio.c | 36 +- .../amd/display/amdgpu_dm/amdgpu_dm_audio.h | 2 + .../display/amdgpu_dm/amdgpu_dm_backlight.c | 64 +- .../display/amdgpu_dm/amdgpu_dm_backlight.h | 15 + .../display/amdgpu_dm/amdgpu_dm_connector.c | 80 +- .../display/amdgpu_dm/amdgpu_dm_connector.h | 15 + .../amd/display/amdgpu_dm/amdgpu_dm_dmub.c | 16 +- .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 76 +- .../amd/display/amdgpu_dm/amdgpu_dm_hdcp.h | 5 + .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 90 +- .../amd/display/amdgpu_dm/amdgpu_dm_helpers.h | 41 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 84 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.h | 57 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c | 4 + .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 4 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.h | 1 + .../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 25 +- .../amd/display/amdgpu_dm/amdgpu_dm_plane.h | 9 + .../drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c | 6 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_wb.h | 4 + .../amdgpu_dm/tests/amdgpu_dm_audio_test.c | 118 + .../tests/amdgpu_dm_backlight_test.c | 734 +++- .../tests/amdgpu_dm_connector_test.c | 1655 +++++++ .../amdgpu_dm/tests/amdgpu_dm_hdcp_test.c | 240 + .../amdgpu_dm/tests/amdgpu_dm_helpers_test.c | 3867 +++++++++++++++-- .../amdgpu_dm/tests/amdgpu_dm_irq_test.c | 3201 +++++++++++++- .../amdgpu_dm/tests/amdgpu_dm_ism_test.c | 353 ++ .../tests/amdgpu_dm_mst_types_test.c | 371 +- .../amdgpu_dm/tests/amdgpu_dm_plane_test.c | 2070 ++++++++- .../amdgpu_dm/tests/amdgpu_dm_wb_test.c | 44 + .../display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c | 16 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 169 +- .../gpu/drm/amd/display/dc/core/dc_stream.c | 21 +- drivers/gpu/drm/amd/display/dc/dc.h | 7 +- drivers/gpu/drm/amd/display/dc/dc_dmub_srv.c | 4 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 8 + .../amd/display/dc/dccg/dcn35/dcn35_dccg.c | 9 +- .../amd/display/dc/dccg/dcn35/dcn35_dccg.h | 5 +- .../amd/display/dc/dccg/dcn42/dcn42_dccg.c | 2 +- drivers/gpu/drm/amd/display/dc/dce/Makefile | 4 +- drivers/gpu/drm/amd/display/dc/dce/dmub_abm.c | 73 +- .../drm/amd/display/dc/dce/dmub_abm_cacp.c | 213 + .../drm/amd/display/dc/dce/dmub_abm_cacp.h | 20 + .../gpu/drm/amd/display/dc/dce/dmub_abm_lcd.c | 4 +- .../display/dc/dio/dcn10/dcn10_link_encoder.c | 10 +- .../dml21/inc/bounding_boxes/dcn42_soc_bb.h | 6 - .../display/dc/dpp/dcn401/dcn401_dpp_dscl.c | 25 +- .../display/dc/hubbub/dcn401/dcn401_hubbub.c | 3 +- .../display/dc/hubbub/dcn401/dcn401_hubbub.h | 4 +- .../amd/display/dc/hubp/dcn20/dcn20_hubp.h | 3 +- .../amd/display/dc/hubp/dcn42/dcn42_hubp.c | 51 +- .../amd/display/dc/hubp/dcn42/dcn42_hubp.h | 5 + .../amd/display/dc/hwss/dce110/dce110_hwseq.c | 12 +- .../amd/display/dc/hwss/dcn21/dcn21_hwseq.c | 40 +- .../amd/display/dc/hwss/dcn21/dcn21_hwseq.h | 2 + .../amd/display/dc/hwss/dcn31/dcn31_hwseq.c | 70 +- .../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 15 +- .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 23 +- .../amd/display/dc/hwss/dcn42/dcn42_hwseq.c | 2 + drivers/gpu/drm/amd/display/dc/inc/hw/abm.h | 3 + .../drm/amd/display/dc/link/link_detection.c | 25 +- .../gpu/drm/amd/display/dc/link/link_dpms.c | 192 +- .../link/protocols/link_edp_panel_control.c | 13 +- .../dc/resource/dcn401/dcn401_resource.h | 3 +- .../dc/resource/dcn42/dcn42_resource.c | 7 +- .../dc/resource/dcn42/dcn42_resource.h | 1 + .../dc/resource/dcn42b/dcn42b_resource.c | 53 +- .../dc/resource/dcn42b/dcn42b_resource.h | 159 +- .../dcn401/dcn401_soc_and_ip_translator.c | 16 + drivers/gpu/drm/amd/display/dmub/dmub_srv.h | 9 +- .../gpu/drm/amd/display/dmub/src/dmub_srv.c | 55 +- .../drm/amd/display/modules/inc/mod_power.h | 11 + .../drm/amd/display/modules/power/power_abm.c | 136 +- .../amd/display/modules/power/power_helpers.h | 10 + .../drm/amd/display/modules/power/power_psr.c | 7 + .../amd/display/modules/power/power_replay.c | 7 + 77 files changed, 13975 insertions(+), 878 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dmub_abm_cacp.c create mode 100644 drivers/gpu/drm/amd/display/dc/dce/dmub_abm_cacp.h -- 2.55.0
