Commit Graph

188 Commits

Author SHA1 Message Date
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
Michal Mrozek 2fbc1f652b Choose alignment as next power of 2 for HEAP_EXTENDED allocations.
This way we will get as big pages as possible without leftovers.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-26 16:42:59 +02:00
Luzynski, Sebastian Jozef bac85ddb25 Move kernel globals from SVM to USM device
With this change, module's data sections will be allocated in USM device
pool instead of SVM or USM shared.

Signed-off-by: Luzynski, Sebastian Jozef <sebastian.jozef.luzynski@intel.com>
2022-09-23 23:06:15 +02:00
Michal Mrozek 3d5e34f727 Reduce the size of masks to 4.
32 is not required.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-09-19 21:53:40 +02:00
Compute-Runtime-Validation 45c8124d8f Revert "Move kernel globals from SVM to USM device"
This reverts commit 706a5a7a8c.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-09-18 12:49:44 +02:00
Sebastian Luzynski 706a5a7a8c Move kernel globals from SVM to USM device
With this change, module's data sections will be allocated in USM device pool
instead of SVM or USM shared.

Signed-off-by: Sebastian Luzynski <sebastian.jozef.luzynski@intel.com>
2022-09-15 16:50:12 +02:00
Mateusz Hoppe 75b117b82f L0Debug - fixes for ZE AFFINITY MASK
- pass correct deviceIndex when notifying cmdQs
- fix allocating debug surface - single tile allocation when single
bit set in storageInfo

Related-To: NEO-6980

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-08-31 11:43:19 +02:00
Dunajski, Bartosz 4809a2a9b3 Allow debug flag to apply allocation alignment for heaps
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-08-29 15:17:56 +02:00
Neil R Spruit ada9b5d4a9 Handle if L0 Event Memory is Shareable
- Properly check for IPC event handle flag to determine if the event
pool memory is sharable between processes.
- Given Host Visible Event Pool, a check is done to determine if the
Host memory can be shared between the processes.
- Enabled handling if Event Host Memory is shareable for DRM
- If Event Pool Memory is Not shareable, then retrieving the IPC Event
Pool Handle returns unsupported.

Signed-off-by: Neil R Spruit <neil.r.spruit@intel.com>
2022-08-05 00:11:05 +02:00
Milczarek, Slawomir 9f36b20423 Bind buffer object before calling vm prefetch
Related-To: NEO-6740

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-08-01 15:03:21 +02:00
Mateusz Jablonski db2d1a53b9 Cleanup includes in drm_memory_manager.h
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-26 20:53:21 +02:00
Mateusz Jablonski c94b6581c2 Make drm memory manager independent on drm headers
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-26 20:46:22 +02:00
Mateusz Jablonski b2489a4c28 Add enum value for i915 mmap offset wb and wc
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-26 18:28:08 +02:00
Mateusz Jablonski 3d1c990e37 Move set domain cpu logic to ioctl helper
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-25 16:16:34 +02:00
Mateusz Jablonski b49e2237c5 Pass drm to MemoryInfo ctor
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-25 15:44:10 +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
Compute-Runtime-Validation f53ae0a50e Revert "Add debug flag for EOT WA"
This reverts commit cf3817e058.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-07-09 01:21:56 +02:00
Mateusz Jablonski cf3817e058 Add debug flag for EOT WA
EOT WA requires allocating last 64KB of kernel heap and putting EOT
signature at the last 16 bytes of kernel heap

Related-To: NEO-7099
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-07 16:58:24 +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
Milczarek, Slawomir 30071599df Create buffer object with multiple lmem regions for kmd-migrated buffers
This commit enables cross-tile kmd migration for buffers in local memory

Related-To: NEO-6977

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2022-06-29 13:47:58 +02:00
Mateusz Jablonski b72fcad1be Drm: call ioctl using ioctl helper if possible
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-29 11:29:40 +02:00
Mateusz Jablonski 8924024a27 refactor: use Drm::queryGttSize in DrmMemoryManager
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-28 17:08:45 +02:00
Mateusz Jablonski 70cef0cfe8 Create enum values for I915 tiling mode
Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-21 23:33:50 +02:00
Mateusz Jablonski e67307b724 Add DrmParam enum values for I915_EXEC values
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-15 08:39:39 +02:00
Krzysztof Gibala c229ace4df Adjust GmmHelper to be HW aware
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-13 18:33:06 +02:00
Bartosz Dunajski 39c1c4d530 Remove virtual padding support
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-08 12:42:44 +02:00
Bartosz Dunajski 00641c9496 Disable virtual padding on linux
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-07 16:12:20 +02:00
Bartosz Dunajski 9e1c9ec95e Use MMAP_OFFSET ioctl to lock BufferObject
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-07 11:12:31 +02:00
Krzysztof Gibala 77dde01503 Pass canonized gpuAddress in setCpuPtrAndGpuAddress
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-07 10:05:18 +02:00
Krzysztof Gibala 81899c4477 Add canonized gpuAddress to GraphicsAllocation constructor
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-06 18:17:36 +02:00
Bartosz Dunajski 1a7c11e4f1 Dont pass redundant flags param to allocUserPtr
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-06 17:53:04 +02:00
Krzysztof Gibala dc1fe7d59a Change MemoryPool to enum class
Use enum class for MemoryPool in GraphicsAllocation
This change will ensure that GA is constructed in the proper way

- Rename namespace for isSystemMemoryPool method
- Add method getMemoryPoolString for logging actual pool which is in used
- Remove wrong pattern in GraphicsAllocation constructor

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-06-02 12:46:15 +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
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
Krzysztof Gibala ae56d50b4f Pass canonized gpuAddress to GraphicsAllocation
Related-To: NEO-6523

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-30 16:54:38 +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 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 2202d05ea1 Create a wrapper for drm_i915_gem_context_param
Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-20 16:11:51 +02:00
Mateusz Jablonski d5771d2e93 Create a wrapper for drm_i915_gem_set_domain
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-20 15:19:40 +02:00
Mateusz Jablonski 2f63131f0d Create wrappers for drm_i915_gem_mmap and drm_i915_gem_mmap_offset
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-19 18:51:09 +02:00
Mateusz Jablonski ac3005a463 Create a wrapper for drm_i915_query_item
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-18 11:32:44 +02:00
Mateusz Jablonski 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
Mateusz Jablonski 2cca28af07 Create wrappers for drm_i915_gem_get_tiling and drm_i915_gem_set_tiling
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-17 11:08:08 +02:00
Mateusz Jablonski 06517f429f Create wrappers for drm_i915_gem_create and drm_i915_gem_userptr
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-16 17:03:29 +02:00
Artur Harasimiuk 819e0f5515 style: configure readability-identifier-naming.LocalVariableCase
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-05-16 12:39:44 +02:00
Krzysztof Gibala 143694aa0a Adjust gmmHelper canonize method accessing point in Drm
Accessing canonize method as a member of GmmHelper class object

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-11 17:35:08 +02:00
Krzysztof Gibala 2fcda0a528 Refactor: Change decanonize method accessing point
Accessing decanonize method as a member of GmmHelper class object

Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-11 12:57:02 +02:00
Krzysztof Gibala 4f1e01d279 Create getGmmHelper function in MemoryManager
Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 16:51:23 +02:00
Krzysztof Gibala 1c366d1ec0 Refactor: Change canonize method accessing point
Accessing canonize method as a member of GmmHelper class object

Related-To: NEO-6523
Signed-off-by: Krzysztof Gibala <krzysztof.gibala@intel.com>
2022-05-09 14:16:31 +02:00
Jaime Arteaga 3f26f45c10 Add support for IPC handles with implicit scaling
When using implicit scaling, device allocations may have
more than one internal allocation created internally. In that case,
a separate dma-buf handle per internal allocation needs to be
exported.

So introduced two driver experimental extensions to export and
import more than one IPC handle:

- zexMemGetIpcHandles
- zexMemOpenIpcHandles

Related-To: LOCI-2919

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2022-05-09 00:38:17 +02:00