summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_dma_buf.c
diff options
context:
space:
mode:
authorThomas Hellström <thomas.hellstrom@linux.intel.com>2023-06-26 21:17:41 +0300
committerRodrigo Vivi <rodrigo.vivi@intel.com>2023-12-21 19:35:04 +0300
commita201c6ee37d63e7c0a2973fb7790e94211b7fa83 (patch)
tree1632caab847bb36d9ab20be7df2f0fc203f0876e /drivers/gpu/drm/xe/xe_dma_buf.c
parent70ff6a999d7cae52b6b418c3110b6245dde9271c (diff)
downloadlinux-a201c6ee37d63e7c0a2973fb7790e94211b7fa83.tar.xz
drm/xe/bo: Evict VRAM to TT rather than to system
The main difference is that we don't bounce and sync on eviction, allowing for pipelined eviction. Moving forward we also need to be careful with dma mappings which can be released in SYSTEM but may remain in TT. v2: - Remove a stale comment (Matthew Brost) Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com> Reviewed-by: Matthew Brost <matthew.brost@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20230626181741.32820-5-thomas.hellstrom@linux.intel.com Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Diffstat (limited to 'drivers/gpu/drm/xe/xe_dma_buf.c')
-rw-r--r--drivers/gpu/drm/xe/xe_dma_buf.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/gpu/drm/xe/xe_dma_buf.c b/drivers/gpu/drm/xe/xe_dma_buf.c
index 975dee1f770f..b9bf4b4dd8a5 100644
--- a/drivers/gpu/drm/xe/xe_dma_buf.c
+++ b/drivers/gpu/drm/xe/xe_dma_buf.c
@@ -81,13 +81,10 @@ static struct sg_table *xe_dma_buf_map(struct dma_buf_attachment *attach,
return ERR_PTR(-EOPNOTSUPP);
if (!xe_bo_is_pinned(bo)) {
- if (!attach->peer2peer ||
- bo->ttm.resource->mem_type == XE_PL_SYSTEM) {
- if (xe_bo_can_migrate(bo, XE_PL_TT))
- r = xe_bo_migrate(bo, XE_PL_TT);
- else
- r = xe_bo_validate(bo, NULL, false);
- }
+ if (!attach->peer2peer)
+ r = xe_bo_migrate(bo, XE_PL_TT);
+ else
+ r = xe_bo_validate(bo, NULL, false);
if (r)
return ERR_PTR(r);
}