Commit Graph

153 Commits

Author SHA1 Message Date
Mateusz Jablonski
3f65f75cc3 refactor: unify EngineInfo ctors
remove redundant constructor
create helper struct for numbers of engines
adjust test scopes

Related-To: NEO-10445
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-11 17:08:15 +02:00
Compute-Runtime-Validation
2800282bdb Revert "fix: unblock xekmd recoverable pagefaults vmbind"
This reverts commit 5e144dae16.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-06-25 18:09:25 +02:00
Naklicki, Mateusz
5e144dae16 fix: unblock xekmd recoverable pagefaults vmbind
Related-To: HSD-13011898606
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-06-25 13:23:48 +02:00
Neil R. Spruit
5ddbab4c7c fix: Use Ioctl syscall due to ioctl helper infinite wait given ebusy
Related-to: NEO-11800

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2024-06-22 01:57:01 +02:00
Compute-Runtime-Validation
1731c09d3a Revert "fix: add missing pagefault support query on XeKMD"
This reverts commit 50dfe33efa.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-06-04 22:46:01 +02:00
Naklicki, Mateusz
50dfe33efa fix: add missing pagefault support query on XeKMD
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2024-06-04 15:47:14 +02:00
Katarzyna Cencelewska
12d1bce6b9 fix: change gmm resource for externalHostPtr
Resolves: NEO-10157

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-05-22 16:50:17 +02:00
Compute-Runtime-Validation
94a4bbac57 Revert "fix: change gmm resource for externalHostPtr"
This reverts commit 63843862df.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-05-21 07:43:53 +02:00
Katarzyna Cencelewska
63843862df fix: change gmm resource for externalHostPtr
Resolves: NEO-10157

Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2024-05-21 00:43:29 +02:00
Bartosz Dunajski
e5882e0d31 feature: pass GraphicsAllocation to fence wait
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-05-07 17:59:28 +02:00
Bartosz Dunajski
2a2596c13b refactor: pass additional data to ioctl helper
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-04-26 14:53:14 +02:00
Young Jin Yoon
d6a14d4ed5 feature: support explicit memory locking
Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().

Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-29 07:31:22 +01:00
Maciej Plewka
b722f3b579 feature: Add interface to bind resources as readonly
Related-To: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-27 14:24:58 +01:00
Compute-Runtime-Validation
8e44a46983 Revert "feature: bind resources as read only"
This reverts commit f3d36d3350.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-27 08:51:47 +01:00
Maciej Plewka
f3d36d3350 feature: bind resources as read only
Related-to: NEO-10398
Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2024-03-26 14:11:57 +01:00
Brandon Yates
87022c31d3 feature: Register critical section metadata for xe debugger
Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-03-25 20:56:08 +01:00
Young Jin Yoon
068f6a25c6 Revert "feature: support explicit memory locking"
This reverts commit 27a3307bb0.

Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-25 20:10:20 +01:00
Young Jin Yoon
27a3307bb0 feature: support explicit memory locking
Added lockMemory in context to explicitly locking memory,
Added a boolean flag in graphics_allocation to indicate the allocation
is locked, and modified memory_operations_handler to add lock().
Change the logic to work correctly with makeResident() when lock() is
called previously for the same memory region

Related-To: NEO-8277
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-25 09:49:18 +01:00
Mateusz Jablonski
1319ab4efc refactor: don't setup struct members with designated initializers
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-15 16:36:00 +01:00
Mateusz Jablonski
0270cd6a5b fix: respect gt id when getting engines for drm context under xe kmd
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-15 16:02:47 +01:00
Compute-Runtime-Validation
e11917cfcd Revert "fix: remove not needed checks in ioctl helper xe"
This reverts commit 5a6d0b21ac.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-14 21:38:09 +01:00
Mateusz Jablonski
5a6d0b21ac fix: remove not needed checks in ioctl helper xe
pass gt id to contextSetParam

Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-14 18:14:50 +01:00
Neil R. Spruit
b5f8a38f19 feature: Enable Per IP euStall Functionality
Related-To: NEO-10220

Signed-off-by: Neil R. Spruit <neil.r.spruit@intel.com>
2024-03-14 16:49:52 +01:00
Young Jin Yoon
7b81c4e08f feature: abort when unexpected GPU page fault detected
If ResetStats from i915 is from the GPU page fault, abort
the entire process instead of disabling engines.
Added a fallback mechanism when prelim_drm_i915_reset_stats
fails.

Related-To: GSD-5673
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-14 08:14:59 +01:00
Compute-Runtime-Validation
9cce1183cd Revert "feature: use prelim reset_stats for detailed statisics"
This reverts commit 835dc8b594.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-03-13 14:31:57 +01:00
Aravind Gopalakrishnan
3f20dd3b49 refactor: Add optional user fence during unbind
Add optional fence and wait operations after unbind operation.

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2024-03-13 12:47:44 +01:00
Young Jin Yoon
835dc8b594 feature: use prelim reset_stats for detailed statisics
Added getResetStats() in ioctl_helper.h to support extended header for
prelim_drm_i915_reset_stats.
Added new data structure to capture the fault data structure for prelim.

Related-To: GSD-5673
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-03-13 11:37:04 +01:00
Young Jin Yoon
bf9805b0bb fix: override reset_stat IOCTL macro for prelim
Modified to return DRM_IOCTL_I915_GET_RESET_STATS of prelim headers
as the macro values used for non-prelim is different from the prelim
value due to sizeof() embedded in _IOWR()

Related-To: GSD-5673
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-02-28 10:09:27 +01:00
Brandon Yates
fa4b737326 feature: Implement metadata attaching for vm_bind in xe
Related-to: NEO-9674

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-28 01:36:20 +01:00
Mateusz Jablonski
bb5f6d9660 fix: don't query vm bind support on i915 prelim for pre-Xe platforms
Related-To: HSD-18036843571
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-02-09 12:50:48 +01:00
Brandon Yates
76de854a69 feature: Set Debug Attach Available for Xe
Related-to: NEO-8402

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-24 09:04:11 +01:00
Brandon Yates
ba0db2488a refactor: Implement Xe Resoure Registration (2/x)
Refactor drm_debug.cpp into IoctlHelper

Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-11 08:26:29 +01:00
Young Jin Yoon
4ccae1dbb4 feature: support memory policy for GEM_CREATE
Modified ioctl_helper_prelim to support the extension of gem_create_ext,
i.e. prelim_drm_i915_gem_create_ext_mempolicy.

Added two debug variables to be used for the mempolicy extension.

Modified functions in memory_info and drm_memory_manager to support extension

Added numaif.h from https://github.com/numactl/numactl/tree/master,
v2.0.14

Related-To: NEO-8276
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-01-04 23:49:10 +01:00
Mateusz Jablonski
d8f6551b6b refactor: move i915 ioctl helper to dedicated file
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-28 12:01:18 +01:00
Mateusz Jablonski
2eba5b35e4 refactor: correct naming of DrmParam enum values
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-13 15:43:46 +01:00
Mateusz Jablonski
cff6c81be0 refactor: correct naming of DrmIoctl enums
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-12 10:02:19 +01:00
Mateusz Jablonski
da957d1a37 refactor: correct naming of enum class constants 1/n
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-12-05 14:26:42 +01:00
Mateusz Jablonski
c9664e6bad refactor: rename global debug manager to debugManager
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-11-30 13:00:59 +01:00
Francois Dugast
1fd9d29f54 feature: update Xe KMD header
xe_drm.h header is generated from the series "uAPI Alignment - take 1 v4"
from https://patchwork.freedesktop.org/series/124387/

Related-To: NEO-8324
Signed-off-by: Francois Dugast <francois.dugast@intel.com>
Signed-off-by: Kamil, Kopryk <kamil.kopryk@intel.com>
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2023-10-24 12:03:45 +02:00
Mateusz Jablonski
bede264d0d fix: add unrecoverable to avoid undefined behavior
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-11 08:41:44 +02:00
Mateusz Jablonski
85eafc9e61 fix: query drm info to aligned storages
xe topology info to byte aligned storage
xe engine info to 2 byte aligned storage
system info to 4 byte aligned storage

all other info to 8 byte aligned storage

Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 16:11:40 +02:00
Mateusz Jablonski
fd7c750cf7 fix: ensure local variable address is not exposed outside of function
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-06 15:59:16 +02:00
John Falkowski
56f05303c9 feature: add support for zeMemGet/SetAtomicAccessAttributeExp
Resolves: NEO-8219

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-10-02 15:59:17 +02:00
Kamil Kopryk
79e30f9ecd fix: Correct maxEuPerSubSlice calculation in drm
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-09-08 13:33:58 +02:00
John Falkowski
f652c7311d feature: Add prefetch for chunking with shared and device mem
Perform prefetching of chunks on shared and device allocations
after bind.

Related-To: NEO-8066

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off by: John Falkowski <john.falkowski@intel.com>
2023-08-05 02:17:39 +02:00
Filip Hazubski
7ea22d0369 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Note: introduced changes are disabled by defualt.
Toggle DisableGemCreateExtSetPat can be used to enable new functionality.

Related-To: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-31 09:00:04 +02:00
Compute-Runtime-Validation
2d7505c01c Revert "feature: Add pat index programming to gem create ext call"
This reverts commit 6489379508.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 05:06:58 +02:00
Filip Hazubski
6489379508 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Resolves: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-29 08:51:00 +02:00
Kamil Kopryk
082d33bb7c fix: correct query topology on xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-22 13:24:52 +02:00
Kamil Kopryk
0605716499 fix: don't query ipVersion if not supported
Related-To: NEO-7786
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-06-12 16:12:24 +02:00