diff options
author | Christian König <christian.koenig@amd.com> | 2018-06-07 10:28:47 +0200 |
---|---|---|
committer | Christian König <christian.koenig@amd.com> | 2020-02-27 14:58:01 +0100 |
commit | a448cb003edcb4b63d0a9c95f3faab724e6150fb (patch) | |
tree | 2e1efd7fae15b4f38d34274ebf6ad2eb22c5522a /drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | |
parent | 2d4dad2734e2aca8b4ef501aae9866662edc1afe (diff) | |
download | linux-a448cb003edcb4b63d0a9c95f3faab724e6150fb.tar.gz linux-a448cb003edcb4b63d0a9c95f3faab724e6150fb.tar.bz2 linux-a448cb003edcb4b63d0a9c95f3faab724e6150fb.zip |
drm/amdgpu: implement amdgpu_gem_prime_move_notify v2
Implement the importer side of unpinned DMA-buf handling.
v2: update page tables immediately
Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: https://patchwork.freedesktop.org/patch/353998/?series=73646&rev=1
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c index 9de8374bbbab..5fa8f59c4ccf 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c @@ -926,6 +926,9 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain, return 0; } + if (bo->tbo.base.import_attach) + dma_buf_pin(bo->tbo.base.import_attach); + bo->flags |= AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS; /* force to pin into visible video ram */ if (!(bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)) @@ -1009,6 +1012,9 @@ int amdgpu_bo_unpin(struct amdgpu_bo *bo) amdgpu_bo_subtract_pin_size(bo); + if (bo->tbo.base.import_attach) + dma_buf_unpin(bo->tbo.base.import_attach); + for (i = 0; i < bo->placement.num_placement; i++) { bo->placements[i].lpfn = 0; bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT; |