Commit Graph

46 Commits

Author SHA1 Message Date
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
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
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
Dunajski, Bartosz a9ba581d97 Always use unrecoverable drm context
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-31 10:08:57 +01:00
Compute-Runtime-Validation 040d6693cd Revert "Always use unrecoverable drm context"
This reverts commit 343371faad.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2022-10-29 19:28:04 +02:00
Dunajski, Bartosz 343371faad Always use unrecoverable drm context
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-10-28 16:13:15 +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
Mateusz Jablonski 9bde277184 Read frequency from file system based on drm version
Related-To: NEO-7300
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-09-21 13:28:18 +02:00
Mateusz Jablonski 762aebaea3 Make drm_neo.cpp independent on i915 headers
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-08-08 22:13:22 +02:00
Mateusz Jablonski 416ca5938e Create enum values for i915 context param values
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-27 09:53:02 +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 17d2d6087a Add enum value for drm query topology info
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-07-26 15:37:13 +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 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 fffd56d7a6 refactor: bind drm context within IoctlHelper::createDrmContext method
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-29 10:47:52 +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 64029eee20 Add enum values for memory classes
Related-To: NEO-6852, NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-21 17:05:13 +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
Bartosz Dunajski d3da44c9aa GEM_MMAP removal
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-10 11:57:47 +02:00
Mateusz Jablonski 9bcab12496 Use ioctl helper when getting DrmParam/Ioctl value whenever possible
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-06-08 16:37:05 +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 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 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
Bartosz Dunajski 571199d048 Unify query ioctls
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-05-31 15:28:23 +02:00
Mateusz Jablonski 9fa1c9d4cc Extract create drm context logic to ioctl helper
Related-To: NEO-6999
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-31 11:59:41 +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
Daniel Chabrowski 7463e1970b Cleanup headers
Make TUs and headers self-contained, remove unused headers

Signed-off-by: Daniel Chabrowski <daniel.chabrowski@intel.com>
2022-05-18 11:42:06 +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 9e7b2a77ea Ensure that bitwise operation uses same size operands
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-17 17:15:41 +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
Mateusz Jablonski 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
Mateusz Jablonski 40e00e5c08 Create a wrapper struct for drm_i915_reg_read
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-12 14:59:18 +02:00
Mateusz Jablonski 268393d776 Create wrapper for drm_i915_gem_exec_object2
Related-To: NEO-6852
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-05-12 13:14:27 +02:00
Mateusz Jablonski 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
Mateusz Jablonski 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
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