Commit Graph

107 Commits

Author SHA1 Message Date
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
Patryk Wrobel
498cf5e871 Implement GPU hang detection
This change uses DRM_IOCTL_I915_GET_RESET_STATS to detect
GPU hangs. When such situation is encountered, then
zeCommandQueueSynchronize returns ZE_RESULT_ERROR_DEVICE_LOST.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-01-31 13:48:17 +01:00
Filip Hazubski
2dc54f6fd9 Update isLinuxCompletionFenceSupported value for XE HPG CORE
Related-To: NEO-6575

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-01-24 14:58:17 +01:00
Zbigniew Zdanowicz
a7455b5767 Add tweaks and control flags to linux completion fence
Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-21 13:41:23 +01:00
Ayush Pandey
715b9d31d2 Find sscanf alternative.
Used strtol() to write sscanfUtil to extraxt info of BDF pcipath.

Related-To: LOCI-1002

Signed-off-by: Ayush Pandey <ayush.pandey@intel.com>
2022-01-21 09:02:48 +01:00
Zbigniew Zdanowicz
d44f3009b8 Add interface for user fence extension
Related-To: NEO-6575

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-19 19:58:22 +01:00
Szymon Morek
4fc365acca Create EngineInfo without MemoryInfo
Allow to create EngineInfo even if memoryInfo is
nullptr.

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2022-01-13 10:03:34 +01:00
Szymon Morek
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
Jaime Arteaga
38ad58bce3 Dont print error on IOCTL entry after success
This to reduce verbosity and avoid confusions when reading logs.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-12-31 09:49:08 +01:00
Szymon Morek
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
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
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
Szymon Morek
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
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
Igor Venevtsev
4d433d8674 Stop using CONTEXT_SET_PARAM to set context VM
Use DRM_IOCTL_I915_GEM_CONTEXT_CREATE_EXT extension mechanism instead

Resolves: NEO-5881

Signed-off-by: Igor Venevtsev <igor.venevtsev@intel.com>
2021-12-02 17:39:20 +01:00
Filip Hazubski
fe08216102 Refactor: Update Drm::createDrmContext
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-01 17:04:09 +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
23f7a908d7 Add query system info on linux
Source location of DRM_I915_QUERY_HWCONFIG_TABLE
and modified intel_hwconfig_types.h:
https://gitlab.freedesktop.org/gfx-ci/igt-ci-tags/-/tree/intel/IGTPW_6061/

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-11-24 17:38:15 +01:00
Milczarek, Slawomir
31b339b873 Use VM Bind immediate when page faults supported
Related-To: NEO-6355

Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-22 18:11:18 +01:00
Milczarek, Slawomir
4bd31de0f4 Moved query function to another cpp module
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-15 12:43:24 +01:00
Milczarek, Slawomir
8cf3e8ca94 Improve control of explicit residency flag
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-09 10:54:00 +01:00
Jitendra Sharma
1186c1aae3 zesSysmanDeviceReset: Reinitialize device after device reset
Before performing gpu device reset, first all level zero resources
and gpu device specific resources have to be cleaned up. Also as
after device reset, state of gpu device would be lost.
Hence after performing gpu device reset, level zero device have
to be reinitialized by querying gpu device again.
This change is aimed at reinitializing the level zero resources
after gpu device reset, so that user could continue using level zero
devices after device reset.

Related-To: LOCI-2627

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2021-11-07 23:43:48 +01:00
Artur Harasimiuk
6769df2f5d refactor regex when scanning pci paths
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-27 10:33:58 +02:00
Artur Harasimiuk
83b099a48c improve pci path search to use regex to make it more flexible
Related-To: NEO-6364
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-26 07:49:22 +02:00
Compute-Runtime-Validation
ee942190ab Revert "improve pci path search to use regex to make it more flexible"
This reverts commit dbffbbd193.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-10-25 22:15:31 +02:00
Artur Harasimiuk
dbffbbd193 improve pci path search to use regex to make it more flexible
Related-To: NEO-6364
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2021-10-25 15:20:04 +02:00
Filip Hazubski
28b37aea72 Correct handling unique_ptr in functions
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-10-21 18:17:14 +02:00
Milczarek, Slawomir
a5e686cf3a Add helper function to create drm extended context
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-10-19 18:16:38 +02:00
Jaime Arteaga
9d49c56b75 Include domain when ordering with ZE_ENABLE_PCI_ID_DEVICE_ORDER
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-10-06 21:34:36 +02:00
Jaime Arteaga
715c2b6af0 Add missing ioctls to getIoctlString() parser
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-09-11 21:35:21 +02:00
Mateusz Hoppe
cf8e3269c7 Set context unrecoverable when debugging enabled
Related-To: NEO-6204

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-10 13:29:11 +02:00
Szymon Morek
d47751d3a7 Add getting gpu frequency for multitile devices
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-09-07 17:27:00 +02:00
Szymon Morek
1db3f750ce Move duplicated drm functions to common file
Related-To: NEO-6149

Signed-off-by: Szymon Morek <szymon.morek@intel.com>
2021-09-06 10:39:22 +02:00
Compute-Runtime-Validation
86f8150dc7 Revert "Stop using CONTEXT_SET_PARAM"
This reverts commit e9f56e7d96.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-09-03 18:12:38 +02:00
Piotr Obst
e9f56e7d96 Stop using CONTEXT_SET_PARAM
Related-To: NEO-5881


Signed-off-by: Piotr Obst <piotr.obst@intel.com>
2021-09-03 15:27:20 +02:00
Lukasz Jobczyk
a3d970ee24 Track new resource bound per VM
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-09-02 12:32:50 +02:00
Zbigniew Zdanowicz
6d510240e6 Improve ioctl statistics
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-08-19 17:50:53 +02:00
Lukasz Jobczyk
2cc11f2199 Ensure GEM_WAIT is not called while bind is available
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-17 19:37:49 +02:00
Lukasz Jobczyk
81609c7695 Use bind fence atomically
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-09 16:19:46 +02:00
Mateusz Hoppe
bbb27cdb8a L0 Device slice id mapping
Related-To: NEO-5640


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-07-07 15:00:44 +02:00
Katarzyna Cencelewska
2ce3a223f0 Change use of querySystemInfo
Signed-off-by: Katarzyna Cencelewska <katarzyna.cencelewska@intel.com>
2021-07-05 11:56:45 +02:00
Zbigniew Zdanowicz
8156d5c16e Reorganize new ioctl and ioctl param logging code
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-29 15:10:12 +02:00
Zbigniew Zdanowicz
94154145c0 Improve drm ioctl debug prints
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-25 14:18:54 +02:00
Zbigniew Zdanowicz
ad18099ed8 Enable KMD fallback for User Fence wait call
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-17 12:12:43 +02:00
Jaime Arteaga
2dbecfc354 Display error when printing ioctl entries
Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2021-06-16 10:12:19 +02:00
Zbigniew Zdanowicz
d14c7e4ffb Add new DRM wait function
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-08 12:29:22 +02:00
Zbigniew Zdanowicz
2829226937 Improve query PCI info
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-01 19:26:22 +02:00
Filip Hazubski
b3283a4490 When initializing gtSystemInfo initialize DualSubSliceCount
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-06-01 14:52:19 +02:00
Jaroslaw Chodor
3b4ec5b3fa Refactor of global factories
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-28 19:09:24 +02:00
Mateusz Hoppe
7b2c09eec9 Use compile guard when setting gmm arg FileDescriptor
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-05-26 14:15:52 +02:00