]> www.infradead.org Git - users/jedix/linux-maple.git/commit
drm/xe/sriov: support non-contig VRAM provisioning
authorMatthew Auld <matthew.auld@intel.com>
Thu, 3 Apr 2025 10:24:48 +0000 (11:24 +0100)
committerMatthew Auld <matthew.auld@intel.com>
Fri, 4 Apr 2025 10:41:11 +0000 (11:41 +0100)
commit1e32ffbc9dc8ddf1c7858288d1987ded1c35a8e1
tree8c45908a1dec80735b0f37a085ba3c0c9ab8f66f
parent52a36e7ed6f401605cefd79cf8acd6a28cd3d5d2
drm/xe/sriov: support non-contig VRAM provisioning

Currently we can run into issues with provisioning VRAM region, due to
requiring contig VRAM BO underneath. We sometimes see that allocation
(multiple GB) can fail even when there is enough free space.  We don't
need CPU access to the buffer in the first place, so can forgo pin_map
and therefore also the contig requirement. Keep the same behavior with
save and restore during suspend/resume (which can now be done with
blitter).  We also need the VRAM to occupy the same pages so we don't
need to re-program the LMTT, so should still remain pinned (also we
don't want something to try evict it). With that covert over to plain
pinned kernel object.

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: Matthew Brost <matthew.brost@intel.com>
Reviewed-by: Satyanarayana K V P <satyanarayana.k.v.p@intel.com>
Link: https://lore.kernel.org/r/20250403102440.266113-16-matthew.auld@intel.com
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c