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

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
...@@ -87,6 +87,8 @@ struct xe_device { ...@@ -87,6 +87,8 @@ struct xe_device {
bool has_flat_ccs; bool has_flat_ccs;
/** @has_4tile: Whether tile-4 tiling is supported */ /** @has_4tile: Whether tile-4 tiling is supported */
bool has_4tile; bool has_4tile;
/** @has_range_tlb_invalidation: Has range based TLB invalidations */
bool has_range_tlb_invalidation;
} info; } info;
/** @irq: device interrupt state */ /** @irq: device interrupt state */
......
...@@ -70,6 +70,7 @@ struct xe_device_desc { ...@@ -70,6 +70,7 @@ struct xe_device_desc {
bool supports_usm; bool supports_usm;
bool has_flat_ccs; bool has_flat_ccs;
bool has_4tile; bool has_4tile;
bool has_range_tlb_invalidation;
}; };
#define PLATFORM(x) \ #define PLATFORM(x) \
...@@ -139,6 +140,7 @@ static const struct xe_device_desc dg1_desc = { ...@@ -139,6 +140,7 @@ static const struct xe_device_desc dg1_desc = {
.require_force_probe = true, \ .require_force_probe = true, \
.graphics_ver = 12, \ .graphics_ver = 12, \
.graphics_rel = 50, \ .graphics_rel = 50, \
.has_range_tlb_invalidation = true, \
.has_flat_ccs = true, \ .has_flat_ccs = true, \
.dma_mask_size = 46, \ .dma_mask_size = 46, \
.max_tiles = 1, \ .max_tiles = 1, \
...@@ -255,6 +257,7 @@ static const struct xe_device_desc mtl_desc = { ...@@ -255,6 +257,7 @@ static const struct xe_device_desc mtl_desc = {
.max_tiles = 2, .max_tiles = 2,
.vm_max_level = 3, .vm_max_level = 3,
.media_ver = 13, .media_ver = 13,
.has_range_tlb_invalidation = true,
PLATFORM(XE_METEORLAKE), PLATFORM(XE_METEORLAKE),
.extra_gts = xelpmp_gts, .extra_gts = xelpmp_gts,
.platform_engine_mask = MTL_MAIN_ENGINES, .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) ...@@ -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.supports_usm = desc->supports_usm;
xe->info.has_flat_ccs = desc->has_flat_ccs; xe->info.has_flat_ccs = desc->has_flat_ccs;
xe->info.has_4tile = desc->has_4tile; xe->info.has_4tile = desc->has_4tile;
xe->info.has_range_tlb_invalidation = desc->has_range_tlb_invalidation;
spd = subplatform_get(xe, desc); spd = subplatform_get(xe, desc);
xe->info.subplatform = spd ? spd->subplatform : XE_SUBPLATFORM_NONE; xe->info.subplatform = spd ? spd->subplatform : XE_SUBPLATFORM_NONE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment