Commit 12267f83 authored by Marcin Bernatowicz's avatar Marcin Bernatowicz Committed by Michał Winiarski
Browse files

drm/xe/tests: Make cross-device dma-buf BOs CPU-visible on small BAR



Small-BAR systems (e.g., SR-IOV VFs in VMs) expose only a subset of
VRAM via PCI/BAR. Exporting a BO outside that window fails, and the
selftests also do CPU fill/verify.

Set XE_BO_FLAG_NEEDS_CPU_ACCESS for cross-device variants to force
CPU-mappable placement and keep tests reliable. Large-BAR/P2P setups
are unaffected.

Suggested-by: default avatarMatthew Auld <matthew.auld@intel.com>
Signed-off-by: default avatarMarcin Bernatowicz <marcin.bernatowicz@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: default avatarMatthew Auld <matthew.auld@intel.com>
Link: https://lore.kernel.org/r/20250814145950.430231-1-marcin.bernatowicz@linux.intel.com


Signed-off-by: default avatarMichał Winiarski <michal.winiarski@intel.com>
parent 81a45cb7
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -204,7 +204,7 @@ static const struct dma_buf_attach_ops nop2p_attach_ops = {
static const struct dma_buf_test_params test_params[] = {
	{.mem_mask = XE_BO_FLAG_VRAM0,
	 .attach_ops = &xe_dma_buf_attach_ops},
	{.mem_mask = XE_BO_FLAG_VRAM0,
	{.mem_mask = XE_BO_FLAG_VRAM0 | XE_BO_FLAG_NEEDS_CPU_ACCESS,
	 .attach_ops = &xe_dma_buf_attach_ops,
	 .force_different_devices = true},

@@ -236,7 +236,8 @@ static const struct dma_buf_test_params test_params[] = {

	{.mem_mask = XE_BO_FLAG_SYSTEM | XE_BO_FLAG_VRAM0,
	 .attach_ops = &xe_dma_buf_attach_ops},
	{.mem_mask = XE_BO_FLAG_SYSTEM | XE_BO_FLAG_VRAM0,
	{.mem_mask = XE_BO_FLAG_SYSTEM | XE_BO_FLAG_VRAM0 |
		     XE_BO_FLAG_NEEDS_CPU_ACCESS,
	 .attach_ops = &xe_dma_buf_attach_ops,
	 .force_different_devices = true},