This DC patchset brings improvements in multiple areas. In summary, we have:
* Unified dc_update_state commit interface with dc_probe model,
dc_state_get_status, and perfmon BLS sequence
* DCN42 enhancements including mcache programming, PMFW DF C-state client,
and DCCG clocking fix
* DML2.1 writeback validation plus MCIF ARB and watermark/latency updates
* Color management refactor to dc_plane_cm with plane/CRTC colorop test coverage
* Greatly enhanced KUnit coverage across amdgpu_dm, connector, CRC, DMUB, and
color management
* HDMI AV mute timing, DP link training logging, and Apple Studio Display fixes
* Code cleanup including DCE trim from DCN-only builds and HWSS refactors
* SPL UPSP upsampling and YUV422/YUV444 scaling support
* Fix missing dc_3dlut forward declaration in color management KUnit headers
* Fix DM IRQ schedule-work KUnit tests after cancel_work_sync teardown change
---
Alex Hung (26):
drm/amd/display: add dm_dmub_hw_init KUnit coverage
drm/amd/display: add dm_dmub_hw_resume KUnit coverage
drm/amd/display: add fused IO KUnit coverage
drm/amd/display: add DMUB command sync KUnit coverage
drm/amd/display: add VBIOS bounding box KUnit test
drm/amd/display: Test color mod init and 3D LUT size
drm/amd/display: Test plane colorop helper walkers
drm/amd/display: Test CRTC color management update
drm/amd/display: Test plane color management update
drm/amd/display: Test plane colorop pipeline update
drm/amd/display: add KUnit tests for DM IP-block callbacks
drm/amd/display: add KUnit tests for DM CRTC vblank/scanout
drm/amd/display: add KUnit tests for DM atomic state helpers
drm/amd/display: add KUnit tests for DM stream scaling
drm/amd/display: add KUnit tests for HDCP state diffing
drm/amd/display: add KUnit tests for freesync config
drm/amd/display: add KUnit tests for per-frame master sync
drm/amd/display: add KUnit tests for stutter quirk
drm/amd/display: add KUnit tests for DPCD poweroff delay
drm/amd/display: add CRC source list KUnit coverage
drm/amd/display: add CRC source verify KUnit coverage
drm/amd/display: add CRC configure KUnit coverage
drm/amd/display: add CRC set-source KUnit coverage
drm/amd/display: add CRC IRQ handler KUnit coverage
drm/amd/display: Fix missing dc_3dlut forward declaration
drm/amd/display: Flush IRQ workqueue in schedule-work tests
Aurabindo Pillai (2):
drm/amd/display: Adjust the structure dml2_dchub_watermark_regs
drm/amd/display: Adjust structure dml2_display_dlg_regs
Austin Zheng (1):
drm/amd/display: Add Writeback Watermarks and Latency Fields
Bhawanpreet Lakha (11):
drm/amd/display: Replace amdgpu_dm_kunit_helpers.h with dm_helpers.h
drm/amd/display: Add stream creation tests for connector
drm/amd/display: Add detect and poll tests for connector
drm/amd/display: Add register and unregister tests for connector
drm/amd/display: Add destroy tests for connector
drm/amd/display: Add encoder helper tests for connector
drm/amd/display: Add EDID management tests for connector
drm/amd/display: Add mode helper tests for connector
drm/amd/display: Add i2c and EDID parsing tests for connector
drm/amd/display: Add mode validation and CEC tests for connector
drm/amd/display: Add stream validation tests for connector
Clara Wong (1):
drm/amd/display: Reduce DML reinitialization when params don't change
Dillon Varone (4):
drm/amd/display: Correct pipe usage for populating stream config
drm/amd/display: Add MCIF ARB programming structures
drm/amd/display: Add updated MCIF ARB register definitions
drm/amd/display: Add DWB validation support to DML2.1 wrapper
Dominik Kaszewski (1):
drm/amd/display: Split DPMS ON into parts
Dyllan Kobal (1):
drm/amd/display: fix wrong register field in
dccg35_set_hdmistreamclk_src_new
Gaghik Khachatrian (1):
drm/amd/display: Trim DCE from DCN-only builds
Gleb Markov (1):
drm/amd/display: Remove unused-but-set variable hubp from
Ilya Bakoulin (1):
drm/amd/display: Fix DP LT failure logging
Jerry Zuo (1):
drm/amd/display: hide Apple Studio Display secondary tile
Justin Chen (1):
drm/amd/display: Revert Fix DMSS not triggering for HDR to SDR
transition
Leo Chen (1):
drm/amd/display: Register DCN as a PMFW DF C-state client on DCN42
Matthew Stewart (1):
drm/amd/display: Add DCHUBBUB_HW_DEBUG offset/mask
Pengpeng Hou (1):
drm/amd/display: wire DCN42B mcache programming callback
Ray Wu (1):
drm/amd/display: Increase HDMI AV mute wait from 2 to 3 frames
Robin Chen (1):
drm/amd/display: fix debug flags assignment in dmub_replay.c
Taimur Hassan (1):
drm/amd/display: Promote DC to 3.2.390
Tomasz Siemek (3):
drm/amd/display: Drop CONFIG_DRM_AMD_DC_DCN4_2 from 3dlut code
drm/amd/display: Refactor DPP_PROGRAM_GAMUT_REMAP to drop pipe_ctx
param
drm/amd/display: Refactor DPP_SET_OUTPUT_TRANSFER_FUNC to drop
pipe_ctx
Wayne Lin (1):
drm/amd/display: Add SPL UPSP upsampling and YUV422 scaling support
WenTao Liang (1):
drm/amd/display: set new_stream to NULL after release
Wenjing Liu (7):
drm/amd/display: Introduce dc_probe public object model
drm/amd/display: Introduce dc_update_state unified commit interface
drm/amd/display: Refactor dc_validation_set array into single root
struct
drm/amd/display: Introduce dc_state_get_status unified status accessor
drm/amd/display: Introduce program_perfmon hwss hook and BLS perfmon
sequence
drm/amd/display: Wire probe commit path into dc_update_state
drm/amd/display: Make dc_state_update const in commit path
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 85 +-
.../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 33 +
.../amd/display/amdgpu_dm/amdgpu_dm_audio.c | 2 +-
.../display/amdgpu_dm/amdgpu_dm_backlight.c | 2 +-
.../amd/display/amdgpu_dm/amdgpu_dm_color.c | 16 +-
.../amd/display/amdgpu_dm/amdgpu_dm_color.h | 12 +
.../amd/display/amdgpu_dm/amdgpu_dm_colorop.c | 2 +-
.../display/amdgpu_dm/amdgpu_dm_connector.c | 117 +-
.../display/amdgpu_dm/amdgpu_dm_connector.h | 45 +
.../drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 7 +-
.../amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 2 +-
.../amd/display/amdgpu_dm/amdgpu_dm_dmub.c | 11 +-
.../amd/display/amdgpu_dm/amdgpu_dm_dmub.h | 9 +
.../amd/display/amdgpu_dm/amdgpu_dm_hdcp.c | 1 -
.../amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 12 +-
.../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c | 2 +-
.../drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c | 2 +-
.../amdgpu_dm/amdgpu_dm_kunit_helpers.h | 20 -
.../display/amdgpu_dm/amdgpu_dm_mst_types.c | 1 -
.../amd/display/amdgpu_dm/amdgpu_dm_plane.c | 2 +-
.../amd/display/amdgpu_dm/amdgpu_dm_pp_smu.c | 2 +-
.../drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 2 +-
.../amd/display/amdgpu_dm/amdgpu_dm_quirks.c | 2 +-
.../amd/display/amdgpu_dm/amdgpu_dm_replay.c | 2 +-
.../display/amdgpu_dm/amdgpu_dm_services.c | 2 +-
.../drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c | 2 +-
.../amdgpu_dm/tests/amdgpu_dm_color_test.c | 799 +++++++
.../tests/amdgpu_dm_connector_test.c | 1541 +++++++++++++
.../amdgpu_dm/tests/amdgpu_dm_crc_test.c | 728 ++++++
.../amdgpu_dm/tests/amdgpu_dm_dmub_test.c | 837 +++++++
.../amdgpu_dm/tests/amdgpu_dm_irq_test.c | 31 +-
.../display/amdgpu_dm/tests/amdgpu_dm_test.c | 1220 ++++++++++
.../display/dc/bios/bios_parser_interface.c | 2 +
.../display/dc/bios/command_table_helper.c | 2 +
.../display/dc/bios/command_table_helper.h | 2 +
.../display/dc/bios/command_table_helper2.c | 2 +
.../display/dc/bios/command_table_helper2.h | 4 +-
.../dc/bios/command_table_helper_struct.h | 2 +
.../dc/bios/dcn10/command_table_helper2_dcn.c | 293 +++
.../dc/bios/dcn10/command_table_helper2_dcn.h | 34 +
.../gpu/drm/amd/display/dc/clk_mgr/Makefile | 2 +-
.../gpu/drm/amd/display/dc/clk_mgr/clk_mgr.c | 4 +
.../display/dc/clk_mgr/dcn10/dcn10_clk_mgr.c | 203 ++
.../display/dc/clk_mgr/dcn10/dcn10_clk_mgr.h | 43 +
.../display/dc/clk_mgr/dcn10/rv1_clk_mgr.c | 9 +-
.../display/dc/clk_mgr/dcn10/rv2_clk_mgr.c | 6 +-
.../display/dc/clk_mgr/dcn20/dcn20_clk_mgr.c | 12 +-
.../dc/clk_mgr/dcn201/dcn201_clk_mgr.c | 6 +-
.../amd/display/dc/clk_mgr/dcn21/rn_clk_mgr.c | 6 +-
.../display/dc/clk_mgr/dcn30/dcn30_clk_mgr.c | 8 +-
.../display/dc/clk_mgr/dcn301/vg_clk_mgr.c | 8 +-
.../display/dc/clk_mgr/dcn31/dcn31_clk_mgr.c | 10 +-
.../dc/clk_mgr/dcn314/dcn314_clk_mgr.c | 10 +-
.../dc/clk_mgr/dcn315/dcn315_clk_mgr.c | 10 +-
.../dc/clk_mgr/dcn316/dcn316_clk_mgr.c | 10 +-
.../display/dc/clk_mgr/dcn32/dcn32_clk_mgr.c | 18 +-
.../display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 12 +-
.../dc/clk_mgr/dcn401/dcn401_clk_mgr.c | 18 +-
.../display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c | 42 +-
.../display/dc/clk_mgr/dcn42/dcn42_clk_mgr.h | 1 +
.../amd/display/dc/clk_mgr/dcn42/dcn42_smu.c | 29 +-
.../amd/display/dc/clk_mgr/dcn42/dcn42_smu.h | 2 +
.../dc/clk_mgr/dcn42b/dcn42b_clk_mgr.c | 10 +-
drivers/gpu/drm/amd/display/dc/core/dc.c | 471 ++--
.../drm/amd/display/dc/core/dc_hw_sequencer.c | 424 +++-
.../gpu/drm/amd/display/dc/core/dc_resource.c | 176 +-
drivers/gpu/drm/amd/display/dc/core/dc_sink.c | 3 +
.../gpu/drm/amd/display/dc/core/dc_state.c | 72 +-
.../gpu/drm/amd/display/dc/core/dc_stream.c | 24 +-
drivers/gpu/drm/amd/display/dc/dc.h | 217 +-
drivers/gpu/drm/amd/display/dc/dc_probe.h | 97 +
drivers/gpu/drm/amd/display/dc/dc_state.h | 7 +
drivers/gpu/drm/amd/display/dc/dc_stream.h | 30 +-
drivers/gpu/drm/amd/display/dc/dc_types.h | 9 +-
.../amd/display/dc/dccg/dcn35/dcn35_dccg.c | 2 +-
.../gpu/drm/amd/display/dc/dce/dmub_replay.c | 2 +-
.../dc/dcn10/dcn10_hw_sequencer_debug.c | 2 +-
drivers/gpu/drm/amd/display/dc/dm_helpers.h | 11 +
.../dml2_0/dml21/dml21_translation_helper.c | 84 +-
.../amd/display/dc/dml2_0/dml21/dml21_utils.c | 17 +
.../amd/display/dc/dml2_0/dml21/dml21_utils.h | 5 +
.../dc/dml2_0/dml21/dml21_wrapper_fpu.c | 27 +-
.../dml21/inc/dml_top_dchub_registers.h | 30 +
.../dc/dml2_0/dml21/inc/dml_top_types.h | 5 +
.../dml21/src/dml2_core/dml2_core_dcn4.c | 34 +-
.../src/dml2_core/dml2_core_dcn4_calcs.c | 71 +-
.../src/dml2_core/dml2_core_dcn4_calcs.h | 2 +
.../src/dml2_core/dml2_core_shared_types.h | 2 +
.../dml21/src/dml2_dpmm/dml2_dpmm_dcn4.c | 21 +
.../gpu/drm/amd/display/dc/gpio/hw_factory.c | 4 +
.../drm/amd/display/dc/gpio/hw_translate.c | 4 +
.../display/dc/hubbub/dcn35/dcn35_hubbub.h | 7 +-
.../amd/display/dc/hubp/dcn10/dcn10_hubp.c | 3 +-
.../amd/display/dc/hwss/dce110/dce110_hwseq.c | 32 +-
.../amd/display/dc/hwss/dce110/dce110_hwseq.h | 3 +
.../amd/display/dc/hwss/dce60/dce60_hwseq.c | 2 +-
.../amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 1989 ++++++++++++++++-
.../amd/display/dc/hwss/dcn10/dcn10_hwseq.h | 71 +-
.../amd/display/dc/hwss/dcn10/dcn10_init.c | 44 +-
.../amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 22 +-
.../amd/display/dc/hwss/dcn20/dcn20_hwseq.h | 3 +-
.../amd/display/dc/hwss/dcn20/dcn20_init.c | 42 +-
.../amd/display/dc/hwss/dcn201/dcn201_init.c | 44 +-
.../amd/display/dc/hwss/dcn21/dcn21_hwseq.c | 8 +-
.../amd/display/dc/hwss/dcn21/dcn21_init.c | 36 +-
.../amd/display/dc/hwss/dcn30/dcn30_hwseq.c | 71 +-
.../amd/display/dc/hwss/dcn30/dcn30_hwseq.h | 6 +-
.../amd/display/dc/hwss/dcn30/dcn30_init.c | 34 +-
.../amd/display/dc/hwss/dcn301/dcn301_init.c | 32 +-
.../amd/display/dc/hwss/dcn31/dcn31_hwseq.c | 21 +-
.../amd/display/dc/hwss/dcn31/dcn31_init.c | 34 +-
.../amd/display/dc/hwss/dcn314/dcn314_init.c | 32 +-
.../amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 31 +-
.../amd/display/dc/hwss/dcn32/dcn32_hwseq.h | 8 +-
.../amd/display/dc/hwss/dcn32/dcn32_init.c | 34 +-
.../amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 7 +-
.../amd/display/dc/hwss/dcn35/dcn35_init.c | 32 +-
.../amd/display/dc/hwss/dcn351/dcn351_init.c | 32 +-
.../amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 72 +-
.../amd/display/dc/hwss/dcn401/dcn401_hwseq.h | 6 +-
.../amd/display/dc/hwss/dcn401/dcn401_init.c | 34 +-
.../amd/display/dc/hwss/dcn42/dcn42_hwseq.c | 17 +-
.../amd/display/dc/hwss/dcn42/dcn42_init.c | 34 +-
.../drm/amd/display/dc/hwss/hw_sequencer.h | 214 +-
.../display/dc/hwss/hw_sequencer_private.h | 6 +-
.../gpu/drm/amd/display/dc/inc/core_status.h | 10 +
.../gpu/drm/amd/display/dc/inc/core_types.h | 53 +
.../gpu/drm/amd/display/dc/inc/hw/clk_mgr.h | 10 +
.../gpu/drm/amd/display/dc/inc/hw/dchubbub.h | 18 +-
.../gpu/drm/amd/display/dc/inc/hw/mcif_wb.h | 24 +-
.../gpu/drm/amd/display/dc/inc/link_service.h | 4 +-
drivers/gpu/drm/amd/display/dc/inc/resource.h | 7 +-
.../gpu/drm/amd/display/dc/irq/irq_service.c | 31 +
.../gpu/drm/amd/display/dc/irq/irq_service.h | 9 +
.../gpu/drm/amd/display/dc/link/link_dpms.c | 184 +-
.../gpu/drm/amd/display/dc/link/link_dpms.h | 4 +-
.../dc/link/protocols/link_dp_training.c | 28 +-
drivers/gpu/drm/amd/display/dc/os_types.h | 10 +
.../dc/resource/dce100/dce100_resource.h | 1 -
.../dc/resource/dce112/dce112_resource.h | 7 -
.../dc/resource/dcn10/dcn10_resource.c | 2 +-
.../dc/resource/dcn20/dcn20_resource.c | 2 +-
.../dc/resource/dcn201/dcn201_resource.c | 2 +-
.../dc/resource/dcn21/dcn21_resource.c | 2 +-
.../dc/resource/dcn30/dcn30_resource.c | 2 +-
.../dc/resource/dcn301/dcn301_resource.c | 2 +-
.../dc/resource/dcn31/dcn31_resource.c | 4 +-
.../dc/resource/dcn314/dcn314_resource.c | 2 +-
.../dc/resource/dcn315/dcn315_resource.c | 2 +-
.../dc/resource/dcn316/dcn316_resource.c | 2 +-
.../dc/resource/dcn32/dcn32_resource.c | 2 +-
.../dc/resource/dcn321/dcn321_resource.c | 2 +-
.../dc/resource/dcn35/dcn35_resource.c | 2 +-
.../dc/resource/dcn351/dcn351_resource.c | 2 +-
.../dc/resource/dcn36/dcn36_resource.c | 2 +-
.../dc/resource/dcn401/dcn401_resource.c | 2 +-
.../dc/resource/dcn42/dcn42_resource.c | 2 +-
.../dc/resource/dcn42b/dcn42b_resource.c | 4 +-
drivers/gpu/drm/amd/display/dc/sspl/dc_spl.c | 202 +-
.../drm/amd/display/dc/sspl/dc_spl_types.h | 58 +-
.../amd/display/include/link_service_types.h | 6 +-
.../drm/amd/display/modules/power/power_psr.c | 7 -
.../amd/display/modules/power/power_replay.c | 7 -
163 files changed, 10920 insertions(+), 1087 deletions(-)
delete mode 100644
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_kunit_helpers.h
create mode 100644
drivers/gpu/drm/amd/display/dc/bios/dcn10/command_table_helper2_dcn.c
create mode 100644
drivers/gpu/drm/amd/display/dc/bios/dcn10/command_table_helper2_dcn.h
create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/dcn10_clk_mgr.c
create mode 100644 drivers/gpu/drm/amd/display/dc/clk_mgr/dcn10/dcn10_clk_mgr.h
create mode 100644 drivers/gpu/drm/amd/display/dc/dc_probe.h
--
2.43.0