Commit Graph

44 Commits

Author SHA1 Message Date
Mateusz Jablonski
f357ada604 refactor: move product specific ioctl helper creation out of i915 specific code
Related-To: NEO-13527
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-18 11:36:07 +01: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
Mateusz Jablonski
bcaa62bed3 build: refactor linux kernel headers
Add cmake flags to provide path to headers to drm / i915 /i915 prelim / xe

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-28 14:48:09 +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
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
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
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
Compute-Runtime-Validation
d5f90ae155 Revert "fix: query drm info to 8 byte aligned storage"
This reverts commit 9b344280d6.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-05 06:07:27 +02:00
Mateusz Jablonski
9b344280d6 fix: query drm info to 8 byte aligned storage
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 18:43:53 +02:00
Compute-Runtime-Validation
8fa0b90f35 Revert "fix: query drm info to 8 byte aligned storage"
This reverts commit d0e615820c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-10-03 15:41:11 +02:00
Mateusz Jablonski
d0e615820c fix: query drm info to 8 byte aligned storage
Related-To: NEO-9038
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-10-03 11:13:38 +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
Jaime Arteaga
2efd6e547a feature: Add support for chunking in the UMD (1/N)
Read if support for chunking is available in the KMD.
If available, KMD will create a BO with 1 or more chunks,
depending on the chunk size selected.

Related-To: NEO-7695

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

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-06-02 23:27:40 +02: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
Mateusz Jablonski
43b790957d style: format code using clang-format 15.0.6
Related-To: NEO-7500
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-01-05 10:33:47 +01: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
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
dbdae541c1 Simplify translation DG1 specific region info into internal struct
Don't translate to upstream version

Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-15 16:49:27 +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
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
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
Milczarek, Slawomir
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
Szymon Morek
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
Szymon Morek
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
Szymon Morek
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
Szymon Morek
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
Szymon Morek
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
Szymon Morek
ce5f9c2214 Rename LocalMemoryHelper to IoctlHelper
Related-To: NEO-6472

This helper class is not used only for local memory.
IoctlHelper is more appropriate.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-12-01 14:34:21 +01:00
Szymon Morek
3cf2e2e395 Use drm tip kernel headers as default 2/2
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-11-15 17:16:54 +01:00
Szymon Morek
8fdfc3b053 Use drm tip kernel headers as default 1/2
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-11-04 15:27:02 +01:00
Szymon Morek
1a25cf0fe8 Enable xe_hp_sdv i915 config
Related-To: NEO-6149

Source location of Linux kernel DRM/i915 interface headers:
9641c49adb


Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-10-15 13:20:16 +02:00
Szymon Morek
c595cccf5d Revert "Enable xe_hp_sdv i915 config"
This reverts commit 2809462660ed3f0dec01ce148c307e6d347e17bf.


Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-10-13 08:46:45 +02:00
Szymon Morek
d1e38d2370 Enable xe_hp_sdv i915 config
Related-To: NEO-6149

Source location of Linux kernel DRM/i915 interface headers:
9641c49adb


Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-10-12 14:24:21 +02:00