summaryrefslogtreecommitdiff
path: root/lib/intel_mocs.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/intel_mocs.c')
-rw-r--r--lib/intel_mocs.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/intel_mocs.c b/lib/intel_mocs.c
index 4a9c305dc..b0559e0a5 100644
--- a/lib/intel_mocs.c
+++ b/lib/intel_mocs.c
@@ -9,6 +9,7 @@
struct drm_intel_mocs_index {
uint8_t uc_index;
uint8_t wb_index;
+ uint8_t defer_to_pat_index;
};
static void get_mocs_index(int fd, struct drm_intel_mocs_index *mocs)
@@ -25,6 +26,7 @@ static void get_mocs_index(int fd, struct drm_intel_mocs_index *mocs)
if (intel_graphics_ver(devid) >= IP_VER(20, 0)) {
mocs->uc_index = 3;
mocs->wb_index = 4;
+ mocs->defer_to_pat_index = 0;
} else if (IS_METEORLAKE(devid)) {
mocs->uc_index = 5;
mocs->wb_index = 10;
@@ -60,3 +62,15 @@ uint8_t intel_get_uc_mocs_index(int fd)
return mocs.uc_index;
}
+
+uint8_t intel_get_defer_to_pat_mocs_index(int fd)
+{
+ struct drm_intel_mocs_index mocs;
+ uint16_t dev_id = intel_get_drm_devid(fd);
+
+ igt_assert(AT_LEAST_GEN(dev_id, 20));
+
+ get_mocs_index(fd, &mocs);
+
+ return mocs.defer_to_pat_index;
+}