@@ -22,33 +22,6 @@
#include "xe_trace_bo.h"
#include "xe_vm.h"
-struct pagefault {
- u64 page_addr;
- u32 asid;
- u16 pdata;
- u8 vfid;
- u8 access_type;
- u8 fault_type;
- u8 fault_level;
- u8 engine_class;
- u8 engine_instance;
- u8 fault_unsuccessful;
- bool trva_fault;
-};
-
-enum access_type {
- ACCESS_TYPE_READ = 0,
- ACCESS_TYPE_WRITE = 1,
- ACCESS_TYPE_ATOMIC = 2,
- ACCESS_TYPE_RESERVED = 3,
-};
-
-enum fault_type {
- NOT_PRESENT = 0,
- WRITE_ACCESS_VIOLATION = 1,
- ATOMIC_ACCESS_VIOLATION = 2,
-};
-
struct acc {
u64 va_range_base;
u32 asid;
@@ -11,6 +11,57 @@
struct xe_gt;
struct xe_guc;
+struct pagefault {
+ u64 page_addr;
+ u32 asid;
+ u16 pdata;
+ u8 vfid;
+ u8 access_type;
+ u8 fault_type;
+ u8 fault_level;
+ u8 engine_class;
+ u8 engine_instance;
+ u8 fault_unsuccessful;
+ bool prefetch;
+ bool trva_fault;
+};
+
+enum access_type {
+ ACCESS_TYPE_READ = 0,
+ ACCESS_TYPE_WRITE = 1,
+ ACCESS_TYPE_ATOMIC = 2,
+ ACCESS_TYPE_RESERVED = 3,
+};
+
+enum fault_type {
+ NOT_PRESENT = 0,
+ WRITE_ACCESS_VIOLATION = 1,
+ ATOMIC_ACCESS_VIOLATION = 2,
+};
+
+static char *access_type_str[] = {
+ "ACCESS_TYPE_READ",
+ "ACCESS_TYPE_WRITE",
+ "ACCESS_TYPE_ATOMIC",
+ "ACCESS_TYPE_RESERVED",
+};
+
+static char *fault_type_str[] = {
+ "NOT_PRESENT",
+ "WRITE_ACCESS_VIOLATION",
+ "ATOMIC_ACCESS_VIOLATION",
+};
+
+static inline char *access_type_to_str(enum access_type a)
+{
+ return access_type_str[a];
+}
+
+static inline char *fault_type_to_str(enum fault_type f)
+{
+ return fault_type_str[f];
+}
+
int xe_gt_pagefault_init(struct xe_gt *gt);
void xe_gt_pagefault_reset(struct xe_gt *gt);
int xe_guc_pagefault_handler(struct xe_guc *guc, u32 *msg, u32 len);
Migrate the pagefault struct from xe_gt_pagefault.c to the xe_gt_pagefault.h header file, along with the associated enum values. Additionally, add string declarations for the associated enum values, as well as functions that translate from the enum values to their string counterparts. The string variants will be useful for debugging later. Signed-off-by: Jonathan Cavitt <jonathan.cavitt@intel.com> --- drivers/gpu/drm/xe/xe_gt_pagefault.c | 27 --------------- drivers/gpu/drm/xe/xe_gt_pagefault.h | 51 ++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 27 deletions(-)