Commit Graph

253 Commits

Author SHA1 Message Date
Mateusz Jablonski
4154e6666b fix: correct loading L0 loader functions
- don't load ze_loader.dll from file system
- to perform self-open on Windows use getModuleHandleA with proper module name
- don't free library loaded with getModuleHandleA
- as loader may be not available during runtime teardown:
- load translate handle function during global setup
- load setDriverTeardown function during global teardown
- when loader is not available during teardown, unset translate handle
function

Related-To: GSD-10147

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-17 15:39:20 +02:00
Tomasz Biernacik
c982981dde feature: add number of rt stacks to capability table
Related-To: NEO-12138

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2024-10-17 14:46:19 +02:00
Compute-Runtime-Validation
f117b5fb68 Revert "fix: correct loading L0 loader functions"
This reverts commit 9c7b3c5e19.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-10-17 08:20:19 +02:00
Mateusz Jablonski
9c7b3c5e19 fix: correct loading L0 loader functions
on Windows use getModuleHandleA with proper module name
don't load ze_loader.dll from file system

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-16 19:53:05 +02:00
Tomasz Biernacik
bf6d9fc416 feature: read new params from blob
Related-To: NEO-12138

Signed-off-by: Tomasz Biernacik <tomasz.biernacik@intel.com>
2024-10-16 10:29:22 +02:00
Bartosz Dunajski
5adfaa0380 test: improve drm mocking
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-10-14 11:49:04 +02:00
Weronika Kapusta
8cb630b29a test: neo ULT should build with optimizations disabled
Related-To: NEO-8116
Signed-off-by: Weronika Kapusta <weronika.kapusta@intel.com>
2024-10-11 17:26:06 +02:00
Mateusz Jablonski
8fbe873e1b build: correct setting for i915/xe prelim setting in package scripts
rename i915 flag to uppercase, for consistency
disable i915 / xe prelim by default in package scripts

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-10-09 15:55:59 +02:00
Mateusz Jablonski
c7ae732a2a test: enable global mock sip in tests
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-30 18:19:57 +02:00
Mateusz Jablonski
86a088e13f feature: move L3 bank query from xe-prelim to xe-nonprelim path
Related-To: NEO-11125
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-17 18:14:17 +02:00
Bartosz Dunajski
ed05912c40 test: improve handling mock queue id
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-09-16 13:34:37 +02:00
Kamil Kopryk
d18d58d4f7 test: correct expectations in ults if heapless enabled
Related-To: NEO-10681
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-09-12 09:20:47 +02:00
Mateusz Jablonski
bc5237ca8a feature: add support for query l3 bank count in xe-prelim
Related-To: NEO-11125
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-11 11:28:43 +02:00
Mateusz Jablonski
1c15fa5c70 fix: correct thread-safety in removing from bind info vector in xe path
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-11 02:49:27 +02:00
Fabian Zwoliński
ea5b586c37 fix: move pathExists out of sys calls and do not mock it
Moved pathExists from SysCalls to path.h.
In ULTs, use unchanged pathExists and mock stat, getFileAttributesA instead.
Add Windows and Linux ULTs for pathExists.

Signed-off-by: Fabian Zwoliński <fabian.zwolinski@intel.com>
2024-09-10 19:24:45 +02:00
Kamil Kopryk
49a2050312 test: correct drm ults if heapless is enabled
Related-To: NEO-10641

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2024-09-10 18:12:29 +02:00
Mateusz Jablonski
dfbad8029b feature: add support for SIMD16 EU per DSS to xe-prelim helper
Related-To: NEO-12012
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-09-10 15:35:46 +02:00
Mateusz Jablonski
4bf8e6de2e test: correct expectation for pat index in bind test
Related-To: NEO-10158

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-30 20:16:13 +02:00
Mateusz Jablonski
512dac67fa test: move xe specific mocks to shared/test/common
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-30 11:22:58 +02:00
Mateusz Jablonski
c8ead35afa test: correct adding subdirectories in test cmake files
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-08-29 16:16:05 +02:00
Bellekallu Rajkiran
be4570fe10 fix: Read appropriate entry for HBM channels
Related-To: NEO-11949

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2024-08-12 09:44:37 +02:00
Maciej Bielski
790bb84841 refactor: decouple ClosCacheReservation from Drm
The dependency towards `Drm` is unnecessary and only makes testing more
difficult. Instead, dependency towards `IoctlHelper` alone only is
sufficient.

Related-To: NEO-10158
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-31 10:38:35 +02:00
Mateusz Jablonski
e24acc6155 fix: ensure memory info is queried before querying engine info
initialization of engine info relies on memory info data

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-26 09:28:50 +02:00
Maciej Bielski
2165154530 feature: add support for L3-cache reservation
Resolves: NEO-7849

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-24 10:10:28 +02:00
Compute-Runtime-Validation
2116808b8d Revert "fix: correct number of slices based on GuC info"
This reverts commit b6a56bcdde.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-23 17:22:31 +02:00
Mateusz Hoppe
8a7923c6ee fix: allow fork() after zeInit()
- do not release resources derived from parent process
- zeInit() in child should initilize new driver

Related-To: NEO-11761

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-23 15:31:50 +02:00
Mateusz Hoppe
0800ab54f5 refactor: remove redundant getPid()
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2024-07-22 22:51:47 +02:00
Compute-Runtime-Validation
9625f88d02 Revert "feature: add support for cache reservation"
This reverts commit b8eabdd4ce.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-07-19 20:58:43 +02:00
Mateusz Jablonski
64acb65b08 fix: don't crash when getting pci path for non-render device
Related-To: NEO-11714
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-18 12:27:35 +02:00
Mateusz Jablonski
b6a56bcdde fix: correct number of slices based on GuC info
KMD exposes flat subslice info without indicating slice index
This commit calculates slice count based on total subslice count and
max subslice per slice count that we have from device blob

Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-07-18 12:12:19 +02:00
Maciej Bielski
b8eabdd4ce feature: add support for cache reservation
Resolves: NEO-7849

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-18 12:08:58 +02:00
Maciej Bielski
005b273b1e test: stop abusing ctors in DrmMockCustom and derived types
Calling virtual functions from within constructors is incorrect, the
virtualization mechanism does not work until a constructor completes.
So, instead of performing many operations in constructors, make them
small and use static `create()` methods to construct the object properly
and only then perform additional setup.

Mocks are a prominent example how such practice degrades the code.
A function called from a constructor is basically unmockable. Despite
being overriden by derived type (to alter the execution path as per
needs of a given test-case) the parent versions are always called.

This was making test development more and more painful as at some point
there is no hack to compensate for the lack of standard mechanism.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-10 08:34:09 +02:00
Maciej Bielski
f99846a108 feature: add Drm-specific memoryBanks computation logic
Related-To: NEO-9754

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-03 10:01:39 +02:00
Mateusz Jablonski
43ca7c082e fix: query csr size in mb and slm size per dss from device blob
Related-To: NEO-8188, NEO-10774
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-06-26 14:42:18 +02:00
Wenbin Lu
e39d478acd fix: read max SS & EU/SS from GuC system info blob
Related-To: NEO-9489

Signed-off-by: Wenbin Lu <wenbin.lu@intel.com>
2024-06-26 09:30:57 +02:00
Compute-Runtime-Validation
d19f58019f Revert "feature: add Drm-specific memoryBanks computation logic"
This reverts commit 11f7166c5a.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-06-25 12:31:26 +02:00
Maciej Bielski
11f7166c5a feature: add Drm-specific memoryBanks computation logic
Related-To: NEO-9754

Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-06-24 11:22:41 +02:00
Filip Hazubski
0d61860af6 fix: Reset builtins pointer after its resources are freed
Add resetBuiltins helper function to MockRootDeviceEnvironment.
Update tests to use the new function whenever builtins unique pointer
is reset to ensure that sip kernels are properly freed.

Related-To: HSD-18038645398, HSD-18038819112

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2024-06-20 10:49:56 +02:00
Artur Harasimiuk
8d28f8d90e fix: adjust SysCalls::write signature to match stdlib
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2024-06-14 16:48:12 +02:00
Bartosz Dunajski
da9c009b88 feature: assign unique interrupt to queue
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-06-07 10:06:31 +02:00
Maciej Bielski
dc32da2507 feature: prepare StorageInfo for Drm-specific customization
Get the local memory regions count from the primary source (MemoryInfo)
and store for further use when using DrmMemoryManager.
Add a point of dispatch (virtual `createStorageInfoFromProperties`) for
further Drm-specific customizations related to StorageInfo. As the
function became virtual, move one of its callers
(`isLocalMemoryUsedForIsa()`) from the constructor of `MemoryManager` to
respective constructors of all derivative classes. This prevents
bypassing the virtual call dispatch.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-05-16 12:24:48 +02:00
Maciej Bielski
014720fc29 refactor: use DeviceBitfield where appropriate
Replace less type-safe uint32_t and reduce conversions between both
types.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-05-14 09:13:11 +02:00
Young Jin Yoon
2c488d9e84 fix: check reset status after completion
Added a logic to check the reset status after the completion to make
sure we go through the logic at least once

Related-To: GSD-8902
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2024-05-14 06:38:07 +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
806da85ec6 refactor: prework to pass interrupt hint
Related-To: NEO-8179

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2024-04-29 11:14:53 +02:00
Mateusz Jablonski
25bed07989 fix: correct calculating system shared memory size
do not exceed system memory region size when region is available

Related-To: HSD-18038050680
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-04-24 18:55:23 +02:00
Maciej Bielski
c2b4699cb6 feature: Add mask of tiles to each memory region in Xe
* Derive that information from GT list
* Use it to compute local memory size given the mask of tiles to account
for
* Leverage IoctlHelper to dispatch execution (i915 vs Xe)

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-04-16 14:22:40 +02:00
Mateusz Jablonski
420e1391b2 fix: handle not aligned gtt size reported by i915
when i915 reports gtt size between 47 and 48 bits we consider
it as 48 bit VA space

Related-To: GSD-8215
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-29 07:51:06 +01:00
Wenju He
03078541d7 feature: make global bindless heaps resident when created
Make bindless heaps resident right after heap allocation.
Motivation is that SYCL bindless image can be passed as a value argument
or through memory. Therefore, we're not able to make its bindless heap
resident during kernel initialization or setting kernel arguments.

This fixes SYCL bindless image read_write_*D.cpp tests on DG2.

Related-To: NEO-7063
Signed-off-by: Wenju He <wenju.he@intel.com>
2024-03-20 14:40:11 +01:00
Bellekallu Rajkiran
9736313d10 feature: Support for ccs mode configuration via SysFs
Add support for configuring ccs mode for all applicable devices
before KMD is loaded.

Use ZEX_NUMBER_OF_CCS to configure ccs mode.

Format is as follows:

ZEX_NUMBER_OF_CCS=NumberOfCcs i,e Setting ZEX_NUMBER_OF_CCS
to 4 sets ccs mode to 4 for all devices for which configuration
is supported.

Related-To: NEO-10378

Signed-off-by: Bellekallu Rajkiran <bellekallu.rajkiran@intel.com>
2024-03-15 15:51:45 +01:00