Hi Dave, Simona, Updates for 6.14. The following changes since commit 695c2c745e5dff201b75da8a1d237ce403600d04: drm/amdgpu: Handle NULL bo->tbo.resource (again) in amdgpu_vm_bo_update (2024-12-18 12:39:08 -0500) are available in the Git repository at: https://gitlab.freedesktop.org/agd5f/linux.git tags/amd-drm-next-6.14-2025-01-10 for you to fetch changes up to 812a33a65d00e3d813f5ed2c9923569acd0b445c: drm/amd/display: 3.2.316 (2025-01-10 12:12:47 -0500) ---------------------------------------------------------------- amd-drm-next-6.14-2025-01-10: amdgpu: - Fix max surface handling in DC - clang fixes - DCN 3.5 fixes - DCN 4.0.1 fixes - DC CRC fixes - DML updates - DSC fixes - PSR fixes - DC add some divide by 0 checks - SMU13 updates - SR-IOV fixes - RAS fixes - Cleaner shader support for gfx10.3 dGPUs - fix drm buddy trim handling - SDMA engine reset updates _ Fix RB bitmap setup - Fix doorbell ttm cleanup - Add CEC notifier support - DPIA updates - MST fixes amdkfd: - Shader debugger fixes - Trap handler cleanup - Cleanup includes - Eviction fence wq fix ---------------------------------------------------------------- Alex Deucher (1): drm/amdgpu/smu13: update powersave optimizations Alex Hung (2): drm/amd/display: Remove unnecessary amdgpu_irq_get/put drm/amd/display: Initialize denominator defaults to 1 Aric Cyr (1): drm/amd/display: Optimize cursor position updates Arunpravin Paneer Selvam (1): drm/amdgpu: Add a lock when accessing the buddy trim function Asad Kamal (2): drm/amd/pm: Update SMUv13.0.6 PMFW headers drm/amd/pm: Fill max mem bw & total app clk counter Aurabindo Pillai (2): drm/amd/display: Add guards around MAX/MIN Revert "drm/amd/display: Optimize cursor position updates" Austin Zheng (1): drm/amd/display: Apply DML21 Patches Brandon Syu (1): drm/amd/display: modify init dc_power_state Charlene Liu (1): drm/amd/display: avoid reset DTBCLK at clock init Dan Carpenter (1): drm/amdgpu: Fix shift type in amdgpu_debugfs_sdma_sched_mask_set() Dennis Chan (1): drm/amd/display: Revised for Replay Pseudo vblank control Dennis.Chan (1): drm/amd/display: Implement Replay Low Hz Visual Confirm Dillon Varone (2): drm/amd/display: Cleanup outdated interfaces in dcn401_clk_mgr drm/amd/display: Add SMU interface to get UMC count for dcn401 Fangzhi Zuo (1): drm/amd/display: Add Interface to Dump DSC Caps from dm Gabe Teeger (1): drm/amd/display: Limit Scaling Ratio on DCN3.01 George Shen (5): drm/amd/display: Parse RECEIVE_PORT0_CAP capabilities from DPCD drm/amd/display: Add DP required HBlank size calc to link interface drm/amd/display: Add expanded HBlank field to dc_crtc_timing drm/amd/display: Add HBlank reduction DPCD write to DPMS sequence drm/amd/display: Add 6bpc RGB case for dcn32 output bpp calculations Iswara Nagulendran (1): drm/amd/display: Add VC for VESA Aux Backlight Control Jack Chang (1): drm/amd/display: Add replay desync error count tracking and reset functionality Jay Cornwall (1): drm/amdkfd: Move gfx12 trap handler to separate file Jesse Zhang (4): drm/amdgpu/sdma4.4.2: add apu support in sdma queue reset drm/amdgpu/pm: add definition PPSMC_MSG_ResetSDMA2 drm/amdgpu/pm: Implement SDMA queue reset for different asic drm/amdgpu: enable gfx12 queue reset flag Jesse.zhang@xxxxxxx (1): drm/amdkfd: fixed page fault when enable MES shader debugger Jiang Liu (2): drm/amdgpu: tear down ttm range manager for doorbell in amdgpu_ttm_fini() drm/amdgpu: wrong array index to get ip block for PSP Jonathan Kim (1): drm/amdgpu: fix gpu recovery disable with per queue reset Karthi Kandasamy (3): drm/amd/display: Update dc_tiling_info union to structure drm/amd/display: Ensure correct GFX tiling info passed to DML drm/amd/display: Remove unused read_ono_state function from Hwss module Kent Russell (1): drm/amdgpu: Remove unnecessary NULL check Kun Liu (2): drm/amd/pm: fix BUG: scheduling while atomic drm/amd/display: add CEC notifier to amdgpu driver Leo Li (2): drm/amd/display: Do not wait for PSR disable on vbl enable drm/amd/display: Do not elevate mem_type change to full update Martin Leung (1): drm/amd/display: Promote DC to 3.2.315 Melissa Wen (3): drm/amd/display: fix page fault due to max surface definition mismatch drm/amd/display: increase MAX_SURFACES to the value supported by hw drm/amd/display: fix divide error in DM plane scale calcs Michael Strauss (1): drm/amd/display: Update chip_cap defines and usage Natanel Roizenman (1): drm/amd/display: correct type mismatches in comparisons in DML2 Nathan Chancellor (2): drm/amd/display: Reapply fdedd77b0eb3 drm/amd/display: Increase sanitizer frame larger than limit when compile testing with clang Nicholas Susanto (1): Revert "drm/amd/display: Enable urgent latency adjustments for DCN35" Peichen Huang (2): drm/amd/display: have pretrain for dpia drm/amd/display: improve dpia pre-train Prike Liang (1): drm/amdgpu: reduce RLC safe mode request for gfx clock gating Rafal Ostrowski (1): drm/amd/display: DML2.1 Post-Si Cleanup Robin Chen (1): drm/amd/display: Add a new flag for replay low hz Roman Li (1): drm/amd/display: Add check for granularity in dml ceil/floor helpers Ryan Seto (1): drm/amd/display: 3.2.316 Samson Tam (2): drm/amd/display: fix init_adj offset for cositing in SPL drm/amd/display: Clean up SPL code Srinivasan Shanmugam (3): drm/amdgpu: Fix error handling in amdgpu_ras_add_bad_pages drm/amdgpu/gfx10: Add cleaner shader for GFX10.3.0 drm/amdgpu/gfx10: Enable cleaner shader for GFX10.3.2/10.3.4/10.3.5 GPUs Sung Lee (1): drm/amd/display: Log Hard Min Clocks and Phantom Pipe Status Taimur Hassan (1): drm/amd/display: [FW Promotion] Release 0.0.248.0 Tim Huang (2): drm/amdgpu: fix incorrect active RB bitmap in setup RBs drm/amdgpu: fix incorrect number of active RBs for gfx12 Tom Chung (3): drm/amd/display: Fix PSR-SU not support but still call the amdgpu_dm_psr_enable drm/amd/display: Disable replay and psr while VRR is enabled drm/amd/display: Use HW lock mgr for PSR1 Victor Zhao (1): drm/amdgpu: fill the ucode bo during psp resume for SRIOV Wayne Lin (8): drm/amd/display: Add support for setting multiple CRC windows in dc drm/amd/display: Extend dc_stream_get_crc to support 2nd crc engine drm/amd/display: Adjust dm to use supported interfaces for setting multiple crc windows drm/amd/display: Extend capability to get multiple ROI CRCs drm/amd/display: Validate mdoe under MST LCT=1 case as well drm/amd/display: Reduce accessing remote DPCD overhead drm/amd/display: Add support to configure CRC window on specific CRC instance drm/amd/display: Extend secure display to support DisplayCRC mode Yihan Zhu (2): drm/amd/display: update sequential pg logic DCN35 drm/amd/display: power up all gating blocks when releasing hw DCN35 Yiling Chen (1): drm/amd/display: Remove unnecessary eDP power down Zhu Lingshan (2): drm/amdkfd: wq_release signals dma_fence only when available drm/amdkfd: always include uapi header in priv.h yfeng1 (1): drm/amdgpu: Fix for MEC SJT FW Load Fail on VF drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c | 6 + drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 17 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c | 21 +- drivers/gpu/drm/amd/amdgpu/amdgpu_sdma.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c | 2 +- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 18 + .../gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h | 56 + .../drm/amd/amdgpu/gfx_v10_3_0_cleaner_shader.asm | 124 +++ drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 5 +- drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 17 +- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 12 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 14 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 9 +- drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 2 +- .../gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx10.asm | 202 +--- .../gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm | 1126 ++++++++++++++++++++ drivers/gpu/drm/amd/amdkfd/kfd_debug.c | 17 + drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +- drivers/gpu/drm/amd/amdkfd/kfd_process.c | 3 +- drivers/gpu/drm/amd/display/Kconfig | 2 + drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 175 ++- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 8 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.c | 271 +++-- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crc.h | 32 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.c | 4 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_crtc.h | 2 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_debugfs.c | 99 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c | 6 + .../amd/display/amdgpu_dm/amdgpu_dm_irq_params.h | 4 +- .../amd/display/amdgpu_dm/amdgpu_dm_mst_types.c | 48 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 17 +- .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.h | 2 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.c | 35 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_psr.h | 3 +- drivers/gpu/drm/amd/display/dc/bios/bios_parser2.c | 9 +- .../amd/display/dc/clk_mgr/dcn35/dcn35_clk_mgr.c | 18 +- .../gpu/drm/amd/display/dc/clk_mgr/dcn401/dalsmc.h | 4 +- .../amd/display/dc/clk_mgr/dcn401/dcn401_clk_mgr.c | 265 +---- .../dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.c | 14 + .../dc/clk_mgr/dcn401/dcn401_clk_mgr_smu_msg.h | 1 + drivers/gpu/drm/amd/display/dc/core/dc.c | 110 +- .../gpu/drm/amd/display/dc/core/dc_hw_sequencer.c | 38 + .../gpu/drm/amd/display/dc/core/dc_link_exports.c | 8 + drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 16 +- drivers/gpu/drm/amd/display/dc/core/dc_state.c | 8 +- drivers/gpu/drm/amd/display/dc/core/dc_stream.c | 2 + drivers/gpu/drm/amd/display/dc/dc.h | 42 +- drivers/gpu/drm/amd/display/dc/dc_dp_types.h | 16 + drivers/gpu/drm/amd/display/dc/dc_dsc.h | 5 + drivers/gpu/drm/amd/display/dc/dc_hw_types.h | 179 ++-- drivers/gpu/drm/amd/display/dc/dc_stream.h | 12 +- drivers/gpu/drm/amd/display/dc/dc_types.h | 35 +- drivers/gpu/drm/amd/display/dc/dce/dce_mem_input.c | 10 +- .../gpu/drm/amd/display/dc/dce/dmub_hw_lock_mgr.c | 3 +- .../drm/amd/display/dc/dce110/dce110_mem_input_v.c | 8 +- .../display/dc/dce110/dce110_timing_generator.c | 201 ++-- .../display/dc/dce110/dce110_timing_generator.h | 2 +- .../display/dc/dce120/dce120_timing_generator.c | 124 ++- .../display/dc/dio/dcn31/dcn31_dio_link_encoder.c | 5 +- .../display/dc/dio/dcn35/dcn35_dio_link_encoder.c | 80 ++ .../display/dc/dio/dcn35/dcn35_dio_link_encoder.h | 18 + drivers/gpu/drm/amd/display/dc/dm_helpers.h | 5 + .../dc/dml/dcn32/display_mode_vba_util_32.c | 4 + .../gpu/drm/amd/display/dc/dml/dcn35/dcn35_fpu.c | 4 +- .../gpu/drm/amd/display/dc/dml/dml_inline_defs.h | 8 + drivers/gpu/drm/amd/display/dc/dml2/Makefile | 4 + .../dc/dml2/dml21/dml21_translation_helper.c | 102 +- .../dc/dml2/dml21/dml21_translation_helper.h | 2 - .../drm/amd/display/dc/dml2/dml21/dml21_utils.c | 129 +-- .../drm/amd/display/dc/dml2/dml21/dml21_utils.h | 8 +- .../drm/amd/display/dc/dml2/dml21/dml21_wrapper.c | 8 - .../dc/dml2/dml21/inc/bounding_boxes/dcn3_soc_bb.h | 401 ------- .../dml21/src/dml2_core/dml2_core_dcn4_calcs.c | 111 +- .../dml21/src/dml2_core/dml2_core_shared_types.h | 6 +- .../dc/dml2/dml21/src/dml2_core/dml2_core_utils.c | 2 +- .../dc/dml2/dml21/src/dml2_dpmm/dml2_dpmm_dcn4.c | 14 +- .../dc/dml2/dml21/src/dml2_pmo/dml2_pmo_dcn3.c | 12 +- .../dml2/dml21/src/dml2_pmo/dml2_pmo_dcn4_fams2.c | 40 +- .../dml2/dml21/src/dml2_top/dml2_top_interfaces.c | 1 - .../dc/dml2/dml21/src/dml2_top/dml2_top_legacy.c | 6 + .../dc/dml2/dml21/src/dml2_top/dml2_top_soc15.c | 1 + .../dc/dml2/dml21/src/dml2_top/dml2_top_soc15.h | 1 + .../dml21/src/inc/dml2_internal_shared_types.h | 2 - .../drm/amd/display/dc/dml2/dml2_mall_phantom.c | 2 +- drivers/gpu/drm/amd/display/dc/dml2/dml2_wrapper.c | 14 +- drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 45 + .../gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.c | 4 +- .../gpu/drm/amd/display/dc/hubp/dcn10/dcn10_hubp.h | 4 +- .../gpu/drm/amd/display/dc/hubp/dcn20/dcn20_hubp.c | 4 +- .../gpu/drm/amd/display/dc/hubp/dcn20/dcn20_hubp.h | 2 +- .../drm/amd/display/dc/hubp/dcn201/dcn201_hubp.c | 2 +- .../gpu/drm/amd/display/dc/hubp/dcn30/dcn30_hubp.c | 4 +- .../gpu/drm/amd/display/dc/hubp/dcn30/dcn30_hubp.h | 4 +- .../gpu/drm/amd/display/dc/hubp/dcn35/dcn35_hubp.c | 2 +- .../gpu/drm/amd/display/dc/hubp/dcn35/dcn35_hubp.h | 2 +- .../drm/amd/display/dc/hubp/dcn401/dcn401_hubp.c | 96 +- .../drm/amd/display/dc/hubp/dcn401/dcn401_hubp.h | 39 +- .../drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.c | 257 +++-- .../drm/amd/display/dc/hwss/dcn20/dcn20_hwseq.h | 17 +- .../drm/amd/display/dc/hwss/dcn32/dcn32_hwseq.c | 12 +- .../drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.c | 41 +- .../drm/amd/display/dc/hwss/dcn35/dcn35_hwseq.h | 2 + .../gpu/drm/amd/display/dc/hwss/dcn35/dcn35_init.c | 5 + .../drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.c | 831 +++++++++++++-- .../drm/amd/display/dc/hwss/dcn401/dcn401_hwseq.h | 11 +- .../drm/amd/display/dc/hwss/dcn401/dcn401_init.c | 10 +- drivers/gpu/drm/amd/display/dc/hwss/hw_sequencer.h | 18 +- drivers/gpu/drm/amd/display/dc/inc/core_types.h | 2 + drivers/gpu/drm/amd/display/dc/inc/hw/clk_mgr.h | 3 + drivers/gpu/drm/amd/display/dc/inc/hw/hubp.h | 15 +- .../gpu/drm/amd/display/dc/inc/hw/link_encoder.h | 8 + drivers/gpu/drm/amd/display/dc/inc/hw/mem_input.h | 4 +- drivers/gpu/drm/amd/display/dc/inc/hw/optc.h | 2 +- .../drm/amd/display/dc/inc/hw/timing_generator.h | 5 +- drivers/gpu/drm/amd/display/dc/inc/link.h | 4 + .../amd/display/dc/link/accessories/link_dp_cts.c | 4 +- .../drm/amd/display/dc/link/hwss/link_hwss_dio.c | 4 +- .../link/hwss/link_hwss_dio_fixed_vs_pe_retimer.c | 2 +- .../drm/amd/display/dc/link/hwss/link_hwss_dpia.c | 61 +- .../drm/amd/display/dc/link/hwss/link_hwss_dpia.h | 3 + .../gpu/drm/amd/display/dc/link/link_detection.c | 3 +- drivers/gpu/drm/amd/display/dc/link/link_dpms.c | 43 +- drivers/gpu/drm/amd/display/dc/link/link_factory.c | 3 +- .../gpu/drm/amd/display/dc/link/link_validation.c | 179 ++++ .../gpu/drm/amd/display/dc/link/link_validation.h | 5 + .../drm/amd/display/dc/link/protocols/link_ddc.c | 2 +- .../display/dc/link/protocols/link_dp_capability.c | 15 +- .../dc/link/protocols/link_dp_irq_handler.c | 8 +- .../amd/display/dc/link/protocols/link_dp_phy.c | 2 +- .../display/dc/link/protocols/link_dp_training.c | 4 +- .../gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.c | 120 ++- .../gpu/drm/amd/display/dc/optc/dcn10/dcn10_optc.h | 19 + .../gpu/drm/amd/display/dc/optc/dcn35/dcn35_optc.c | 101 +- .../amd/display/dc/resource/dcn10/dcn10_resource.c | 8 +- .../amd/display/dc/resource/dcn10/dcn10_resource.h | 1 + .../amd/display/dc/resource/dcn20/dcn20_resource.c | 3 +- .../display/dc/resource/dcn201/dcn201_resource.c | 3 +- .../amd/display/dc/resource/dcn21/dcn21_resource.c | 1 + .../amd/display/dc/resource/dcn30/dcn30_resource.c | 1 + .../display/dc/resource/dcn301/dcn301_resource.c | 11 +- .../display/dc/resource/dcn302/dcn302_resource.c | 1 + .../display/dc/resource/dcn303/dcn303_resource.c | 1 + .../amd/display/dc/resource/dcn31/dcn31_resource.c | 1 + .../display/dc/resource/dcn314/dcn314_resource.c | 1 + .../display/dc/resource/dcn315/dcn315_resource.c | 1 + .../display/dc/resource/dcn316/dcn316_resource.c | 1 + .../amd/display/dc/resource/dcn32/dcn32_resource.c | 1 + .../display/dc/resource/dcn321/dcn321_resource.c | 1 + .../amd/display/dc/resource/dcn35/dcn35_resource.c | 10 +- .../amd/display/dc/resource/dcn35/dcn35_resource.h | 1 + .../display/dc/resource/dcn351/dcn351_resource.c | 3 +- .../display/dc/resource/dcn401/dcn401_resource.c | 57 +- drivers/gpu/drm/amd/display/dc/spl/dc_spl.c | 99 +- drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h | 65 +- .../drm/amd/display/modules/power/power_helpers.c | 9 +- .../drm/amd/display/modules/power/power_helpers.h | 3 +- drivers/gpu/drm/amd/include/amd_shared.h | 5 + .../amd/pm/swsmu/inc/pmfw_if/smu_v13_0_6_pmfw.h | 14 +- .../amd/pm/swsmu/inc/pmfw_if/smu_v13_0_6_ppsmc.h | 1 + drivers/gpu/drm/amd/pm/swsmu/inc/smu_types.h | 3 +- drivers/gpu/drm/amd/pm/swsmu/inc/smu_v13_0.h | 2 + drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0.c | 12 +- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 12 +- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 54 +- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 1 + 167 files changed, 4869 insertions(+), 2043 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v10_0_cleaner_shader.h create mode 100644 drivers/gpu/drm/amd/amdgpu/gfx_v10_3_0_cleaner_shader.asm create mode 100644 drivers/gpu/drm/amd/amdkfd/cwsr_trap_handler_gfx12.asm delete mode 100644 drivers/gpu/drm/amd/display/dc/dml2/dml21/inc/bounding_boxes/dcn3_soc_bb.h