Patch "drm/panthor: Fix handling of partial GPU mapping of BOs" has been added to the 6.11-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/panthor: Fix handling of partial GPU mapping of BOs

to the 6.11-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-panthor-fix-handling-of-partial-gpu-mapping-of-b.patch
and it can be found in the queue-6.11 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit baaed99024a5808d9e83e6826b3ff945f9478783
Author: Akash Goel <akash.goel@xxxxxxx>
Date:   Mon Nov 11 13:47:20 2024 +0000

    drm/panthor: Fix handling of partial GPU mapping of BOs
    
    [ Upstream commit 3387e043918e154ca08d83954966a8b087fe2835 ]
    
    This commit fixes the bug in the handling of partial mapping of the
    buffer objects to the GPU, which caused kernel warnings.
    
    Panthor didn't correctly handle the case where the partial mapping
    spanned multiple scatterlists and the mapping offset didn't point
    to the 1st page of starting scatterlist. The offset variable was
    not cleared after reaching the starting scatterlist.
    
    Following warning messages were seen.
    WARNING: CPU: 1 PID: 650 at drivers/iommu/io-pgtable-arm.c:659 __arm_lpae_unmap+0x254/0x5a0
    <snip>
    pc : __arm_lpae_unmap+0x254/0x5a0
    lr : __arm_lpae_unmap+0x2cc/0x5a0
    <snip>
    Call trace:
     __arm_lpae_unmap+0x254/0x5a0
     __arm_lpae_unmap+0x108/0x5a0
     __arm_lpae_unmap+0x108/0x5a0
     __arm_lpae_unmap+0x108/0x5a0
     arm_lpae_unmap_pages+0x80/0xa0
     panthor_vm_unmap_pages+0xac/0x1c8 [panthor]
     panthor_gpuva_sm_step_unmap+0x4c/0xc8 [panthor]
     op_unmap_cb.isra.23.constprop.30+0x54/0x80
     __drm_gpuvm_sm_unmap+0x184/0x1c8
     drm_gpuvm_sm_unmap+0x40/0x60
     panthor_vm_exec_op+0xa8/0x120 [panthor]
     panthor_vm_bind_exec_sync_op+0xc4/0xe8 [panthor]
     panthor_ioctl_vm_bind+0x10c/0x170 [panthor]
     drm_ioctl_kernel+0xbc/0x138
     drm_ioctl+0x210/0x4b0
     __arm64_sys_ioctl+0xb0/0xf8
     invoke_syscall+0x4c/0x110
     el0_svc_common.constprop.1+0x98/0xf8
     do_el0_svc+0x24/0x38
     el0_svc+0x34/0xc8
     el0t_64_sync_handler+0xa0/0xc8
     el0t_64_sync+0x174/0x178
    <snip>
    panthor : [drm] drm_WARN_ON(unmapped_sz != pgsize * pgcount)
    WARNING: CPU: 1 PID: 650 at drivers/gpu/drm/panthor/panthor_mmu.c:922 panthor_vm_unmap_pages+0x124/0x1c8 [panthor]
    <snip>
    pc : panthor_vm_unmap_pages+0x124/0x1c8 [panthor]
    lr : panthor_vm_unmap_pages+0x124/0x1c8 [panthor]
    <snip>
    panthor : [drm] *ERROR* failed to unmap range ffffa388f000-ffffa3890000 (requested range ffffa388c000-ffffa3890000)
    
    Fixes: 647810ec2476 ("drm/panthor: Add the MMU/VM logical block")
    Signed-off-by: Akash Goel <akash.goel@xxxxxxx>
    Reviewed-by: Liviu Dudau <liviu.dudau@xxxxxxx>
    Reviewed-by: Steven Price <steven.price@xxxxxxx>
    Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20241111134720.780403-1-akash.goel@xxxxxxx
    Signed-off-by: Liviu Dudau <liviu.dudau@xxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/panthor/panthor_mmu.c b/drivers/gpu/drm/panthor/panthor_mmu.c
index d18f32640a79f..64378e8f124bd 100644
--- a/drivers/gpu/drm/panthor/panthor_mmu.c
+++ b/drivers/gpu/drm/panthor/panthor_mmu.c
@@ -990,6 +990,8 @@ panthor_vm_map_pages(struct panthor_vm *vm, u64 iova, int prot,
 
 		if (!size)
 			break;
+
+		offset = 0;
 	}
 
 	return panthor_vm_flush_range(vm, start_iova, iova - start_iova);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux