Commit 9d25e284 authored by Matthew Brost's avatar Matthew Brost Committed by Rodrigo Vivi
Browse files

drm/xe: Add has_range_tlb_invalidation device attribute



This will help implementing range based TLB invalidations.

Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: default avatarNiranjana Vishwanathapura <niranjana.vishwanathapura@intel.com>
parent 0335b53c
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -87,6 +87,8 @@ struct xe_device {
		bool has_flat_ccs;
		/** @has_4tile: Whether tile-4 tiling is supported */
		bool has_4tile;
		/** @has_range_tlb_invalidation: Has range based TLB invalidations */
		bool has_range_tlb_invalidation;
	} info;

	/** @irq: device interrupt state */
+4 −0
Original line number Diff line number Diff line
@@ -70,6 +70,7 @@ struct xe_device_desc {
	bool supports_usm;
	bool has_flat_ccs;
	bool has_4tile;
	bool has_range_tlb_invalidation;
};

#define PLATFORM(x)		\
@@ -139,6 +140,7 @@ static const struct xe_device_desc dg1_desc = {
	.require_force_probe = true, \
	.graphics_ver = 12, \
	.graphics_rel = 50, \
	.has_range_tlb_invalidation = true, \
	.has_flat_ccs = true, \
	.dma_mask_size = 46, \
	.max_tiles = 1, \
@@ -255,6 +257,7 @@ static const struct xe_device_desc mtl_desc = {
	.max_tiles = 2,
	.vm_max_level = 3,
	.media_ver = 13,
	.has_range_tlb_invalidation = true,
	PLATFORM(XE_METEORLAKE),
	.extra_gts = xelpmp_gts,
	.platform_engine_mask = MTL_MAIN_ENGINES,
@@ -407,6 +410,7 @@ static int xe_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
	xe->info.supports_usm = desc->supports_usm;
	xe->info.has_flat_ccs = desc->has_flat_ccs;
	xe->info.has_4tile = desc->has_4tile;
	xe->info.has_range_tlb_invalidation = desc->has_range_tlb_invalidation;

	spd = subplatform_get(xe, desc);
	xe->info.subplatform = spd ? spd->subplatform : XE_SUBPLATFORM_NONE;