Skip to content

Commit 5cf3c60

Browse files
fxkamdalexdeucher
authored andcommitted
drm/amdgpu: Use allowed_domains for pinning dmabufs
When determining the domains for pinning DMABufs, filter allowed_domains and fail with a warning if VRAM is forbidden and GTT is not an allowed domain. Fixes: f5e7fab ("drm/amdgpu: allow pinning DMA-bufs into VRAM if all importers can do P2P") Suggested-by: Christian König <[email protected]> Signed-off-by: Felix Kuehling <[email protected]> Reviewed-by: Christian König <[email protected]> Signed-off-by: Alex Deucher <[email protected]> (cherry picked from commit 3940796)
1 parent 0467145 commit 5cf3c60

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ static int amdgpu_dma_buf_pin(struct dma_buf_attachment *attach)
7777
{
7878
struct dma_buf *dmabuf = attach->dmabuf;
7979
struct amdgpu_bo *bo = gem_to_amdgpu_bo(dmabuf->priv);
80-
u32 domains = bo->preferred_domains;
80+
u32 domains = bo->allowed_domains;
8181

8282
dma_resv_assert_held(dmabuf->resv);
8383

@@ -93,6 +93,9 @@ static int amdgpu_dma_buf_pin(struct dma_buf_attachment *attach)
9393
if (domains & AMDGPU_GEM_DOMAIN_VRAM)
9494
bo->flags |= AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED;
9595

96+
if (WARN_ON(!domains))
97+
return -EINVAL;
98+
9699
return amdgpu_bo_pin(bo, domains);
97100
}
98101

0 commit comments

Comments
 (0)