RE: [PATCH 00/82] DC Patches August 17, 2026

"Wheeler, Daniel" <[email protected]>
Newsgroups org.freedesktop.lists.amd-gfx
Message-ID <DS0PR12MB6534685A93A8792C41ED2FE39CA02@DS0PR12MB6534.namprd12.prod.outlook.com>
Public

Hi all,

This week this patchset was tested on 4 systems, two dGPU and two APU based, and tested across multiple display and connection types.

APU
        * Single Display eDP -> 1080p 60hz, 1920x1200 165hz, 3840x2400 60hz
        * Single Display DP (SST DSC) -> 4k144hz, 4k240hz
        * Multi display -> eDP + DP/HDMI/USB-C -> 1080p 60hz eDP + 4k 144hz, 4k 240hz (Includes USB-C to DP/HDMI adapters)
        * Thunderbolt -> LG Ultrafine 5k
        * MST DSC -> Cable Matters 101075 (DP to 3x DP) with 3x 4k60hz displays, HP Hook G2 with 2x 4k60hz displays
        * USB 4 -> HP Hook G4, Lenovo Thunderbolt Dock, both with 2x 4k60hz DP and 1x 4k60hz HDMI displays
        * SST PCON -> Club3D CAC-1085 + 1x 4k 144hz, FRL3, at a max resolution supported by the dongle of 4k 120hz YUV420 12bpc.
        * MST PCON -> 1x 4k 144hz, FRL3, at a max resolution supported by the adapter of 4k 120hz RGB 8bpc.

DGPU
        * Single Display DP (SST DSC) -> 4k144hz, 4k240hz
        * Multiple Display DP -> 4k240hz + 4k144hz
        * MST (Startech MST14DP123DP [DP to 3x DP] and 2x 4k 60hz displays)
        * MST DSC (with Cable Matters 101075 [DP to 3x DP] with 3x 4k60hz displays)

The testing is a mix of automated and manual tests. Manual testing includes (but is not limited to)
        * Changing display configurations and settings
        * Video/Audio playback
        * Benchmark testing
        * Suspend/Resume testing
        * Feature testing (Freesync, HDCP, etc.)

Automated testing includes (but is not limited to)
        * Script testing (scripts to automate some of the manual checks)
        * IGT testing

The testing is mainly tested on the following displays, but occasionally there are tests with other displays
        * Samsung G8 Neo 4k240hz
        * Samsung QN55QN95B 4k 120hz
        * Acer XV322QKKV 4k144hz
        * HP U27 4k Wireless 4k60hz
        * LG 27UD58B 4k60hz
        * LG 32UN650WA 4k60hz
        * LG Ultrafine 5k 5k60hz
        * AU Optronics B140HAN01.1 1080p 60hz eDP
        * AU Optronics B160UAN01.J 1920x1200 165hz eDP
        * Samsung ATNA60YV02-0 3840x2400 60Hz OLED eDP


The patchset consists of the amd-staging-drm-next branch (Head commit - a84de5c9feaa2dbffac1f062ad3b4c0deca1ccc7 -> drm/amd/display: validate plane degamma LUT size for private color prop) with new patches added on top of it.

Tested on Ubuntu 26.04, on Gnome Wayland.

Tested-by: Dan Wheeler <[email protected]>

Thank you,

Dan Wheeler
Sr. Technologist | AMD
SW Display
------------------------------------------------------------------------------------------------------------------
1 Commerce Valley Dr E, Thornhill, ON L3T 7X6
amd.com


-----Original Message-----
From: [email protected] <[email protected]>
Sent: Tuesday, August 18, 2026 4:15 PM
To: [email protected]
Cc: Wentland, Harry <[email protected]>; Li, Sun peng (Leo) <[email protected]>; Pillai, Aurabindo <[email protected]>; Li, Roman <[email protected]>; Lin, Wayne <[email protected]>; Chung, ChiaHsuan (Tom) <[email protected]>; Zuo, Jerry <[email protected]>; Wheeler, Daniel <[email protected]>; Wu, Ray <[email protected]>; LIPSKI, IVAN <[email protected]>; Hung, Alex <[email protected]>; Lin, Ping Lei <[email protected]>; Chen, Chen-Yu <[email protected]>
Subject: [PATCH 00/82] DC Patches August 17, 2026

From: Ivan Lipski <[email protected]>

This DC patchset brings improvements in multiple areas. In summary, we highlight:

     - Fix HPO test regressions.
     - Refactor DPP_SET_INPUT_TRANSFER_FUNC to drop pipe_ctx params.
     - Use fast update path for address-only plane flips.
     - Split OPTC_PIPE_CONTROL_LOCK into smaller helpers.
     - Fix DPREFCLK override when SMU isn't available.
     - Fix CalculateFlipSchedule calculation.
     - Add hook to disable alt-ch in PMO.
     - Update alt-ch size calculations.
     - Enable min dispclk ODM on DCN42.
     - Remove RMCM tetrahedral cube from dc_plane_state.
     - Fix mismatch number of OPP/DPP accounting.
     - Adjust vblank_nom policy for HW SDP throttling.
     - Add passthrough visual confirm.
     - Expand amdgpu_dm KUnit test coverage across cursor, MST, EDID, HDMI,
       IRQ, i2c, framebuffer, tiling/modifier and HPD paths.
     - Various fixes for Kunit tests related to HDMI FRL, IRQ and cursors.

Cc: Dan Wheeler <[email protected]>


Alex Hung (38):
  drm/amd/display: Test writeback connector
  drm/amd/display: Test GPU memory allocation
  drm/amd/display: Test EDID quirks and ACPI EDID read
  drm/amd/display: Test execute_synaptics_rc_command failures
  drm/amd/display: Test MST stream feature read failure
  drm/amd/display: Test dm_helpers_submit_i2c_over_aux
  drm/amd/display: Test GPU memory allocate and free helpers
  drm/amd/display: Test dm_helpers_dmub_set_config_sync
  drm/amd/display: Test dm_helpers_is_dp_sink_present
  drm/amd/display: Test dm_helpers_read_local_edid
  drm/amd/display: Test dp_handle_test_pattern_request patterns
  drm/amd/display: Test DMUB reg callbacks
  drm/amd/display: Test VBIOS bounding box
  drm/amd/display: Test dm_init_microcode
  drm/amd/display: Test dm_dmub_sw_init
  drm/amd/display: Test MST sideband message ack path
  drm/amd/display: Test dm_dp_mst_get_modes without a remote EDID
  drm/amd/display: Test dm_dp_mst_get_modes with a remote EDID
  drm/amd/display: Test dm_dp_mst_detect DPCD probe and unplug
  drm/amd/display: Test MST connector register and unregister
  drm/amd/display: Test dm_dp_mst_connector_destroy
  drm/amd/display: Test plane state duplicate and destroy
  drm/amd/display: Test modifier list de-duplication
  drm/amd/display: Test GFX6-8 tiling info from modifiers
  drm/amd/display: Test GFX6-8 tile mode and tile split lookups
  drm/amd/display: Test GFX6-8 modifier calculation
  drm/amd/display: Test GFX6-8 modifier list generation
  drm/amd/display: Test framebuffer prepare and cleanup
  drm/amd/display: Test cursor update and async plane update
  drm/amd/display: Refactor amdgpu_dm_irq_test
  drm/amd/display: Test pageflip completion in the high IRQ handlers
  drm/amd/display: Test writeback handling in dm_crtc_high_irq
  drm/amd/display: Test schedule_dc_vmin_vmax
  drm/amd/display: Test handle_hpd_irq_helper detect and debounce exits
  drm/amd/display: Test HPD RX, HPD init and DMUB callback branches
  drm/amd/display: Test dm_dmub_outbox1_low_irq drain and work guards
  drm/amd/display: Test amdgpu_dm_dce110_register_irq_handlers
  drm/amd/display: Test amdgpu_dm_dcn10_register_irq_handlers

Alvin Lee (3):
  drm/amd/display: Disable alt-ch until dependencies are ready
  drm/amd/display: Add hook to disable alt-ch in PMO
  drm/amd/display: Update alt-ch size calculations

Austin Zheng (1):
  drm/amd/display: Fix CalculateFlipSchedule Calculation

Bhawanpreet Lakha (24):
  drm/amd/display: Cover MST path in encoder atomic_check
  drm/amd/display: Cover amdgpu_dm_encoder_init
  drm/amd/display: Cover MST-start failure in detect_mst
  drm/amd/display: Cover amdgpu_dm_update_connector_after_detect
  drm/amd/display: Cover HDMI infoframe/freesync timing paths
  drm/amd/display: Add amdgpu_dm_connector_poll KUnit tests
  drm/amd/display: Cover hide_secondary_tile_from_userspace
  drm/amd/display: Cover dm_validate_stream_and_context
  drm/amd/display: Cover amdgpu_dm_create_validate_stream_for_sink
  drm/amd/display: Cover amdgpu_dm_connector_mode_valid
  drm/amd/display: Cover mode_valid EDID mgmt path
  drm/amd/display: Cover amdgpu_dm_fill_hdr_info_packet
  drm/amd/display: Cover amdgpu_dm_connector_atomic_check
  drm/amd/display: Cover atomic_check modeset triggers
  drm/amd/display: Cover funcs_force valid EDID path
  drm/amd/display: Cover amdgpu_dm_connector_get_modes
  drm/amd/display: Cover create_eml_sink valid EDID path
  drm/amd/display: Cover amdgpu_set_panel_orientation
  drm/amd/display: Cover amdgpu_dm_prune_primary_tile_modes
  drm/amd/display: Cover add_fs_modes mode generation
  drm/amd/display: Cover add_fs_modes illegal timing skip
  drm/amd/display: Cover hdmi_frl_status_polling_work
  drm/amd/display: Cover amdgpu_dm_i2c_xfer
  drm/amd/display: Cover amdgpu_dm_create_i2c

Dillon Varone (2):
  drm/amd/display: Fix mismatch number of OPP/DPP accounting
  drm/amd/display: Populate vblank_nom according to bounding box

Gabe Teeger (1):
  drm/amd/display: Enable min dispclk ODM on DCN42

Gaghik Khachatrian (1):
  drm/amd/display: Add passthrough visual confirm

Ilya Bakoulin (1):
  drm/amd/display: Clear HUBPREQ_DEBUG_DB on DCN6

Ivan Lipski (2):
  drm/amd/display: Refactor hdmi_frl_status_polling_work for Kunit
    testing
  drm/amd/display: Guard amdgpu_dm_irq_schedule_work against NULL irq_wq

James Lin (2):
  drm/amd/display: Fall back to overlay cursor on dcn4x when top plane
    doesn't fill CRTC
  drm/amd/display: Use fast update path for address-only plane flips

Meera Patel (1):
  drm/amd/display: Fix DPREFCLK override when SMU isn't present or ready
    for DCN315

Nicholas Kazlauskas (1):
  drm/amd/display: Adjust vblank_nom policy for HW SDP tranmission reqs

Rafal Ostrowski (1):
  drm/amd/display: Remove RMCM tetrahedral cube from dc_plane_state

Sridevi Arvindekar (1):
  drm/amd/display: Fixes for HPO test regressions

Taimur Hassan (1):
  drm/amd/display: Promote DC to 3.2.395

Tomasz Siemek (2):
  drm/amd/display: Refactor DPP_SET_INPUT_TRANSFER_FUNC to drop pipe_ctx
  drm/amd/display: Split OPTC_PIPE_CONTROL_LOCK into smaller HWSS blocks

 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c |   10 +-
 .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h |   10 +
 .../display/amdgpu_dm/amdgpu_dm_connector.c   |   18 +-
 .../display/amdgpu_dm/amdgpu_dm_connector.h   |    7 +
 .../amd/display/amdgpu_dm/amdgpu_dm_cursor.c  |   28 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_dmub.c    |   47 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_dmub.h    |   15 +
 .../amd/display/amdgpu_dm/amdgpu_dm_helpers.c |    6 +
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_irq.c |    3 +
 .../display/amdgpu_dm/amdgpu_dm_mst_types.c   |   12 +-
 .../display/amdgpu_dm/amdgpu_dm_mst_types.h   |    4 +
 .../amd/display/amdgpu_dm/amdgpu_dm_plane.c   |   48 +-
 .../amd/display/amdgpu_dm/amdgpu_dm_plane.h   |   12 +
 .../display/amdgpu_dm/amdgpu_dm_services.c    |   35 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_wb.c  |   72 +-
 .../drm/amd/display/amdgpu_dm/amdgpu_dm_wb.h  |   16 +
 .../tests/amdgpu_dm_connector_test.c          | 3387 ++++++++++++++++-
 .../amdgpu_dm/tests/amdgpu_dm_cursor_test.c   |   32 +-
 .../amdgpu_dm/tests/amdgpu_dm_dmub_test.c     |  578 ++-
 .../amdgpu_dm/tests/amdgpu_dm_helpers_test.c  |  862 ++++-
 .../amdgpu_dm/tests/amdgpu_dm_irq_test.c      | 1117 +++++-
 .../tests/amdgpu_dm_mst_types_test.c          |  741 ++++
 .../amdgpu_dm/tests/amdgpu_dm_plane_test.c    |  703 +++-
 .../amdgpu_dm/tests/amdgpu_dm_services_test.c |  228 +-
 .../amdgpu_dm/tests/amdgpu_dm_wb_test.c       |  330 ++
 .../dc/clk_mgr/dcn315/dcn315_clk_mgr.c        |    4 +-
 drivers/gpu/drm/amd/display/dc/core/dc.c      |   16 +-
 .../drm/amd/display/dc/core/dc_hw_sequencer.c |  193 +-
 .../gpu/drm/amd/display/dc/core/dc_resource.c |    7 +
 drivers/gpu/drm/amd/display/dc/dc.h           |    3 +-
 drivers/gpu/drm/amd/display/dc/dc_hw_types.h  |   18 +-
 drivers/gpu/drm/amd/display/dc/dce/dce_aux.c  |   12 +-
 .../dml2_0/dml21/dml21_translation_helper.c   |   30 +-
 .../amd/display/dc/dml2_0/dml21/dml21_utils.c |   15 +-
 .../dml21/inc/bounding_boxes/dcn42b_soc_bb.h  |   10 +-
 .../src/dml2_core/dml2_core_dcn4_calcs.c      |   34 +-
 .../dml2_core_dcn5_funcs_initialize.c         |    2 +-
 .../dml2_core_dcn5_funcs_mode_support.c       |   23 +-
 .../dml2_core/dml2_core_dcn6_calcs_dchub.c    |   47 +-
 .../dml2_core_dcn6_funcs_initialize.c         |    2 +
 .../dml2_core_dcn6_funcs_mode_support.c       |   27 +-
 .../src/dml2_core/dml2_core_shared_types.h    |    2 +
 drivers/gpu/drm/amd/display/dc/gpio/hw_ddc.c  |    7 +-
 .../amd/display/dc/hubp/dcn60/dcn60_hubp.c    |    3 +
 .../drm/amd/display/dc/hwss/dce/dce_hwseq.c   |   46 +-
 .../drm/amd/display/dc/hwss/dce/dce_hwseq.h   |   12 +-
 .../amd/display/dc/hwss/dce110/dce110_hwseq.c |   16 +-
 .../amd/display/dc/hwss/dce60/dce60_hwseq.c   |    8 +-
 .../amd/display/dc/hwss/dce80/dce80_hwseq.c   |    3 +-
 .../amd/display/dc/hwss/dcn10/dcn10_hwseq.c   |   66 +-
 .../amd/display/dc/hwss/dcn10/dcn10_hwseq.h   |    8 +-
 .../amd/display/dc/hwss/dcn10/dcn10_init.c    |    4 +-
 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.c   |  216 +-
 .../amd/display/dc/hwss/dcn20/dcn20_hwseq.h   |   21 +-
 .../amd/display/dc/hwss/dcn20/dcn20_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn201/dcn201_hwseq.c |   34 +-
 .../amd/display/dc/hwss/dcn201/dcn201_hwseq.h |    5 +-
 .../amd/display/dc/hwss/dcn201/dcn201_init.c  |    4 +-
 .../amd/display/dc/hwss/dcn21/dcn21_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn30/dcn30_hwseq.c   |   51 +-
 .../amd/display/dc/hwss/dcn30/dcn30_hwseq.h   |    8 +-
 .../amd/display/dc/hwss/dcn30/dcn30_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn301/dcn301_init.c  |    3 +-
 .../amd/display/dc/hwss/dcn31/dcn31_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn314/dcn314_init.c  |    3 +-
 .../amd/display/dc/hwss/dcn32/dcn32_hwseq.c   |   64 +-
 .../amd/display/dc/hwss/dcn32/dcn32_hwseq.h   |   10 +-
 .../amd/display/dc/hwss/dcn32/dcn32_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn35/dcn35_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn351/dcn351_init.c  |    3 +-
 .../amd/display/dc/hwss/dcn401/dcn401_hwseq.c |  174 +-
 .../amd/display/dc/hwss/dcn401/dcn401_hwseq.h |    9 +-
 .../amd/display/dc/hwss/dcn401/dcn401_init.c  |    3 +-
 .../amd/display/dc/hwss/dcn42/dcn42_hwseq.c   |   49 +-
 .../amd/display/dc/hwss/dcn42/dcn42_hwseq.h   |   12 +-
 .../amd/display/dc/hwss/dcn42/dcn42_init.c    |    3 +-
 .../amd/display/dc/hwss/dcn60/dcn60_init.c    |    3 +-
 .../drm/amd/display/dc/hwss/hw_sequencer.h    |   55 +-
 .../display/dc/hwss/hw_sequencer_private.h    |   21 +-
 .../gpu/drm/amd/display/dc/inc/hw/hw_shared.h |   10 -
 .../display/dc/link/hwss/link_hwss_hpo_dp.c   |   23 +-
 .../dc/link/protocols/link_dp_capability.c    |    3 +-
 .../dc/resource/dcn42/dcn42_resource.c        |    4 +-
 .../dc/resource/dcn42b/dcn42b_resource.c      |    4 +-
 .../dc/resource/dcn60/dcn60_resource.c        |    2 +
 85 files changed, 8768 insertions(+), 986 deletions(-)

--
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.