Commit Graph

46 Commits

Author SHA1 Message Date
de465b1e6c Move drm wrappers to a separate file
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-17 17:58:19 +02:00
3c18744d10 Create a wrapper for drm_i915_gem_execbuffer2
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-12 17:58:16 +02:00
f1574bebb4 Use flag to opt-in for VM_BIND mode
Related-To: NEO-6640
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-04-22 17:11:37 +02:00
d3b7ea10c8 Dont allocate dynamic memory when preparing params for vm bind call
Related-To: NEO-6837
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-05 19:41:56 +02:00
5350553f72 Use PrelimHelper for isDebugAttachAvailable
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-03-30 16:17:05 +02:00
bce96e666f Use updated macro names
Related-To: NEO-6730

Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-03-30 10:44:59 +02:00
28b867f883 Move and extend local memory DRM allocations
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-03-22 13:47:05 +01:00
c0b7f05897 Add memory prefetch for kmd migrated shared allocations
This feature is disabled by default, controlled with the knob
AppendMemoryPrefetchForKmdMigratedSharedAllocations

Related-To: NEO-6740

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-03-09 16:02:18 +01:00
ca7d47598a Reintroduce prelim DRM debug support
It was verified that the issue existed before the failing commit.

Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-28 18:25:57 +01:00
d603bb2f34 Revert "Prelim DRM debug support"
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591

This reverts commit 5e021be0cd.
2022-02-25 18:33:11 +01:00
3c6e0eed2e Remove use of designated initializers
This is a c++20 feature, it worked on Linux via gcc extensions

Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-23 13:56:03 +01:00
5e021be0cd Prelim DRM debug support
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-22 14:59:07 +01:00
e984760423 Revert "Move and extend local memory DRM allocations"
This reverts commit b84b0015d5.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-22 08:48:46 +01:00
b84b0015d5 Move and extend local memory DRM allocations
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-21 16:04:53 +01:00
10f98b45db Metrics Add Os specific implementation Structure for IP Sampling
This patch adds OS specific implementation for IP Sampling.
Implementation for linux is provided as part of this patch.

Related-To: LOCI-2787

--- master-files
level_zero/tools/source/metrics/linux/os_metric_ip_sampling_imp_linux.cpp
level_zero/tools/source/metrics/os_metric_ip_sampling.h
level_zero/tools/source/metrics/windows/os_metric_ip_sampling_imp_windows.cpp
level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_prelim.cpp
level_zero/tools/test/unit_tests/sources/metrics/linux/test_metric_ip_sampling_linux_upstream.cpp
level_zero/tools/test/unit_tests/sources/metrics/windows/test_metric_ip_sampling_windows.cpp
--- master-files

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-02-18 23:15:44 +01:00
235f9be779 Move ioctl strings out of ioctl helper
In order to setup ioctl helper we need to call ioctl to get hw info

Related-To: NEO-6591

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-17 12:30:47 +01:00
dabbabd3c9 Refactor createDrmContext function
merge createDrmContext, createDrmContextExt and appendDrmContextFlag

Related-To: NEO-6591

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-16 15:15:35 +01:00
85de06649d Support for execbuffer user fence ext
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-16 10:55:07 +01:00
a59d285fde Add function to create VmControlExtRegion
Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-16 10:12:06 +01:00
b681b2ae10 Create struct for vm bind params
add ioctl helper function for vm bind and vm unbind

Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 16:11:11 +01:00
f7322d3b85 Extend EngineInfo with additional copy engines
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-15 15:05:02 +01:00
19c7162cf6 Add functions to create and fill VmBindExtSetPat and VmBindExtSyncFence
Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 14:04:57 +01:00
12e2670b9a Add ioctl helper function to check vm bind availability
Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 12:43:50 +01:00
964596e514 Add methods to prepare VM BIND structs
create VmBindExt
setup flags for VM BIND

Related-To: NEO-6591

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 09:25:07 +01:00
cf27583264 Move createDrmContextExt to drm_neo.cpp
add ioctl helper functions to create dedicated drm contexts

createContextWithAccessCounters
createCooperativeContext

Related-To: NEO-6591

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 09:16:36 +01:00
173c86d6f1 Move ioctl strings to ioctl helper
move ioctl helper prelim tests with drm to separated file

Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-14 10:47:31 +01:00
6fe91498d8 Revert "Extend DRM memory manager"
This reverts commit dec634c2cd.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-02-12 23:41:31 +01:00
3467bc0994 Extend waitForBind function
use waitUserFence to wait for fence value
move some tests to shared
- ioctl helper tests
- drm memory info tests
- drm cache info

Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-11 18:52:59 +01:00
dec634c2cd Extend DRM memory manager
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-11 17:28:32 +01:00
23999110ed Add prelim DRM page fault allocation check support
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-10 18:57:52 +01:00
f2c4231a27 Extend DRM mock and queryTopology tests - part 1
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-04 12:02:49 +01:00
2be98a1e62 Create kmd migrated allocation with initial placement
Implements ZE_HOST_MEM_ALLOC_FLAG_BIAS_INITIAL_PLACEMENT
for zeMemAllocShared with KMD migrated allocation.

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-02-01 15:42:10 +01:00
d9886f67ee Make IoctlHelper member of Drm
Related-To: NEO-6575

This is needed to fix accessing IoctlHelper
after driver detach.
This way we are also reducing accessing
sysfs file in Drm::getPrelimVersion

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-02-01 08:26:59 +01:00
26a24e8fde Query engine info with distances
If prelim kernel is being used, query distances
and set correctly number of available engines

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-10 13:30:26 +01:00
ade43e29a5 Optimize vector usage
Don't reallocate memory.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-04 15:51:32 +01:00
6258575e5e Use queryEngineInfo with prelim ioctls
If prelim kernel is being used, query engines
with prelim ioctls.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-04 12:15:04 +01:00
e07b27c0e2 Allow to query memory info with prelim ioctl
If prelims are supported, query memory info with
specific ioctl.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-29 10:21:23 +01:00
3c6f5cd757 Fix createGemExt function
Use vector instead of array

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-28 14:48:31 +01:00
d9f6757378 Change return type from unique_ptr to vector
In some of the drm functions there is a pattern
to store array in unique_ptr and pass it's length
as an argument. This commit simplifies this.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-28 10:33:53 +01:00
2647d563c7 Remove i915 structs from MemoryInfo
Use structs defined in ioctl_helper.h instead of
i915 dependent ones to avoid conflicts between
different kernels

Related-To: NEO-6149

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-22 12:46:59 +01:00
7a730200ee Move appendDrmContextFlags to drm_neo.cpp
Use flag for direct submission when prelim kernel is used.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-20 17:25:11 +01:00
242b08d72b Add advise for atomic and preferred location
If supported, allow atomic and preferred location
advises. Hide this logic under IoctlHelper.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-15 16:02:19 +01:00
601271c92e Fix includes
Add <sys/ioctl.h> include in files with prelims

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-15 11:45:19 +01:00
854a77d1cf Move code from drm_query to drm_neo
Move methods to drm_neo.cpp and hide
kernel-specific implementations to IoctlHelper

Related-To: NEO-6510

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-14 19:28:16 +01:00
98d7258a0b Add prelim ioctls for clos
Add several prelim ioctls related to clos for IoctlHelper

Related-To: NEO-6510

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-10 16:50:29 +01:00
5a3fd1dc94 Check i915 version at runtime
Related-To: NEO-6510

Check which prelim version is being used.
Select proper IoctlHelper based on that version.
If no version found, switch to upstream instead.

Source of prelim headers:
https://github.com/intel-gpu/drm-uapi-helper


Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-10 12:22:00 +01:00