diff options
| author | Simona Vetter <simona.vetter@ffwll.ch> | 2025-10-31 19:07:39 +0100 |
|---|---|---|
| committer | Simona Vetter <simona.vetter@ffwll.ch> | 2025-10-31 19:07:39 +0100 |
| commit | 3d8d35bf8dc8893e34d92212d413d7cfd89c560e (patch) | |
| tree | 0fbf0710a112181778f2f540fe2a397e7f8eb91c /drivers/gpu/drm/msm/msm_iommu.c | |
| parent | Merge tag 'amd-drm-fixes-6.18-2025-10-29' of https://gitlab.freedesktop.org/a... (diff) | |
| parent | drm/msm/dpu: Fix adjusted mode clock check for 3d merge (diff) | |
| download | linux-3d8d35bf8dc8893e34d92212d413d7cfd89c560e.tar.gz linux-3d8d35bf8dc8893e34d92212d413d7cfd89c560e.zip | |
Merge tag 'drm-msm-fixes-2025-10-29' of https://gitlab.freedesktop.org/drm/msm into drm-fixes
Fixes for v6.18-rc4
CI
- Disable broken sanity job
GEM
- Fix vm_bind prealloc error path
- Fix dma-buf import free
- Fix last-fence update
- Reject MAP_NULL if PRR is unsupported
- Ensure vm is created in VM_BIND ioctl
GPU
- GMU fw parsing fix
DPU:
- Fixed mode_valid callback
- Fixed planes on DPU 1.x devices.
Signed-off-by: Simona Vetter <simona.vetter@ffwll.ch>
From: Rob Clark <rob.clark@oss.qualcomm.com>
Link: https://patch.msgid.link/CACSVV03kUm1ms7FBg0m9U4ZcyickSWbnayAWqYqs0XH4UjWf+A@mail.gmail.com
Diffstat (limited to 'drivers/gpu/drm/msm/msm_iommu.c')
| -rw-r--r-- | drivers/gpu/drm/msm/msm_iommu.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c index 0e18619f96cb..a188617653e8 100644 --- a/drivers/gpu/drm/msm/msm_iommu.c +++ b/drivers/gpu/drm/msm/msm_iommu.c @@ -338,6 +338,8 @@ msm_iommu_pagetable_prealloc_allocate(struct msm_mmu *mmu, struct msm_mmu_preall ret = kmem_cache_alloc_bulk(pt_cache, GFP_KERNEL, p->count, p->pages); if (ret != p->count) { + kfree(p->pages); + p->pages = NULL; p->count = ret; return -ENOMEM; } @@ -351,6 +353,9 @@ msm_iommu_pagetable_prealloc_cleanup(struct msm_mmu *mmu, struct msm_mmu_preallo struct kmem_cache *pt_cache = get_pt_cache(mmu); uint32_t remaining_pt_count = p->count - p->ptr; + if (!p->pages) + return; + if (p->count > 0) trace_msm_mmu_prealloc_cleanup(p->count, remaining_pt_count); |
