[igt-dev] [PATCH i-g-t v3 06/17] lib/xe_query: Add xe_region_class() helper
Zbigniew Kempczyński
zbigniew.kempczynski at intel.com
Tue Jul 11 11:19:58 UTC 2023
In the common code we often need to be aware of region class.
Add helper which returns it from region id.
Signed-off-by: Zbigniew Kempczyński <zbigniew.kempczynski at intel.com>
Reviewed-by: Karolina Stolarek <karolina.stolarek at intel.com>
---
lib/xe/xe_query.c | 16 ++++++++++++++++
lib/xe/xe_query.h | 1 +
2 files changed, 17 insertions(+)
diff --git a/lib/xe/xe_query.c b/lib/xe/xe_query.c
index 830b7e401d..f535ad8534 100644
--- a/lib/xe/xe_query.c
+++ b/lib/xe/xe_query.c
@@ -467,6 +467,22 @@ const char *xe_region_name(uint64_t region)
return vrams[region_idx];
}
+/**
+ * xe_region_class:
+ * @fd: xe device fd
+ * @region: region mask
+ *
+ * Returns class of memory region structure for @region mask.
+ */
+uint16_t xe_region_class(int fd, uint64_t region)
+{
+ struct drm_xe_query_mem_region *memreg;
+
+ memreg = xe_mem_region(fd, region);
+
+ return memreg->mem_class;
+}
+
/**
* xe_min_page_size:
* @fd: xe device fd
diff --git a/lib/xe/xe_query.h b/lib/xe/xe_query.h
index ff328ab942..68ca5a680c 100644
--- a/lib/xe/xe_query.h
+++ b/lib/xe/xe_query.h
@@ -85,6 +85,7 @@ struct drm_xe_engine_class_instance *xe_hw_engines(int fd);
struct drm_xe_engine_class_instance *xe_hw_engine(int fd, int idx);
struct drm_xe_query_mem_region *xe_mem_region(int fd, uint64_t region);
const char *xe_region_name(uint64_t region);
+uint16_t xe_region_class(int fd, uint64_t region);
uint32_t xe_min_page_size(int fd, uint64_t region);
struct drm_xe_query_config *xe_config(int fd);
unsigned int xe_number_hw_engines(int fd);
--
2.34.1
More information about the igt-dev
mailing list