summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/xe/xe_sa.c
diff options
context:
space:
mode:
authorMatthew Brost <matthew.brost@intel.com>2025-04-03 11:24:43 +0100
committerMatthew Auld <matthew.auld@intel.com>2025-04-04 11:41:01 +0100
commit045448da87bfb1542d6553d9bd6f66e2cddb99ed (patch)
tree1d38580d3fa86837ac4e5dcfbc9aa0fecd3fd73e /drivers/gpu/drm/xe/xe_sa.c
parent86f69c26113c3b35967f29db052d40a10317cac0 (diff)
downloadlinux-next-045448da87bfb1542d6553d9bd6f66e2cddb99ed.tar.gz
linux-next-045448da87bfb1542d6553d9bd6f66e2cddb99ed.zip
drm/xe: Add XE_BO_FLAG_PINNED_NORESTORE
Not all BOs need to be restored on resume / d3cold exit, add XE_BO_FLAG_PINNED_NO_RESTORE which skips restoring of BOs rather just allocates VRAM for the BO. This should slightly speedup resume / d3cold exit flows. Marking GuC ADS, GuC CT, GuC log, GuC PC, and SA as NORESTORE. v2: - s/WONTNEED/NORESTORE (Vivi) - Rebase on newly added g2g and backup object flow Signed-off-by: Matthew Brost <matthew.brost@intel.com> Signed-off-by: Matthew Auld <matthew.auld@intel.com> Cc: Satyanarayana K V P <satyanarayana.k.v.p@intel.com> Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com> Link: https://lore.kernel.org/r/20250403102440.266113-11-matthew.auld@intel.com
Diffstat (limited to 'drivers/gpu/drm/xe/xe_sa.c')
-rw-r--r--drivers/gpu/drm/xe/xe_sa.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/xe/xe_sa.c b/drivers/gpu/drm/xe/xe_sa.c
index f8fe61e25518..1d43e183ca21 100644
--- a/drivers/gpu/drm/xe/xe_sa.c
+++ b/drivers/gpu/drm/xe/xe_sa.c
@@ -60,7 +60,8 @@ struct xe_sa_manager *__xe_sa_bo_manager_init(struct xe_tile *tile, u32 size, u3
bo = xe_managed_bo_create_pin_map(xe, tile, size,
XE_BO_FLAG_VRAM_IF_DGFX(tile) |
XE_BO_FLAG_GGTT |
- XE_BO_FLAG_GGTT_INVALIDATE);
+ XE_BO_FLAG_GGTT_INVALIDATE |
+ XE_BO_FLAG_PINNED_NORESTORE);
if (IS_ERR(bo)) {
drm_err(&xe->drm, "Failed to prepare %uKiB BO for SA manager (%pe)\n",
size / SZ_1K, bo);