Hi Dave, Simona, Updates for 7.2.
The following changes since commit 1f863fe67343e2f45fc0af75ac94c3705bdf6537: Merge tag 'drm-intel-next-2026-05-14' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next (2026-05-15 15:37:16 +1000) are available in the Git repository at: https://gitlab.freedesktop.org/agd5f/linux.git tags/amd-drm-next-7.2-2026-05-20 for you to fetch changes up to 4cdbba5a16aaf16513b69cc332b1d6f971a44b52: drm/amdgpu: restructure VM state machine v4 (2026-05-19 11:54:32 -0400) ---------------------------------------------------------------- amd-drm-next-7.2-2026-05-20: amdgpu: - Userq fixes - VPE fix - SMU 15 fix - Misc fixes - VCE fixes - DC bios parsing fixes - DC aux fix - Mode1 reset fix - RAS fixes - SR-IOV fixes - Runtime PM clean up - DCN 4.2 updates - eDP fixes - PSR power module update - ISM fixes - DP MST fixes - Replay power module update - Auxless ALPM support - ACP memory leaks in error paths fixed - Restructure VM state machine amdkfd: - Misc fixes - MES 12.1 SDMA updates radeon: - CS parser fix ---------------------------------------------------------------- Alan Liu (1): drm/amdgpu/vpe: Force collaborate sync after TRAP Amber Lin (2): drm/amdgpu: Support MES suspend_all_sdma_gangs drm/amdkfd: Enable SDMA queue reset on gfx v12.1 Amir Shetaia (1): drm/amdgpu: reject non-user addresses early in GEM_USERPTR ioctl Aric Cyr (2): drm/amd/display: Fix assertion due to disable/enable CM blocks drm/amd/display: Enable additional wait for pipe pending checks Candice Li (4): drm/amd/ras: bound CPER record fetch buffer size drm/amdgpu: cap ATOM command table nesting depth drm/amdgpu: Bound GPIO I2C table entry count from VBIOS drm/amdgpu: validate and share PSP fw_pri_buf copies via psp_copy_fw Ce Sun (3): drm/amdgpu: avoid integer overflow in VA range check drm/amdgpu: Fix memory leak of i2s_pdata in ACP initialization drm/amd/ras: Add more IP versions for uniras Charlene Liu (1): drm/amd/display: Allow power up when PG disallowed in driver Chenglei Xie (1): drm/amdgpu: fix OOB risk parsing virt RAS batch trace replies on the VF Christian König (3): drm/amdgpu: rework userq reset work handling drm/amdgpu: fix handling in amdgpu_userq_create drm/amdgpu: restructure VM state machine v4 Cruise Hung (1): drm/amd/display: Exclude the MST overhead from BW deallocation David Francis (2): drm/amdkfd: Check bounds on allocate_doorbell drm/amdkfd: Check bounds for allocate_sdma_queue restore_sdma_id Gangliang Xie (3): drm/amdgpu: add first record offset check drm/amd/ras: add first record offset check drm/amd/ras: return error when converting records to nps pages fails Harry Wentland (4): drm/amdgpu: Remove UML build exclusion from Kconfig drm/amd/display: Fix integer overflow in bios_get_image() drm/amd/display: Validate GPIO pin LUT table size before iterating drm/amd/display: Validate payload length and link_index in dc_process_dmub_aux_transfer_async James Lin (2): drm/amd/display: Add some missing code for dcn42 Revert "drm/amd/display: dmub_cmd.h: add missing kernel-doc for enums" Leon Huang (1): drm/amd/display: Add Auxless-ALPM support in VESA Panel Replay Lijo Lazar (1): drm/amdgpu: Fix discovery offset check under VF Lohita Mudimela (2): drm/amd/display: Refactor PSR functionality into dedicated power_psr module drm/amd/display: Refactor Replay functionality into dedicated power_replay module Mario Limonciello (1): drm/amd: Reduce code duplication in runtime PM Ray Wu (2): drm/amd/display: Fix ISM dc_lock deadlock during suspend drm/amd/display: Use lockdep_assert_held() for dc_lock check Sunday Clement (1): drm/amdkfd: Fix OOB memory exposure in get_wave_state() Sung-huai Wang (1): drm/amd/display: Fix eDP receiver ready status check in T7 sequence Sunil Khatri (7): drm/amdgpu/userq: use drm_exec in amdgpu_userq_fence_read_wptr drm/amdgpu/userq: pin mqd and fw object bo to avoid eviction drm/amdgpu/userq: cancel reset work while tear down in progress drm/amdgpu/userq: update the vm task info during signal ioctl drm/amdgpu: remove va cursors for all mappings drm/amdgpu: use atomic operation to achieve lockless serialization drm/amdgpu: userq_va_mapped should remain true once done Taimur Hassan (1): drm/amd/display: Promote DC to 3.2.383 Timur Kristóf (9): drm/amdgpu: Align amdgpu_gtt_mgr entries to TLB size on Tahiti (v2) drm/amdgpu/vce1: Check that the GPU address is < 128 MiB drm/amdgpu/vce1: Remove superfluous address check drm/amdgpu/vce1: Check if VRAM address is lower than GART. drm/amdgpu/vce1: Don't repeat GTT MGR node allocation drm/amdgpu/vce1: Fix VCE 1 firmware size and offsets drm/amdgpu/vce1: Stop using amdgpu_vce_resume drm/amdgpu/vce2: Fix VCE 2 firmware size and offsets drm/amdgpu/vce3: Fix VCE 3 firmware size and offsets Vitaliy Triang3l Kuzmin (1): drm/radeon/evergreen_cs: Add missing NULL prefix check in surface check Wei-Guang Li (1): drm/amd/display: Add debug option for replay ESD recovery Wenxian Wang (1): drm/amd/display: Add ADDR3 swizzle modes Xiang Liu (3): drm/amd/ras: Fix UMC error address allocation leak drm/amd/ras: reset CPER ring on corrupt entry size drm/amd/ras: Fix SMU EEPROM record field decoding Yang Wang (1): drm/amd/pm: fix memleak of dpm_policies on smu v15 YiPeng Chai (7): drm/amd/ras: use mutex to prevent concurrent access conflicts drm/amd/ras: add error handling for seqno operations drm/amd/ras: remove unused code drm/amd/ras: fix memory leak on ras sw_init failure drm/amd/ras: add length check for ras command output buffer drm/amd/ras: copy ras log data instead of referencing pointers drm/amdgpu: check and drop invalid bad page records Yifan Zhang (1): drm/amdgpu: unmap all user mappings of framebuffer and doorbell before mode1 reset chong li (1): drm/amdgpu: Add guest driver CUID support drivers/gpu/drm/amd/amdgpu/Kconfig | 1 - drivers/gpu/drm/amd/amdgpu/amdgpu.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 76 +- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.c | 25 + drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c | 24 +- drivers/gpu/drm/amd/amdgpu/amdgpu_cper.c | 20 +- drivers/gpu/drm/amd/amdgpu/amdgpu_debugfs.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 +- drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 50 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 8 +- drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c | 9 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mes.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 32 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 27 + drivers/gpu/drm/amd/amdgpu/amdgpu_ras_eeprom.c | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c | 13 +- drivers/gpu/drm/amd/amdgpu/amdgpu_umc.c | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 277 ++-- drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h | 16 +- drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 55 +- drivers/gpu/drm/amd/amdgpu/amdgpu_virt.c | 40 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 536 ++++---- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 69 +- drivers/gpu/drm/amd/amdgpu/amdgpu_vm_pt.c | 4 - drivers/gpu/drm/amd/amdgpu/amdgpu_vpe.c | 7 +- drivers/gpu/drm/amd/amdgpu/amdgv_sriovmsg.h | 2 +- drivers/gpu/drm/amd/amdgpu/atom.c | 11 + drivers/gpu/drm/amd/amdgpu/atom.h | 3 + drivers/gpu/drm/amd/amdgpu/mes_v12_1.c | 1 + drivers/gpu/drm/amd/amdgpu/psp_v11_0.c | 8 +- drivers/gpu/drm/amd/amdgpu/psp_v12_0.c | 8 +- drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 14 +- drivers/gpu/drm/amd/amdgpu/psp_v13_0_4.c | 14 +- drivers/gpu/drm/amd/amdgpu/psp_v14_0.c | 14 +- drivers/gpu/drm/amd/amdgpu/psp_v3_1.c | 8 +- drivers/gpu/drm/amd/amdgpu/vce_v1_0.c | 64 +- drivers/gpu/drm/amd/amdgpu/vce_v2_0.c | 9 +- drivers/gpu/drm/amd/amdgpu/vce_v3_0.c | 2 +- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 22 + .../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 9 + drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c | 11 +- drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 1 + drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 3 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 25 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_ism.c | 60 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_ism.h | 1 + drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 9 + .../drm/amd/display/dc/bios/bios_parser_helper.c | 9 +- .../amd/display/dc/clk_mgr/dcn42/dcn42_clk_mgr.c | 2 + drivers/gpu/drm/amd/display/dc/core/dc.c | 6 +- drivers/gpu/drm/amd/display/dc/dc.h | 3 +- drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 4 +- .../gpu/drm/amd/display/dc/dpp/dcn30/dcn30_dpp.c | 3 + .../drm/amd/display/dc/dpp/dcn30/dcn30_dpp_cm.c | 1 + .../amd/display/dc/dpp/dcn401/dcn401_dpp_dscl.c | 1 + .../amd/display/dc/hubbub/dcn401/dcn401_hubbub.c | 2 + .../drm/amd/display/dc/hwss/dcn10/dcn10_hwseq.c | 8 +- .../gpu/drm/amd/display/dc/hwss/dcn10/dcn10_init.c | 2 + .../gpu/drm/amd/display/dc/hwss/dcn20/dcn20_init.c | 2 + .../gpu/drm/amd/display/dc/hwss/dcn30/dcn30_init.c | 2 + .../drm/amd/display/dc/hwss/dcn301/dcn301_init.c | 2 + .../gpu/drm/amd/display/dc/hwss/dcn31/dcn31_init.c | 2 + .../drm/amd/display/dc/hwss/dcn314/dcn314_init.c | 2 + .../gpu/drm/amd/display/dc/hwss/dcn32/dcn32_init.c | 2 + .../drm/amd/display/dc/hwss/dcn401/dcn401_init.c | 2 + .../drm/amd/display/dc/hwss/dcn42/dcn42_hwseq.c | 5 +- drivers/gpu/drm/amd/display/dc/inc/hw/optc.h | 1 - drivers/gpu/drm/amd/display/dc/link/link_dpms.c | 41 +- .../dc/link/protocols/link_dp_irq_handler.c | 14 +- .../dc/link/protocols/link_dp_panel_replay.c | 13 + .../dc/link/protocols/link_edp_panel_control.c | 4 +- .../gpu/drm/amd/display/dc/optc/dcn35/dcn35_optc.c | 1 - .../gpu/drm/amd/display/dc/optc/dcn42/dcn42_optc.c | 2 - .../drm/amd/display/dc/pg/dcn42/dcn42_pg_cntl.c | 43 +- .../amd/display/dc/resource/dcn42/dcn42_resource.c | 10 +- .../amd/display/dc/resource/dcn42/dcn42_resource.h | 7 + drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 156 +-- .../gpu/drm/amd/display/modules/inc/mod_power.h | 23 - drivers/gpu/drm/amd/display/modules/power/Makefile | 4 +- drivers/gpu/drm/amd/display/modules/power/power.c | 1343 +------------------- .../gpu/drm/amd/display/modules/power/power_abm.c | 98 -- .../drm/amd/display/modules/power/power_helpers.c | 250 ---- .../drm/amd/display/modules/power/power_helpers.h | 121 ++ .../gpu/drm/amd/display/modules/power/power_psr.c | 665 ++++++++++ .../drm/amd/display/modules/power/power_replay.c | 911 +++++++++++++ drivers/gpu/drm/amd/pm/swsmu/smu15/smu_v15_0.c | 2 + drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_cmd.c | 8 +- drivers/gpu/drm/amd/ras/ras_mgr/amdgpu_ras_mgr.c | 26 +- .../gpu/drm/amd/ras/ras_mgr/amdgpu_virt_ras_cmd.c | 55 +- drivers/gpu/drm/amd/ras/rascore/ras.h | 1 - drivers/gpu/drm/amd/ras/rascore/ras_cmd.c | 108 +- drivers/gpu/drm/amd/ras/rascore/ras_cmd.h | 12 +- drivers/gpu/drm/amd/ras/rascore/ras_core.c | 6 +- drivers/gpu/drm/amd/ras/rascore/ras_cper.c | 20 +- drivers/gpu/drm/amd/ras/rascore/ras_cper.h | 2 +- drivers/gpu/drm/amd/ras/rascore/ras_eeprom.c | 7 + drivers/gpu/drm/amd/ras/rascore/ras_eeprom_fw.c | 8 +- drivers/gpu/drm/amd/ras/rascore/ras_log_ring.c | 23 +- drivers/gpu/drm/amd/ras/rascore/ras_log_ring.h | 2 +- drivers/gpu/drm/amd/ras/rascore/ras_umc.c | 5 +- drivers/gpu/drm/radeon/evergreen_cs.c | 6 +- 107 files changed, 2975 insertions(+), 2716 deletions(-) create mode 100644 drivers/gpu/drm/amd/display/modules/power/power_psr.c create mode 100644 drivers/gpu/drm/amd/display/modules/power/power_replay.c
