Commit Graph

121 Commits

Author SHA1 Message Date
Daniel Chabrowski
85de06649d Support for execbuffer user fence ext
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-16 10:55:07 +01:00
Mateusz Jablonski
4a24195e99 Move bind/unbind buffer objects methods to drm_neo.cpp
use ioctl helper to handle binding properly

Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-16 08:37:16 +01:00
Mateusz Jablonski
143f67f2fe Enable vm bind availability based on ioctl helper support
Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 15:27:52 +01:00
Mateusz Jablonski
cf27583264 Move createDrmContextExt to drm_neo.cpp
add ioctl helper functions to create dedicated drm contexts

createContextWithAccessCounters
createCooperativeContext

Related-To: NEO-6591

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-15 09:16:36 +01:00
Mateusz Hoppe
33f02ee2eb Print debug message when GPU hang is detected
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-14 20:48:14 +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
Mateusz Jablonski
3467bc0994 Extend waitForBind function
use waitUserFence to wait for fence value
move some tests to shared
- ioctl helper tests
- drm memory info tests
- drm cache info

Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-11 18:52:59 +01:00
Mateusz Jablonski
2e32bcb2e1 Extend bindDrmContext function
move implementation to drm_neo.cpp
respect multiple CCS and BCS engines

Related-To: NEO-6591
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-11 14:50:48 +01:00
Daniel Chabrowski
23999110ed Add prelim DRM page fault allocation check support
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-10 18:57:52 +01:00
Patryk Wrobel
18cafd3a52 Implement GPU hang detection on Windows
This change uses value of cpuAddress from monitored fence
to detect GPU hang.

Related-To: NEO-5313
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-09 17:22:52 +01:00
Daniel Chabrowski
85eb6d7403 [CP-1] Extend CLOS cache mechanism for DRM allocation
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-09 16:51:48 +01:00
Daniel Chabrowski
f2c4231a27 Extend DRM mock and queryTopology tests - part 1
Signed-off-by: Daniel Chabrowski daniel.chabrowski@intel.com
Related-To: NEO-6591
2022-02-04 12:02:49 +01:00
Mateusz Jablonski
1671e0a1a7 Add new debug flags for filtering devices to open
FilterBdfPath is used only on Linux as a filter for BDF
when opening from /dev/dri/by-path

FilterDeviceId is used on both OSes as a filter for device id

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-02-03 14:34:01 +01:00
Mateusz Hoppe
4d8d2412f9 Add subslice ID remapping for single slice configs
Related-To: NEO-6565

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2022-02-01 16:38:57 +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
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