)
Bspec: 59654, 77412
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Michal Wajdeczko
Cc: Dafna Hirschfeld
Cc: John Harrison
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 49 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
v12:
- Fix xe_vm_fault_entry kernel docs (Shuicheng)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal
(Dafna)
- Move PF_MSG_LEN_DW to regs folder (Dafna)
v25:
- Revert changes from last revision (John H)
- Add missing bspec (Michal W)
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
, Ivan)
v15:
- Remove unnecessary size assertion (jcavitt)
v16:
- Nit fixes (Matt Brost)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shu
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
v12:
- Fix xe_vm_fault_entry kernel docs (Shuicheng)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal
, Ivan)
v15:
- Remove unnecessary size assertion (jcavitt)
v16:
- Nit fixes (Matt Brost)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe
(Dafna)
- Move PF_MSG_LEN_DW to regs folder (Dafna)
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shu
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
v6:
- s/xe_pagefault_desc.h/xe_guc_pagefault_desc.h (Dafna)
- Move PF_MSG_LEN_DW to regs folder (Dafna)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
v6:
- s/xe_pagefault_desc.h/xe_guc_pagefault_desc.h (Dafna)
- Move PF_MSG_LEN_DW to regs folder (Dafna)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by
, Ivan)
v15:
- Remove unnecessary size assertion (jcavitt)
v16:
- Nit fixes (Matt Brost)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
v12:
- Fix xe_vm_fault_entry kernel docs (Shuicheng)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal
(Dafna)
- Move PF_MSG_LEN_DW to regs folder (Dafna)
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shu
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86
, Ivan)
v15:
- Remove unnecessary size assertion (jcavitt)
v16:
- Nit fixes (Matt Brost)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe
/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc: Michal Wajdeczko
Cc: Michal Mrozek
Cc: Raag Jadav
Cc: John Harrison
Cc: Ivan Briano
Cc: Matthew
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
v12:
- Fix xe_vm_fault_entry kernel docs (Shuicheng)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shu
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Acked-by: Matthew Brost
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 49
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
v12:
- Fix xe_vm_fault_entry kernel docs (Shuicheng)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
Cc
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86
, Ivan)
v15:
- Remove unnecessary size assertion (jcavitt)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shuicheng Lin
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_vm.c | 107
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shu
: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc: Michal Wajdeczko
Cc: Michal Mrozek
Cc: Raag Jadav
Cc: John Harrison
Cc: Ivan Briano
Cc: Matthew Auld
Jonathan Cavitt (5):
drm/xe/xe_gt_pagefault: Disallow writes to read-only
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 49 +
drivers/gpu/drm/xe
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Reviewed-by: Shu
,
Ivan)
Signed-off-by: Jonathan Cavitt
Cc: Ivan Briano
---
include/drm-uapi/xe_drm.h | 85 +++
1 file changed, 85 insertions(+)
diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
index 154f947ef0..8380508d18 100644
--- a/include/drm-uapi
.
Signed-off-by: Jonathan Cavitt
---
lib/xe/xe_ioctl.c | 5 +
lib/xe/xe_ioctl.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index fb8c4aef13..dc329c4625 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -232,6 +232,11 @@ void
Add tests to xe_vm that exercise the new DRM_IOCTL_XE_VM_GET_PROPERTY
ioctl. Specifically, add input validation tests that exercise the
return values for improperly formatted ioctl structures.
v2:
- Make vm creation consistent between patches (jcavitt)
Signed-off-by: Jonathan Cavitt
---
tests
level (Matt Brost,
Ivan)
v4:
- Make vm creation consistent between patches (jcavitt)
- s/pageproperty/pagefaults
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Suggested-by: Zhang Jianxun
Suggested-by: Stuart Summers
CC: Shuicheng Lin
Cc: Ivan Briano
Add a test to xe_vm that determines if pagefaults are correctly tracked
and reported by the DRM_IOCTL_XE_VM_GET_PROPERTY.
v2:
- s/pageproperty/pagefaults
Signed-off-by: Jonathan Cavitt
Suggested-by: Jianxun Zhang
Suggested-by: Stuart Summers
---
tests/intel/xe_vm.c | 156
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
Cc: Matthew Auld
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26
letter
v19:
- Perform kzalloc outside of lock (Auld)
v20:
- Fix inconsistent use of whitespace in defines
v21:
- Remove unnecessary size assertion (jcavitt)
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested
, Ivan)
v15:
- Remove unnecessary size assertion (jcavitt)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_vm.c | 107
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Reviewed-by: Shuicheng Lin
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 49 +
drivers/gpu/drm/xe
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86 +++
1 file
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
Cc: Matthew Auld
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26
letter
v19:
- Perform kzalloc outside of lock (Auld)
v20:
- Fix inconsistent use of whitespace in defines
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
v6:
- Fix inconsistent use of whitespace in defines
Signed-off-by: Jonathan Cavitt
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86 +++
1 file
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 49 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
, Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_vm.c | 109 +
drivers/gpu/drm/xe/xe_vm.h | 2 +
3
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
Signed-off-by: Jonathan Cavitt
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86 +++
1 file changed, 86 insertions(+)
diff --git a/include/uapi/drm
, Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_vm.c | 109 +
drivers/gpu/drm/xe/xe_vm.h | 2 +
3
engine class and instance (Ivan)
v11:
- Perform kzalloc outside of lock (Auld)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
Cc: Matthew Auld
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 50 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
letter
v19:
- Perform kzalloc outside of lock (Auld)
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc: Michal Wajdeczko
Cc: Michal Mrozek
Cc
engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26 +
drivers/gpu/drm/xe/xe_vm.c | 87
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
Signed-off-by: Jonathan Cavitt
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86 +++
1 file changed, 86 insertions(+)
diff --git a/include/uapi/drm
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 50 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
letter
uAPI: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32987
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc: Michal Wajdeczko
Cc: Michal Mrozek
Cc: Raag Jadav
Cc: John Harrison
Cc: Ivan Briano
, Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_vm.c | 109 +
drivers/gpu/drm/xe/xe_vm.h | 2 +
3
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
,
Ivan)
Signed-off-by: Jonathan Cavitt
Cc: Ivan Briano
---
include/drm-uapi/xe_drm.h | 85 +++
1 file changed, 85 insertions(+)
diff --git a/include/drm-uapi/xe_drm.h b/include/drm-uapi/xe_drm.h
index 154f947ef0..8380508d18 100644
--- a/include/drm-uapi
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 50 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
)
v5:
- Store fault and access type instead of address type (Jianxun)
v6:
- Store pagefaults in non-fault-mode VMs as well (Jianxun)
v7:
- Fix kernel docs and comments (Michal W)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
declares for fault type, access type, and fault level (Matt Brost,
Ivan)
Signed-off-by: Jonathan Cavitt
Cc: Zhang Jianxun
Cc: Ivan Briano
Cc: Matthew Brost
---
include/uapi/drm/xe_drm.h | 86 +++
1 file changed, 86 insertions(+)
diff --git a/include/uapi/drm
, Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_vm.c | 109 +
drivers/gpu/drm/xe/xe_vm.h | 2 +
3
VMs as well (Jianxun)
v12:
- Remove unnecessary else condition
- Correct backwards helper function size logic (jcavitt)
- Fix kernel docs and comments (Michal W)
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc
engine class and instance (Ivan)
v3:
- Add declares for fault type, access type, and fault level (Matt Brost,
Ivan)
- Add reference to KMD change (Kamil)
References:
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Suggested-by: Zhang Jianxun
Suggested
Add tests to xe_vm that exercise the new DRM_IOCTL_XE_VM_GET_PROPERTY
ioctl. Specifically, add input validation tests that exercise the
return values for improperly formatted ioctl structures.
Signed-off-by: Jonathan Cavitt
---
tests/intel/xe_vm.c | 82
extern with access type (Jianxun)
- Add fault type to xe_drm_fault (Jianxun)
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc: Michal Wajdeczko
Cc: Michal Mrozek
Jonathan Cavitt (5):
drm/xe/xe_gt_pagefault
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 50 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
Add tests to xe_vm that exercise the new DRM_IOCTL_XE_VM_GET_PROPERTY
ioctl. Specifically, add input validation tests that exercise the
return values for improperly formatted ioctl structures.
Signed-off-by: Jonathan Cavitt
---
tests/intel/xe_vm.c | 82
Add a test to xe_vm that determines if pagefaults are correctly tracked
and reported by the DRM_IOCTL_XE_VM_GET_PROPERTY.
Signed-off-by: Jonathan Cavitt
Suggested-by: Jianxun Zhang
Suggested-by: Stuart Summers
---
tests/intel/xe_vm.c | 159 +++-
1 file
.
Signed-off-by: Jonathan Cavitt
---
lib/xe/xe_ioctl.c | 5 +
lib/xe/xe_ioctl.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index 6d83889188..a82714cdfd 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -232,6 +232,11 @@ void
engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26 +
drivers/gpu/drm/xe/xe_vm.c | 87
of int (Raag)
- Remove unnecessary includes (jcavitt)
v15:
- Do not report faults from reserved engines (Jianxun)
v16:
- Remove engine class and instance (Ivan)
v17:
- Map access type, fault type, and fault level to user macros (Matt
Brost, Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by
)
- Assert valid size (jcavitt)
v11:
- Remove unnecessary else condition
- Correct backwards helper function size logic (jcavitt)
v12:
- Use size_t instead of int (Raag)
v13:
- Remove engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc
Add a test to xe_vm that determines if pagefaults are correctly tracked
and reported by the DRM_IOCTL_XE_VM_GET_PROPERTY.
Signed-off-by: Jonathan Cavitt
Suggested-by: Jianxun Zhang
Suggested-by: Stuart Summers
---
tests/intel/xe_vm.c | 159 +++-
1 file
Add tests that exercise the new drm_xe_vm_get_property uapi,
specifically for ioctl input validation and for determining that
pagefaults are correctly tracked and returned by the reporter.
v2:
- Remove engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Align with 20250401222657.78545-1-jonathan.cav...@intel.com
Add initial declarations for the xe_vm_get_property_ioctl call, including
necessary structures and IOCTL macros.
v2:
- Remove engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Cc: Ivan Briano
---
include/drm-uapi
.
Signed-off-by: Jonathan Cavitt
---
lib/xe/xe_ioctl.c | 5 +
lib/xe/xe_ioctl.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index 6d83889188..a82714cdfd 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -232,6 +232,11 @@ void
engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
Cc: Ivan Briano
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26 +
drivers/gpu/drm/xe/xe_vm.c | 87
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 50 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
of int (Raag)
- Remove unnecessary includes (jcavitt)
v15:
- Do not report faults from reserved engines (Jianxun)
v16:
- Remove engine class and instance (Ivan)
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc
: Jonathan Cavitt
Cc: Zhang Jianxun
Cc: Ivan Briano
---
include/uapi/drm/xe_drm.h | 75 +++
1 file changed, 75 insertions(+)
diff --git a/include/uapi/drm/xe_drm.h b/include/uapi/drm/xe_drm.h
index 616916985e3f..45f7560879cb 100644
--- a/include/uapi/drm
Add initial declarations for the drm_xe_vm_get_property ioctl.
v2:
- Expand kernel docs for drm_xe_vm_get_property (Jianxun)
v3:
- Remove address type external definitions (Jianxun)
- Add fault type to xe_drm_fault struct (Jianxun)
Signed-off-by: Jonathan Cavitt
Cc: Zhang Jianxun
---
include
Align with 20250326165751.72881-1-jonathan.cav...@intel.com
Add initial declarations for the xe_vm_get_property_ioctl call, including
necessary structures and IOCTL macros.
Signed-off-by: Jonathan Cavitt
---
include/drm-uapi/xe_drm.h | 78 +++
1 file changed
Add tests to xe_vm that exercise the new DRM_IOCTL_XE_VM_GET_PROPERTY
ioctl. Specifically, add input validation tests that exercise the
return values for improperly formatted ioctl structures.
Signed-off-by: Jonathan Cavitt
---
tests/intel/xe_vm.c | 82
Add tests that exercise the new drm_xe_vm_get_property uapi,
specifically for ioctl input validation and for determining that
pagefaults are correctly tracked and returned by the reporter.
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Suggested-by
Add a test to xe_vm that determines if pagefaults are correctly tracked
and reported by the DRM_IOCTL_XE_VM_GET_PROPERTY.
Signed-off-by: Jonathan Cavitt
Suggested-by: Jianxun Zhang
Suggested-by: Stuart Summers
---
tests/intel/xe_vm.c | 162 +++-
1 file
.
Signed-off-by: Jonathan Cavitt
---
lib/xe/xe_ioctl.c | 5 +
lib/xe/xe_ioctl.h | 1 +
2 files changed, 6 insertions(+)
diff --git a/lib/xe/xe_ioctl.c b/lib/xe/xe_ioctl.c
index 6d83889188..a82714cdfd 100644
--- a/lib/xe/xe_ioctl.c
+++ b/lib/xe/xe_ioctl.c
@@ -232,6 +232,11 @@ void
: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Shuicheng Lin
Cc: Jianxun Zhang
Cc: Michal Wajdeczko
Cc: Michal Mzorek
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 26
drivers/gpu/drm/xe/xe_vm.c | 89
drivers/gpu/drm/xe/xe_vm.h | 9
of int (Raag)
- Remove unnecessary includes (jcavitt)
v15:
- Do not report faults from reserved engines (Jianxun)
Signed-off-by: Jonathan Cavitt
Suggested-by: Joonas Lahtinen
Suggested-by: Matthew Brost
Cc: Zhang Jianxun
Cc: Shuicheng Lin
Cc: Michal Wajdeczko
Cc: Michal Mrozek
Cc: Raag
)
- Assert valid size (jcavitt)
v11:
- Remove unnecessary else condition
- Correct backwards helper function size logic (jcavitt)
v12:
- Use size_t instead of int (Raag)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
Cc: Raag Jadav
---
drivers/gpu
:
- Convert enums to defines in regs folder (Michal W)
- Move xe_guc_pagefault_desc to regs folder (Michal W)
Bspec: 77412
Signed-off-by: Jonathan Cavitt
Cc: Michal Wajdeczko
---
drivers/gpu/drm/xe/regs/xe_pagefault_desc.h | 50 +
drivers/gpu/drm/xe/xe_gt_pagefault.c| 43
.
v2:
- Remove unnecessary includes (jcavitt)
Signed-off-by: Jonathan Cavitt
Suggested-by: John Harrison
---
drivers/gpu/drm/xe/xe_hw_engine.c | 24
drivers/gpu/drm/xe/xe_hw_engine_types.h | 3 +++
drivers/gpu/drm/xe/xe_query.c | 18
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
)
v9:
- Future-proof size logic for zero-size properties (jcavitt)
- Add access and fault types (Jianxun)
- Remove address type (Jianxun)
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
Cc: Jainxun Zhang
Cc: Shuicheng Lin
---
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe
The page fault handler should reject write/atomic access to read only
VMAs. Add code to handle this in handle_pagefault after the VMA lookup.
Fixes: 3d420e9fa848 ("drm/xe: Rework GPU page fault handling")
Signed-off-by: Jonathan Cavitt
Suggested-by: Matthew Brost
---
drivers/
1 - 100 of 229 matches
Mail list logo