Hi Linus, Weekly fixes for drm, this is large for rc2 but it's just a lot of small fixes across a bunch of drivers, xe, amdgpu as usual, plus some sashiko-inspired fixes for panthor, and some dma-fence updates.
Thanks, Dave. drm-fixes-2026-07-04: drm fixes for 7.2-rc2 core: - kernel doc fix - include types.h in drm_ras.h dma-fence: - fix NULL ptr dereference - use correct callback - make dma_fence_dedup_array more robust dp: - handle torn down topology gracefully - fix kernel doc i915: - Input validation fixes for BIOS and EDID - Fix HDCP code buffer overflow and seq_num_v monotonic increase check - Fix near-NULL deref in i915_active during GFP_ATOMIC exhaustion xe: - Wedge from the timeout handler only after releasing the queue - Fix a NULL pointer dereference - Remove redundant exec_queue_suspended - RTP / OA whitelist fixes - Return error on non-migratable faults requiring devmem - Skip FORCE_WC and vm_bound check for external dma-bufs - Hold notifier lock for write on inject test path - Drop bogus static from finish in force_invalidate - Fix double-free of managed BO in error path - Don't attempt to process FAST_REQ or EVENT relays - Fix NPD in bo_meminfo - Prevent invalid cursor access for purged BOs - Fix offset alignment for MERT WHITELST_OA_MERT_MMIO_TRG amdgpu: - Soc24 aborted suspend fix - Drop unecessary BUG() and BUG_ON() from error paths - SCPM fix - Power reporting fix - DCE HDR fix - UVD boundary checks - VCN boundary checks - VCE boundary checks - DCN 4.2 fixes - Large stack allocation fixes - Fix aperture mapping leak - UserQ fixes - Ignore_damage_clips fix - ACP fixes - DC boundary checks - GPUVM fixes - JPEG idle check fixes - Userptr fix - GC 11.7 updates - Non-4K page fix - SMU 13 fixes - DP alt mode fix amdkfd: - Boundary checks - CRIU fixes amdxdna: - fix device removal issues - fix use after free in debug BO imagination: - fix double call to scheduler fini - fix ioctl return values - fix user array stride virtio: - handle EDIDs better panthor: - irq safe fence lock fix - reset work fix - fix invalid pointer - fix iomem access in suspended state - sched resume fix - unplug suspend fix - drop needless check - eviction leak fix - bail on group start/resume fix - keep irqs masked malidp: - use clock bulk API komeda: - clock prepare fixes The following changes since commit dc59e4fea9d83f03bad6bddf3fa2e52491777482: Linux 7.2-rc1 (2026-06-28 12:01:31 -0700) are available in the Git repository at: https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2026-07-04 for you to fetch changes up to acd7c71ba8d83808fa8d704196f3d53f7d58cf50: Merge tag 'drm-misc-fixes-2026-07-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes (2026-07-03 08:53:15 +1000) ---------------------------------------------------------------- drm fixes for 7.2-rc2 core: - kernel doc fix - include types.h in drm_ras.h dma-fence: - fix NULL ptr dereference - use correct callback - make dma_fence_dedup_array more robust dp: - handle torn down topology gracefully - fix kernel doc i915: - Input validation fixes for BIOS and EDID - Fix HDCP code buffer overflow and seq_num_v monotonic increase check - Fix near-NULL deref in i915_active during GFP_ATOMIC exhaustion xe: - Wedge from the timeout handler only after releasing the queue - Fix a NULL pointer dereference - Remove redundant exec_queue_suspended - RTP / OA whitelist fixes - Return error on non-migratable faults requiring devmem - Skip FORCE_WC and vm_bound check for external dma-bufs - Hold notifier lock for write on inject test path - Drop bogus static from finish in force_invalidate - Fix double-free of managed BO in error path - Don't attempt to process FAST_REQ or EVENT relays - Fix NPD in bo_meminfo - Prevent invalid cursor access for purged BOs - Fix offset alignment for MERT WHITELST_OA_MERT_MMIO_TRG amdgpu: - Soc24 aborted suspend fix - Drop unecessary BUG() and BUG_ON() from error paths - SCPM fix - Power reporting fix - DCE HDR fix - UVD boundary checks - VCN boundary checks - VCE boundary checks - DCN 4.2 fixes - Large stack allocation fixes - Fix aperture mapping leak - UserQ fixes - Ignore_damage_clips fix - ACP fixes - DC boundary checks - GPUVM fixes - JPEG idle check fixes - Userptr fix - GC 11.7 updates - Non-4K page fix - SMU 13 fixes - DP alt mode fix amdkfd: - Boundary checks - CRIU fixes amdxdna: - fix device removal issues - fix use after free in debug BO imagination: - fix double call to scheduler fini - fix ioctl return values - fix user array stride virtio: - handle EDIDs better panthor: - irq safe fence lock fix - reset work fix - fix invalid pointer - fix iomem access in suspended state - sched resume fix - unplug suspend fix - drop needless check - eviction leak fix - bail on group start/resume fix - keep irqs masked malidp: - use clock bulk API komeda: - clock prepare fixes ---------------------------------------------------------------- Alex Deucher (13): drm/amdgpu/gfx8: drop unecessary BUG_ON() drm/amdgpu/gfx9: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx9.4.3: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx10: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx11: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx12: replace BUG_ON() with WARN_ON() drm/amdgpu/gfx12.1: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma4.4.2: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma5.0: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma5.2: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma6.0: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma7.0: replace BUG_ON() with WARN_ON() drm/amdgpu/sdma7.1: replace BUG_ON() with WARN_ON() André Draszik (1): dma-fence: use correct callback in dma_fence_timeline_name() Arnd Bergmann (1): drm/amd/display: avoid large stack allocation in commit_planes_do_stream_update_sequence Asad Kamal (1): drm/amdgpu: fix aperture mapping leak Ashutosh Dixit (10): drm/xe/rtp: Add RING_FORCE_TO_NONPRIV_DENY to OA whitelists drm/xe/rtp: Maintain OA whitelists separately drm/xe/rtp: Keep track of non-OA nonpriv slots drm/xe/rtp: Generalize whitelist_apply_to_hwe drm/xe/rtp: Save OA nonpriv registers to register save/restore lists drm/xe/rtp: Toggle 'deny' bit to (de-)whitelist OA regs drm/xe/rtp: (De-)whitelist OA registers for all hwe's for a gt drm/xe/oa: (De-)whitelist OA registers on OA stream open/release drm/xe/rtp: Ensure locking/ref counting for OA whitelists drm/xe/oa: Fix offset alignment for MERT WHITELIST_OA_MERT_MMIO_TRG Baineng Shou (1): dma-fence: Make dma_fence_dedup_array() robust against 0-count input Boris Brezillon (10): drm/panthor: Always use the IRQ-safe variant when acquiring the fence lock drm/panthor: Keep the reset work disabled until everything is initialized drm/panthor: Fix potential invalid pointer deref in group_process_tiler_oom() drm/panthor: Fix theoretical IOMEM access in suspended state drm/panthor: Don't overrule pending immediate ticks in sched_resume_tick() drm/panthor: Fix panthor_pwr_unplug() drm/panthor: Drop a needless check in panthor_fw_unplug() drm/panthor: Fix a leak when a group is evicted before the tiler OOM is serviced drm/panthor: Interrupt group start/resumption if group_bind_locked() fails drm/panthor: Keep interrupts masked until they are needed Boyuan Zhang (5): drm/amdgpu: fix division by zero with invalid uvd dimensions drm/amdgpu/vcn4: avoid rereading IB param length drm/amdgpu/vce: fix integer overflow in image size drm/amdgpu/jpeg: fix jpeg_v5_0_1_is_idle detection drm/amdgpu/jpeg: fix jpeg_v4_0_3_is_idle detection Brajesh Gupta (2): drm/imagination: Fix double call to drm_sched_entity_fini() drm/imagination: Fix returned size for DRM_IOCTL_PVR_DEV_QUERY Bryam Vargas (1): drm/virtio: bound EDID block reads to the response buffer Ce Sun (2): drm/amdgpu: fix resource leak on ACP reset timeout drm/amdgpu: invoke pm_genpd_remove() before freeing genpd Christian König (1): drm/amdgpu: fix check in amdgpu_hmm_invalidate_gfx Dave Airlie (4): Merge tag 'drm-intel-fixes-2026-07-02' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes Merge tag 'amd-drm-fixes-7.2-2026-07-02' of https://gitlab.freedesktop.org/agd5f/linux into drm-fixes Merge tag 'drm-xe-fixes-2026-07-02' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes Merge tag 'drm-misc-fixes-2026-07-02' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes David Francis (1): drm/amdkfd: Use kvcalloc to allocate arrays Donet Tom (1): drm/amdgpu: Fix AMDGPU_GTT_MAX_TRANSFER_SIZE for non-4K systems Francois Dugast (1): drm/xe/pt: Fix NULL pointer dereference in xe_pt_zap_ptes_entry() Granthali Vinodkumar Dhandar (2): drm/amdgpu: add support for GC IP version 11.7.0 drm/amdgpu: add support for GC IP version 11.7.1 Gustavo Kenji Mendonça Kaneko (2): drm/arm/malidp: use clk_bulk API in runtime PM resume and suspend drm/arm/komeda: fix error handling for clk_prepare_enable() and callers Gustavo Sousa (1): drm/xe/rtp: Add struct types for RTP tables Harish Kasiviswanathan (1): drm/amdgpu: Fix kernel panic during driver load failure Harry Wentland (1): drm/amd/display: guard against overflow in HDCP message dump Honglei Huang (1): drm/amd/display: use kvzalloc to allocate struct dc Jakob Linke (1): drm/amdgpu/soc24: reset dGPU if suspend got aborted Jani Nikula (7): drm/i915/hdcp: check streams[] bounds before overflow drm/i915/hdcp: require monotonically increasing seq_num_v drm/dp: fix kernel-doc for struct drm_dp_as_sdp drm/fixed: fix kernel-doc for drm_sm2fixp() drm/ras: include linux/types.h in drm_ras.h drm/i915/vrr: require valid min/max vfreq for VRR drm/i915/bios: range check LFP Data Block panel_type2 Jesse Zhang (2): drm/amdgpu/gfx11: fix EOP interrupt routing for KQ and userq drm/amdgpu/gfx12: fix EOP interrupt routing for KQ and userq Joonas Lahtinen (1): drm/i915: Return NULL on error in active_instance Leorize (1): drm/amd/display: set MSA MISC1 bit 6 when using VSC SDP for DCE 11.x Lizhi Hou (4): accel/amdxdna: Fix amdxdna_client lifetime race during device removal accel/amdxdna: Fix notifier_wq lifetime race during device removal accel/amdxdna: Fix iommu domain lifetime race during device removal accel/amdxdna: Fix use-after-free in debug BO command handling Lu Yao (1): drm/xe: Remove redundant exec_queue_suspended() check in submit_exec_queue() Luca Coelho (1): drm/dp_mst: Handle torn-down topology gracefully in drm_dp_mst_topology_queue_probe() Maarten Lankhorst (1): Merge drm/drm-fixes into drm-misc-fixes Matthew Auld (3): drm/xe/display: skip FORCE_WC and vm_bound check for external dma-bufs drm/xe: fix NPD in bo_meminfo() drm/xe/pt: prevent invalid cursor access for purged BOs Matthew Brost (1): drm/xe: Return error on non-migratable faults requiring devmem Matthew Stewart (2): drm/amd/display: Fix DCN42 null registers & register masks drm/amd/display: Remove DCCG registers not needed in DCN42 Michal Wajdeczko (1): drm/xe/pf: Don't attempt to process FAST_REQ or EVENT relays Natalie Vock (2): drm/amdgpu: Only set bo->moved when the BO was actually moved drm/amdgpu: Rename moved state to needs_update Perry Yuan (1): drm/amdgpu: flush pending RCU callbacks on module unload Philipp Stanner (1): dma-buf: dma-fence: Fix potential NULL pointer dereference Prike Liang (3): drm/amdgpu/mes11: set doorbell offset for suspending userq drm/amdgpu/mes12: set doorbell offset for suspending userq drm/amdgpu: add the doorbell index input for suspending userq Rodrigo Vivi (1): drm/xe: wedge from the timeout handler only after releasing the queue Shuicheng Lin (3): drm/xe/userptr: Hold notifier_lock for write on inject test path drm/xe/userptr: Drop bogus static from finish in force_invalidate drm/xe/hw_engine: Fix double-free of managed BO in error path Shuvam Pandey (1): drm/imagination: Fix user array stride in pvr_set_uobj_array() Thomas Hellström (1): drm/xe/rtp: Fix build error with clang < 21 and non-const initializers Thomas Zimmermann (1): drm/amd/display: Handle struct drm_plane_state.ignore_damage_clips WenTao Liang (1): drm/amd/display: detect_link_and_local_sink: DP alt mode timeout path leaks prev_sink reference Xiaogang Chen (1): drm/amdkfd: Guard m->cp_hqd_eop_control setting by q->eop_ring_buffer_size Yang Wang (3): drm/amd/pm: make pp_features read-only when scpm is enabled drm/amd/pm: fix amdgpu_pm_info power display units drm/amd/pm: fix smu13 power limit range calculation Yongqiang Sun (1): drm/amdkfd: clamp v9 CRIU control stack checkpoint copy to BO size Zhu Lingshan (1): drm/amdgpu: reject mapping a reserved doorbell to a new queue drivers/accel/amdxdna/aie2_ctx.c | 68 +++++++++---- drivers/accel/amdxdna/amdxdna_ctx.h | 1 + drivers/accel/amdxdna/amdxdna_iommu.c | 43 +++++--- drivers/accel/amdxdna/amdxdna_pci_drv.c | 38 ++++---- drivers/accel/amdxdna/amdxdna_pci_drv.h | 1 + drivers/dma-buf/dma-fence-unwrap.c | 3 + drivers/dma-buf/dma-fence.c | 6 +- drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c | 13 ++- drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 - drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c | 12 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 8 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_gmc.c | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_hmm.c | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mes.h | 2 + drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 46 +++++---- drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.h | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 4 +- drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c | 8 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_vce.c | 17 +++- drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 58 +++++------ drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 9 +- drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c | 13 +-- drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 78 ++++++++++----- drivers/gpu/drm/amd/amdgpu/gfx_v12_0.c | 69 ++++++++----- drivers/gpu/drm/amd/amdgpu/gfx_v12_1.c | 24 +++-- drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 3 - drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c | 10 +- drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 11 +-- drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 4 + drivers/gpu/drm/amd/amdgpu/imu_v11_0.c | 2 + drivers/gpu/drm/amd/amdgpu/jpeg_v4_0_3.c | 2 +- drivers/gpu/drm/amd/amdgpu/jpeg_v5_0_1.c | 2 +- drivers/gpu/drm/amd/amdgpu/mes_v11_0.c | 6 ++ drivers/gpu/drm/amd/amdgpu/mes_v12_0.c | 2 + drivers/gpu/drm/amd/amdgpu/mes_v12_1.c | 2 + drivers/gpu/drm/amd/amdgpu/psp_v15_0.c | 2 + drivers/gpu/drm/amd/amdgpu/sdma_v4_4_2.c | 4 +- drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c | 4 +- drivers/gpu/drm/amd/amdgpu/sdma_v6_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c | 4 +- drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c | 4 +- drivers/gpu/drm/amd/amdgpu/soc21.c | 56 +++++++++++ drivers/gpu/drm/amd/amdgpu/soc24.c | 28 ++++++ drivers/gpu/drm/amd/amdgpu/vcn_v4_0.c | 15 +-- drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 12 +-- drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 2 + drivers/gpu/drm/amd/amdkfd/kfd_device.c | 10 ++ drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager.h | 1 + drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v10.c | 4 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v11.c | 4 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12.c | 4 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v12_1.c | 4 +- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_v9.c | 25 ++++- drivers/gpu/drm/amd/amdkfd/kfd_mqd_manager_vi.c | 4 +- drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 10 +- drivers/gpu/drm/amd/display/dc/core/dc.c | 16 +-- .../gpu/drm/amd/display/dc/dccg/dcn42/dcn42_dccg.h | 62 ++++++------ .../drm/amd/display/dc/dce/dce_stream_encoder.c | 15 ++- .../drm/amd/display/dc/dce/dce_stream_encoder.h | 3 +- .../gpu/drm/amd/display/dc/link/link_detection.c | 5 +- .../gpu/drm/amd/display/modules/hdcp/hdcp_log.c | 30 +++--- drivers/gpu/drm/amd/include/mes_v11_api_def.h | 2 + drivers/gpu/drm/amd/pm/amdgpu_pm.c | 26 +++-- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 11 ++- .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 15 +-- drivers/gpu/drm/arm/display/komeda/komeda_dev.c | 6 +- drivers/gpu/drm/arm/display/komeda/komeda_drv.c | 14 ++- drivers/gpu/drm/arm/malidp_drv.c | 22 +++-- drivers/gpu/drm/display/drm_dp_mst_topology.c | 4 +- drivers/gpu/drm/i915/display/intel_bios.c | 36 +++++-- drivers/gpu/drm/i915/display/intel_hdcp.c | 12 ++- drivers/gpu/drm/i915/display/intel_vrr.c | 4 + drivers/gpu/drm/i915/i915_active.c | 7 +- drivers/gpu/drm/imagination/pvr_context.c | 18 ++-- drivers/gpu/drm/imagination/pvr_drv.c | 19 ++-- drivers/gpu/drm/imagination/pvr_queue.c | 6 +- drivers/gpu/drm/imagination/pvr_queue.h | 2 +- drivers/gpu/drm/imagination/pvr_vm.c | 6 +- drivers/gpu/drm/panthor/panthor_device.c | 4 + drivers/gpu/drm/panthor/panthor_device.h | 17 ++-- drivers/gpu/drm/panthor/panthor_fw.c | 6 +- drivers/gpu/drm/panthor/panthor_gpu.c | 3 +- drivers/gpu/drm/panthor/panthor_mmu.c | 9 +- drivers/gpu/drm/panthor/panthor_pwr.c | 10 +- drivers/gpu/drm/panthor/panthor_sched.c | 108 ++++++++++++--------- drivers/gpu/drm/virtio/virtgpu_vq.c | 3 +- drivers/gpu/drm/xe/display/xe_display_bo.c | 3 +- drivers/gpu/drm/xe/display/xe_fb_pin.c | 3 +- drivers/gpu/drm/xe/tests/xe_rtp_test.c | 103 ++++++++------------ drivers/gpu/drm/xe/xe_drm_client.c | 12 ++- drivers/gpu/drm/xe/xe_gt_debugfs.c | 4 +- drivers/gpu/drm/xe/xe_guc_relay.c | 13 ++- drivers/gpu/drm/xe/xe_guc_submit.c | 9 +- drivers/gpu/drm/xe/xe_hw_engine.c | 20 ++-- drivers/gpu/drm/xe/xe_hw_engine_types.h | 8 ++ drivers/gpu/drm/xe/xe_oa.c | 7 ++ drivers/gpu/drm/xe/xe_oa_types.h | 3 + drivers/gpu/drm/xe/xe_pt.c | 67 ++++++++++--- drivers/gpu/drm/xe/xe_reg_whitelist.c | 102 ++++++++++++++++--- drivers/gpu/drm/xe/xe_reg_whitelist.h | 4 + drivers/gpu/drm/xe/xe_rtp.c | 31 +++--- drivers/gpu/drm/xe/xe_rtp.h | 24 ++++- drivers/gpu/drm/xe/xe_rtp_types.h | 10 ++ drivers/gpu/drm/xe/xe_svm.c | 6 +- drivers/gpu/drm/xe/xe_svm.h | 15 ++- drivers/gpu/drm/xe/xe_tuning.c | 45 ++++----- drivers/gpu/drm/xe/xe_userptr.c | 2 +- drivers/gpu/drm/xe/xe_wa.c | 89 +++++++++-------- include/drm/display/drm_dp_helper.h | 1 + include/drm/drm_fixed.h | 3 +- include/drm/drm_ras.h | 2 + 115 files changed, 1228 insertions(+), 643 deletions(-)
