[PATCH 1/5] drm/ttm: move SG flag check into ttm_bo_vm_reserve
Dave Airlie
airlied at gmail.com
Mon Sep 28 05:28:57 UTC 2020
On Sat, 26 Sep 2020 at 00:55, Christian König
<ckoenig.leichtzumerken at gmail.com> wrote:
>
> Just check earlier if a BO can be page faulted in the first place.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
Nice work,
For the series
Reviewed-by: Dave Airlie <airlied at redhat.com>
> ---
> drivers/gpu/drm/ttm/ttm_bo_vm.c | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/gpu/drm/ttm/ttm_bo_vm.c b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> index 98a006fc30a5..991ef132e108 100644
> --- a/drivers/gpu/drm/ttm/ttm_bo_vm.c
> +++ b/drivers/gpu/drm/ttm/ttm_bo_vm.c
> @@ -157,6 +157,15 @@ vm_fault_t ttm_bo_vm_reserve(struct ttm_buffer_object *bo,
> return VM_FAULT_NOPAGE;
> }
>
> + /*
> + * Refuse to fault imported pages. This should be handled
> + * (if at all) by redirecting mmap to the exporter.
> + */
> + if (bo->ttm && (bo->ttm->page_flags & TTM_PAGE_FLAG_SG)) {
> + dma_resv_unlock(bo->base.resv);
> + return VM_FAULT_SIGBUS;
> + }
> +
> return 0;
> }
> EXPORT_SYMBOL(ttm_bo_vm_reserve);
> @@ -281,13 +290,6 @@ vm_fault_t ttm_bo_vm_fault_reserved(struct vm_fault *vmf,
> vm_fault_t ret = VM_FAULT_NOPAGE;
> unsigned long address = vmf->address;
>
> - /*
> - * Refuse to fault imported pages. This should be handled
> - * (if at all) by redirecting mmap to the exporter.
> - */
> - if (bo->ttm && (bo->ttm->page_flags & TTM_PAGE_FLAG_SG))
> - return VM_FAULT_SIGBUS;
> -
> if (bdev->driver->fault_reserve_notify) {
> struct dma_fence *moving = dma_fence_get(bo->moving);
>
> --
> 2.17.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list