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

Reply via email to