Commit Graph

98 Commits

Author SHA1 Message Date
Lukasz Jobczyk 853a65aae9 Add PCI barrier implementation
Resolves: NEO-7850

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-04-24 10:33:03 +02:00
Milczarek, Slawomir 0ff46562db [perf] Improve placement of KMD shared allocation in scenario with subdevice 1
Improves performance for benchmarks with KMD-migrated shared allocation
in scenarios with ZE_AFFINITY_MASK=0.1.

Related-To: NEO-7881

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-04-13 17:55:50 +02:00
Milczarek, Slawomir 4e6995bc4c Set VM advise with preferred location to device by default
Apply the KMD advise with preferred device location for KMD-migrated
shared allocation to migrate to lmem on every GPU page fault
(default KMD migration policy).

Related-To: NEO-7851

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2023-03-30 17:04:23 +02:00
Mateusz Jablonski 415d2cb121 fix xe: add missing wait on fence before unbind
Related-To: NEO-7306
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-03-21 15:37:44 +01:00
Kamil Kopryk fa8579602f refactor: rename product helper files n/n
Related-To: NEO-7703
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-03-10 13:24:38 +01:00
Kamil Kopryk 2484c7ceb2 refactor: rename hw_helper files to gfx_core_helper files
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-02-01 19:37:51 +01:00
Warchulski, Jaroslaw c43233dabf Cleanup includes 42
Cleaned up files:
level_zero/core/source/kernel/kernel_hw.h
shared/source/helpers/common_types.h
shared/test/common/libult/linux/drm_mock.h
shared/test/common/libult/ult_command_stream_receiver.h

Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2023-01-25 09:16:39 +01:00
Filip Hazubski 2ed2ac73d1 refactor: correct ioctl and related functions to return signed int
Change IoctlHelper::ioctl function to return int.
Change IoctlHelper::createGemExt function to return int.
Change IoctlHelper::queryDistances function to return int.
Change UuidRegisterResult::retVal type to int32_t.
Rename res to ret in debug_session.cpp for consistency.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-01-19 22:04:27 +01:00
Kamil Kopryk 2eaae763bc Refactor: don't use global ProductHelper getter in shared files 3/n
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-01-02 14:06:50 +01:00
Kamil Kopryk 232b886056 Rename HwInfoConfig to ProductHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-14 14:39:52 +01:00
Kamil Kopryk 03b687881f Rename HwHelper -> GfxCoreHelper
Related-To: NEO-6853
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-12-09 10:29:06 +01:00
Milczarek, Slawomir 7d202c7871 Update i915 prelim headers to v2.0-rc16
Related-To: NEO-5838

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-12-02 11:37:16 +01:00
Maciej Plewka 4b42b066f8 Use dedicated using type for TaskCount
Related-To: NEO-7155

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2022-11-28 16:44:44 +01:00
Warchulski, Jaroslaw f35f59b573 Cleanup includes 5
Related-To: NEO-5548
Signed-off-by: Warchulski, Jaroslaw <jaroslaw.warchulski@intel.com>
2022-11-18 22:46:38 +01:00
Slawomir Milczarek d942660b20 Set destination vm id in vm prefetch call
Use rsvd in prelim_drm_i915_gem_vm_prefetch to pass vm id to prefetch to

Related-To: NEO-6740

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2022-11-16 11:26:41 +01:00
Mateusz Jablonski 8ddc889c1d Store hardware IP version in hardware info
Query HW IP version using ioctl helper prelim

Related-To: NEO-7457
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-03 09:57:08 +01:00
Mateusz Jablonski d45d62ef0e Add debug flag to force nonblocking exec buffer calls when using prelim kernel
Related-To: NEO-7144
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-03 09:10:31 +01:00
Mateusz Jablonski 1131a6a4c1 Update i915 prelim headers to v2.0-rc15
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc15

Related-To: NEO-7457
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-11-02 11:30:54 +01:00
Mateusz Jablonski 9816f815f3 Propagate exec buffer error to L0 API level on Xe HPC
This change makes that drm file is opened in nonblocking mode for prelim
kernels. In such case when calling exec buffer ioctl and get
EAGAIN (aka EWOULDBLOCK) we may return error to API level

Related-To: NEO-7144

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-10-31 10:09:13 +01:00
Jaime A Arteaga Molina 5446b9ca0d Update Fabric Latency to Edge Properties (2)
- Only initialize vertexes when queried.
- Return also bandwidth when calling PRELIM_DRM_I915_QUERY_FABRIC_INFO.

Related-To: LOCI-3464

Signed-off-by: Jaime A Arteaga Molina <jaime.a.arteaga.molina@intel.com>
2022-10-26 08:15:35 +02:00
Joshua Santosh Ranjan 83b4edddf0 Update Fabric Latency to Edge Properties
Related-To: LOCI-3464

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-10-25 03:23:53 +02:00
Mateusz Hoppe 5bd4b9eb48 Do not call DebuggerOpen ioctl again on EBUSY
Resolves: NEO-7429

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-10-19 10:26:35 +02:00
Compute-Runtime-Validation 71149b29c5 Revert "Propagate exec buffer error to L0 API level"
This reverts commit 9a95f3c62d.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-13 06:21:31 +02:00
Mateusz Jablonski 9a95f3c62d Propagate exec buffer error to L0 API level
This change makes that drm file is opened in nonblocking mode for prelim
kernels. In such case when calling exec buffer ioctl and get
EAGAIN (aka EWOULDBLOCK) we may return error to API level

Related-To: NEO-7144
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-10-12 17:34:35 +02:00
Dunajski, Bartosz eb79500c60 Debug flag to print completion fence usage.
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-11 14:58:57 +02:00
Jaime Arteaga a3b3f3e86e Add support for PRELIM_I915_PARAM_SET_PAIR
This extension allows pairing two buffer objects so they can be
exported using a single dma-buf handle. When imported, a single
buffer object is created with a total size of the two buffer
objects.

Related-To: LOCI-3355

Sync to
https://github.com/intel-gpu/drm-uapi-helper/releases/tag/v2.0-rc15

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-09-29 23:41:39 +02:00
Patryk Wrobel 0fb52f7d45 Fix undefined behavior in IoctlHelperPrelim20::prepareVmBindExt()
When pointer type differs from the type, which was obtained
via new[] operator, then delete[] is undefined behavior.

Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-09-12 14:14:51 +02:00
Mateusz Jablonski a4e9ede440 Dont use global namespaces of i915 definitions
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-19 13:17:59 +02:00
Mateusz Jablonski 78c96db2fa Create wrappers for different version of i915 headers
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-18 10:15:44 +02:00
Mateusz Jablonski 02e4ddbdfa Get drm specific string from ioctl helper when available
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-15 12:31:54 +02:00
Mateusz Jablonski e88bad79a6 Dont pass drm to ioctl helper methods - use Ioctl Helper's member instead
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-30 11:11:12 +02:00
Mateusz Jablonski c9e2b4bc32 Pass Drm to ioctl helper ctor
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-29 15:47:01 +02:00
Joshua Santosh Ranjan 6adf069eb3 Metrics: Add NReports Event Generation support for EuStallSampling
This patch adds support for NReports for EuStallSampling

Related-To: LOCI-2758

Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>
2022-06-14 17:15:23 +02:00
Mateusz Jablonski bc1347d932 Make IoctlHelper::ioctl method non-static
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-10 16:30:36 +02:00
Mateusz Jablonski 695958bd10 Move I915_PARAM values to DrmParam enum class
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-06 18:46:04 +02:00
Mateusz Jablonski 9f89a91671 Unify shared code between ioctl helpers upstream and prelim
Related-To: NEO-7028
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-03 15:16:57 +02:00
Mateusz Jablonski e082b80e0a Stop using prelim specific values for engine info and memory regions
Resolves: NEO-7028
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-02 10:11:30 +02:00
Mateusz Jablonski 09c68a6bb1 Move query compute slices and query memory regions to DrmParam enum
Related-To: NEO-6852, NEO-6999, NEO-7028
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-01 19:38:34 +02:00
Mateusz Jablonski bb71f92ca9 Move common ioctl request values to common method
Related-To: NEO-7028
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-01 19:28:17 +02:00
Mateusz Jablonski c4bb209f91 Move query hwconfig table and engine info to DrmParam enum
Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-01 18:49:49 +02:00
Mateusz Jablonski 0420df780d Create enum wrapper for drm engine class values
Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-01 14:39:29 +02:00
Compute-Runtime-Validation ce7de9d66e Revert "Unify query ioctls"
This reverts commit 571199d048.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-05-31 20:40:00 +02:00
Naklicki, Mateusz 65ca31d817 Remove magic number from createGemExt method
Related-to: NEO-6730
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-05-31 17:10:50 +02:00
Bartosz Dunajski 571199d048 Unify query ioctls
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-05-31 15:28:23 +02:00
Naklicki, Mateusz 58ec879c46 Add support for gem create extension to create VM_PRIVATE BOs
Add support for PRELIM_I915_GEM_CREATE_EXT_VM_PRIVATE extension
to create VM_PRIVATE BOs.

Related-to: NEO-6730
Signed-off-by: Naklicki, Mateusz <mateusz.naklicki@intel.com>
2022-05-31 15:18:33 +02:00
Mateusz Jablonski b3814e41b4 Create enum for Ioctl request values
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-27 13:22:59 +02:00
Mateusz Jablonski c4095411c7 Remove HwHelper::isLinuxCompletionFenceSupported method
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-27 12:07:15 +02:00
Mateusz Jablonski 05cb48976f Create wrappers for drm getparam, query, gem close, prime handle, version
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-24 19:51:27 +02:00
Mateusz Jablonski 51d1752a68 Create a wrapper for drm_i915_gem_context_create_ext
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-24 15:21:58 +02:00
Mateusz Jablonski b0e75b18fd Create a wrapper for drm_i915_gem_context_create_ext_setparam
Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-23 16:42:54 +02:00