Hi Linus,
The weekly drm fixes. This is mostly msm fixes across the functions,
with amdgpu and i915. It also has a core rust fix and changes in
nova-core to take advantage of it, and otherwise just has some minor
driver fixes, and marks loongsoon as orphaned.
Let me know if there are any issues,
Regards,
Dave.
drm-fixes-2026-03-14:
drm-fixes for 7.0-rc4
rust:
- Fix safety issue in dma_read! and dma_write!.
nova-core:
- Fix UB in DmaGspMem pointer accessors.
- Fix stack overflow in GSP memory allocation.
loongsoon:
- mark drm driver as unmaintained
msm:
- Core:
- Adjusted msm_iommu_pagetable_prealloc_allocate() allocation type
- DPU:
- Fixed blue screens on Hamoa laptops by reverting the LM reservation
- Fixed the size of the LM block on several platforms
- Dropped usage of %pK (again)
- Fixed smatch warning on SSPP v13+ code
- Fixed INTF_6 interrupts on Lemans
- DSI:
- Fixed DSI PHY revision on Kaanapali
- Fixed pixel clock calculation for the bonded DSI mode panels with
compression enabled
- DT bindings:
- Fixed DisplayPort description on Glymur
- Fixed model name in SM8750 MDSS schema
- GPU:
- Added MODULE_DEVICE_TABLE to the GPU driver
- Fix bogus protect error on X2-85
- Fix dma_free_attrs() buffer size
- Gen8 UBWC fix for Glymur
i915:
- Avoid hang when configuring VRR [icl]
- Fix sg_table overflow with >4GB folios
- Fix PSR Selective Update handling
- Fix eDP ALPM read-out sequence
amdgpu:
- SMU13 fix
- SMU14 fix
- Fixes for bringup hw testing
- Kerneldoc fix
- GC12 idle power fix for compute workloads
- DCCG fixes
amdkfd:
- Fix missing BO unreserve in an error path
ivpu:
- drop unnecessary bootparams register setting
amdxdna:
- fix runtime/suspend resume deadlock
bridge:
- ti-sn65dsi83: fix DSI rounding and dual LVDS
gud:
- fix NULL crtc dereference on display disable
The following changes since commit 1f318b96cc84d7c2ab792fcc0bfd42a7ca890681:
Linux 7.0-rc3 (2026-03-08 16:56:54 -0700)
are available in the Git repository at:
https://gitlab.freedesktop.org/drm/kernel.git tags/drm-fixes-2026-03-14
for you to fetch changes up to b28913e897edfeedc4e33b03b28068b27d002e6c:
Merge tag 'drm-rust-fixes-2026-03-12' of
https://gitlab.freedesktop.org/drm/rust/kernel into drm-fixes
(2026-03-13 10:40:17 +1000)
----------------------------------------------------------------
drm-fixes for 7.0-rc4
rust:
- Fix safety issue in dma_read! and dma_write!.
nova-core:
- Fix UB in DmaGspMem pointer accessors.
- Fix stack overflow in GSP memory allocation.
loongsoon:
- mark drm driver as unmaintained
msm:
- Core:
- Adjusted msm_iommu_pagetable_prealloc_allocate() allocation type
- DPU:
- Fixed blue screens on Hamoa laptops by reverting the LM reservation
- Fixed the size of the LM block on several platforms
- Dropped usage of %pK (again)
- Fixed smatch warning on SSPP v13+ code
- Fixed INTF_6 interrupts on Lemans
- DSI:
- Fixed DSI PHY revision on Kaanapali
- Fixed pixel clock calculation for the bonded DSI mode panels with
compression enabled
- DT bindings:
- Fixed DisplayPort description on Glymur
- Fixed model name in SM8750 MDSS schema
- GPU:
- Added MODULE_DEVICE_TABLE to the GPU driver
- Fix bogus protect error on X2-85
- Fix dma_free_attrs() buffer size
- Gen8 UBWC fix for Glymur
i915:
- Avoid hang when configuring VRR [icl]
- Fix sg_table overflow with >4GB folios
- Fix PSR Selective Update handling
- Fix eDP ALPM read-out sequence
amdgpu:
- SMU13 fix
- SMU14 fix
- Fixes for bringup hw testing
- Kerneldoc fix
- GC12 idle power fix for compute workloads
- DCCG fixes
amdkfd:
- Fix missing BO unreserve in an error path
ivpu:
- drop unnecessary bootparams register setting
amdxdna:
- fix runtime/suspend resume deadlock
bridge:
- ti-sn65dsi83: fix DSI rounding and dual LVDS
gud:
- fix NULL crtc dereference on display disable
----------------------------------------------------------------
Abel Vesa (1):
dt-bindings: display: msm: Fix reg ranges and clocks on Glymur
Abhinav Kumar (1):
drm/msm/dpu: Correct the SA8775P intr_underrun/intr_underrun index
Akhil P Oommen (3):
drm/msm/adreno: Add GPU to MODULE_DEVICE_TABLE
drm/msm/a6xx: Fix the bogus protect error on X2-85
drm/msm/a8xx: Fix ubwc config related to swizzling
Andrzej Kacprowski (1):
accel/ivpu: Remove boot params address setting via MMIO register
Arun R Murthy (1):
drm/i915/dp: Read ALPM caps after DPCD init
Cristian Ciocaltea (1):
drm/amdgpu: Fix kernel-doc comments for some LUT properties
Danilo Krummrich (1):
gpu: nova-core: gsp: fix UB in DmaGspMem pointer accessors
Dave Airlie (5):
Merge tag 'drm-msm-fixes-2026-03-06' of
https://gitlab.freedesktop.org/drm/msm into drm-fixes
Merge tag 'drm-misc-fixes-2026-03-12' of
https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes
Merge tag 'drm-intel-fixes-2026-03-12' of
https://gitlab.freedesktop.org/drm/i915/kernel into drm-fixes
Merge tag 'amd-drm-fixes-7.0-2026-03-12' of
https://gitlab.freedesktop.org/agd5f/linux into drm-fixes
Merge tag 'drm-rust-fixes-2026-03-12' of
https://gitlab.freedesktop.org/drm/rust/kernel into drm-fixes
David Lechner (1):
drm/sitronix/st7586: fix bad pixel data due to byte swap
Dmitry Baryshkov (1):
Revert "drm/msm/dpu: try reserving the DSPP-less LM first"
Gary Guo (3):
rust: ptr: add `KnownSize` trait to support DST size info extraction
rust: ptr: add projection infrastructure
rust: dma: use pointer projection infra for `dma_{read,write}` macro
Ivan Lipski (2):
drm/amd/display: Add missing DCCG register entries for DCN20-DCN316
drm/amd/display: Check for S0i3 to be done before DCCG init on DCN21
Janusz Krzysztofik (1):
drm/i915: Fix potential overflow of shmem scatterlist length
Jouni Högander (4):
drm/i915/psr: Repeat Selective Update area alignment
drm/i915/dsc: Add Selective Update register definitions
drm/i915/dsc: Add helper for writing DSC Selective Update ET parameters
drm/i915/psr: Write DSC parameters on Selective Update in ET mode
Kees Cook (1):
drm/msm: Adjust msm_iommu_pagetable_prealloc_allocate() allocation type
Konrad Dybcio (1):
drm/msm/dpu: Fix LM size on a number of platforms
Krzysztof Kozlowski (1):
dt-bindings: display/msm: qcom,sm8750-mdss: Fix model typo
Lizhi Hou (1):
accel/amdxdna: Fix runtime suspend deadlock when there is pending job
Luca Ceresoli (2):
drm/bridge: ti-sn65dsi83: fix CHA_DSI_CLK_RANGE rounding
drm/bridge: ti-sn65dsi83: halve horizontal syncs for dual LVDS output
Mario Limonciello (3):
drm/amd: Fix NULL pointer dereference in device cleanup
drm/amd: Fix a few more NULL pointer dereference in device cleanup
drm/amd: Set num IP blocks to 0 if discovery fails
Pengyu Luo (3):
drm/msm/dsi: fix hdisplay calculation when programming dsi registers
drm/msm/dsi/phy: fix hardware revision
drm/msm/dsi: fix pclk rate calculation for bonded dsi
Philip Yang (1):
drm/amdkfd: Unreserve bo if queue update failed
Shenghao Yang (1):
drm/gud: fix NULL crtc dereference on display disable
Thomas Fourier (1):
drm/msm: Fix dma_free_attrs() buffer size
Thomas Weißschuh (1):
drm/msm/dpu: Don't use %pK through printk (again)
Thomas Zimmermann (1):
drm/loongson: Mark driver as orphaned
Tim Kovalenko (1):
gpu: nova-core: fix stack overflow in GSP memory allocation
Ville Syrjälä (1):
drm/i915/vrr: Configure VRR timings after enabling TRANS_DDI_FUNC_CTL
Yang Wang (3):
drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v13
drm/amd/pm: add missing od setting PP_OD_FEATURE_ZERO_FAN_BIT for smu v14
drm/amdgpu: fix gpu idle power consumption issue for gfx v12
sunliming (1):
drm/msm/dpu: Fix smatch warnings about variable dereferenced before check
.../bindings/display/msm/dp-controller.yaml | 21 +-
.../bindings/display/msm/qcom,glymur-mdss.yaml | 16 +-
.../bindings/display/msm/qcom,sm8750-mdss.yaml | 2 +-
MAINTAINERS | 3 +-
drivers/accel/amdxdna/aie2_ctx.c | 14 +-
drivers/accel/amdxdna/amdxdna_ctx.c | 10 +
drivers/accel/ivpu/ivpu_hw_40xx_reg.h | 6 -
drivers/accel/ivpu/ivpu_hw_ip.c | 1 -
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 14 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 16 +-
drivers/gpu/drm/amd/amdgpu/mes_v12_0.c | 5 +-
.../gpu/drm/amd/amdkfd/kfd_process_queue_manager.c | 1 +
.../gpu/drm/amd/display/dc/dccg/dcn20/dcn20_dccg.h | 6 +-
.../gpu/drm/amd/display/dc/dccg/dcn21/dcn21_dccg.c | 21 +-
.../drm/amd/display/dc/dccg/dcn301/dcn301_dccg.h | 8 +-
.../gpu/drm/amd/display/dc/dccg/dcn31/dcn31_dccg.h | 5 +-
.../drm/amd/display/dc/dccg/dcn314/dcn314_dccg.h | 5 +-
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c | 3 +-
.../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c | 3 +-
.../gpu/drm/amd/pm/swsmu/smu14/smu_v14_0_2_ppt.c | 3 +-
drivers/gpu/drm/bridge/ti-sn65dsi83.c | 13 +-
drivers/gpu/drm/gud/gud_drv.c | 9 +-
drivers/gpu/drm/gud/gud_internal.h | 4 +
drivers/gpu/drm/gud/gud_pipe.c | 54 ++--
drivers/gpu/drm/i915/display/intel_alpm.c | 6 -
drivers/gpu/drm/i915/display/intel_display.c | 1 -
drivers/gpu/drm/i915/display/intel_dp.c | 7 +
drivers/gpu/drm/i915/display/intel_psr.c | 60 +++-
drivers/gpu/drm/i915/display/intel_vdsc.c | 23 ++
drivers/gpu/drm/i915/display/intel_vdsc.h | 3 +
drivers/gpu/drm/i915/display/intel_vdsc_regs.h | 12 +
drivers/gpu/drm/i915/display/intel_vrr.c | 14 +
drivers/gpu/drm/i915/gem/i915_gem_shmem.c | 12 +-
drivers/gpu/drm/msm/adreno/a2xx_gpummu.c | 2 +-
drivers/gpu/drm/msm/adreno/a6xx_catalog.c | 3 +-
drivers/gpu/drm/msm/adreno/a8xx_gpu.c | 14 +-
drivers/gpu/drm/msm/adreno/adreno_device.c | 1 +
.../drm/msm/disp/dpu1/catalog/dpu_8_0_sc8280xp.h | 12 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_8_1_sm8450.h | 12 +-
.../drm/msm/disp/dpu1/catalog/dpu_8_4_sa8775p.h | 4 +-
.../gpu/drm/msm/disp/dpu1/catalog/dpu_9_0_sm8550.h | 12 +-
.../drm/msm/disp/dpu1/catalog/dpu_9_1_sar2130p.h | 12 +-
.../drm/msm/disp/dpu1/catalog/dpu_9_2_x1e80100.h | 12 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_dspp.c | 2 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_sspp_v13.c | 4 +-
drivers/gpu/drm/msm/disp/dpu1/dpu_rm.c | 52 +---
drivers/gpu/drm/msm/dsi/dsi_host.c | 43 ++-
drivers/gpu/drm/msm/dsi/phy/dsi_phy_7nm.c | 22 +-
drivers/gpu/drm/sitronix/st7586.c | 15 +-
drivers/gpu/nova-core/gsp.rs | 46 ++--
drivers/gpu/nova-core/gsp/boot.rs | 2 +-
drivers/gpu/nova-core/gsp/cmdq.rs | 93 +++----
drivers/gpu/nova-core/gsp/fw.rs | 101 ++++---
rust/kernel/dma.rs | 114 ++++----
rust/kernel/lib.rs | 4 +
rust/kernel/ptr.rs | 30 +-
rust/kernel/ptr/projection.rs | 305 +++++++++++++++++++++
samples/rust/rust_dma.rs | 30 +-
scripts/Makefile.build | 4 +-
60 files changed, 935 insertions(+), 399 deletions(-)
create mode 100644 rust/kernel/ptr/projection.rs