[PATCH 00/70] DC Patches July 13, 2026

Wayne Lin <[email protected]>
Newsgroups org.freedesktop.lists.amd-gfx
Message-ID <[email protected]>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.