Re: Patch "drm/xe: Use ttm_bo_access in xe_vm_snapshot_capture_delayed" has been added to the 6.12-stable tree

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

 



Hi

On Sat, 2025-02-01 at 23:33 -0500, Sasha Levin wrote:
> This is a note to let you know that I've just added the patch titled
> 
>     drm/xe: Use ttm_bo_access in xe_vm_snapshot_capture_delayed
> 
> to the 6.12-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-xe-use-ttm_bo_access-in-xe_vm_snapshot_capture_d.patch
> and it can be found in the queue-6.12 subdirectory.
> 
> If you, or anyone else, feels it should not be added to the stable
> tree,
> please let <stable@xxxxxxxxxxxxxxx> know about it.

Please avoid including this patch for now. It turned out it needs more
dependencies and we will attempt a manual backport later.

Thanks,
Thomas


> 
> 
> 
> commit 7aad4e92ca3782686571792d117b3ffcfe05c65c
> Author: Matthew Brost <matthew.brost@xxxxxxxxx>
> Date:   Tue Nov 26 09:46:13 2024 -0800
> 
>     drm/xe: Use ttm_bo_access in xe_vm_snapshot_capture_delayed
>     
>     [ Upstream commit 5f7bec831f1f17c354e4307a12cf79b018296975 ]
>     
>     Non-contiguous mapping of BO in VRAM doesn't work, use
> ttm_bo_access
>     instead.
>     
>     v2:
>      - Fix error handling
>     
>     Fixes: 0eb2a18a8fad ("drm/xe: Implement VM snapshot support for
> BO's and userptr")
>     Suggested-by: Matthew Auld <matthew.auld@xxxxxxxxx>
>     Signed-off-by: Matthew Brost <matthew.brost@xxxxxxxxx>
>     Reviewed-by: Matthew Auld <matthew.auld@xxxxxxxxx>
>     Link:
> https://patchwork.freedesktop.org/patch/msgid/20241126174615.2665852-7-matthew.brost@xxxxxxxxx
>     Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> 
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index c99380271de62..c8782da3a5c38 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -3303,7 +3303,6 @@ void xe_vm_snapshot_capture_delayed(struct
> xe_vm_snapshot *snap)
>  
>  	for (int i = 0; i < snap->num_snaps; i++) {
>  		struct xe_bo *bo = snap->snap[i].bo;
> -		struct iosys_map src;
>  		int err;
>  
>  		if (IS_ERR(snap->snap[i].data))
> @@ -3316,16 +3315,12 @@ void xe_vm_snapshot_capture_delayed(struct
> xe_vm_snapshot *snap)
>  		}
>  
>  		if (bo) {
> -			xe_bo_lock(bo, false);
> -			err = ttm_bo_vmap(&bo->ttm, &src);
> -			if (!err) {
> -				xe_map_memcpy_from(xe_bo_device(bo),
> -						   snap-
> >snap[i].data,
> -						   &src, snap-
> >snap[i].bo_ofs,
> -						   snap-
> >snap[i].len);
> -				ttm_bo_vunmap(&bo->ttm, &src);
> -			}
> -			xe_bo_unlock(bo);
> +			err = ttm_bo_access(&bo->ttm, snap-
> >snap[i].bo_ofs,
> +					    snap->snap[i].data,
> snap->snap[i].len, 0);
> +			if (!(err < 0) && err != snap->snap[i].len)
> +				err = -EIO;
> +			else if (!(err < 0))
> +				err = 0;
>  		} else {
>  			void __user *userptr = (void __user
> *)(size_t)snap->snap[i].bo_ofs;
>  






[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux