Commit Graph

137 Commits

Author SHA1 Message Date
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 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
Milczarek, Slawomir 21f6e7e17c Remove mock function to check for page fault support
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-12-14 12:50:12 +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
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
Joshua Santosh Ranjan 152ee4a627 Sysman Fix Multithread Access for zesMemoryGetState
Signed-off-by: Joshua Santosh Ranjan <joshua.santosh.ranjan@intel.com>

Related-To: LOCI-2727
2021-11-27 02:35:46 +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 b8aa2871bd Add mock function to check for page fault support
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-18 17:46:41 +01:00
Milczarek, Slawomir bc4c64b095 Add unit test for query page fault support
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-15 10:33:51 +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
Milczarek, Slawomir ca4af1dde1 Add helpers for page fault support
Signed-off-by: Milczarek, Slawomir <slawomir.milczarek@intel.com>
2021-11-03 13:39:38 +01: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
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
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 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
Bartosz Dunajski c7a936d1f4 Add memory banks to Simulated CSR
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-07-05 12:19:58 +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 991fd3b358 Add flags parameter to user fence wait function
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-22 15:43:02 +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
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
Jaroslaw Chodor 3b4ec5b3fa Refactor of global factories
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-28 19:09:24 +02:00
Jaroslaw Chodor a2da0d5e70 Refactor/cleanup around wddm
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-26 16:26:28 +02:00
Jaroslaw Chodor 67aa1ad7ec Refactoring HwDeviceId
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-24 21:38:20 +02:00
Jaroslaw Chodor 0e9aa45e46 Improving OS abstraction
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-05-23 21:40:37 +02:00
Suldin, Egor 2b3b47b495 Add cl_khr_pci_bus_info extension
Signed-off-by: Egor Suldin <egor.suldin@intel.com>

https://github.com/intel/compute-runtime/pull/374
2021-05-20 14:51:33 +02:00
lgotszal 3bd4bca911 Copyright header update
Dates corrected in copyright headers to reflect original publication date
(2018 for OpenCL, 2020 for Level Zero).

Signed-off-by: lgotszal <lukasz.gotszald@intel.com>
2021-05-17 20:38:19 +02:00
Mayank Raghuwanshi 1c3107fc7e Update sysman engine and scheduler as per lastest spec
Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2021-05-12 14:51:21 +02:00
Bartosz Dunajski 085a2af2d6 Add EngineInstanced param to OsContext
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-05-12 10:57:12 +02:00
Lukasz Jobczyk 4440c55725 Add ioctl to string decoder
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-05-11 15:44:25 +02:00
Mateusz Hoppe cc914ffde3 Save topology - slice mapping
Related-To: NEO-5640

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-05-11 14:19:06 +02:00
Lukasz Jobczyk fa69b7539d Create special drm context when new residency model available
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-05-11 12:39:49 +02:00
Mateusz Hoppe 2d07d6a3d7 Refactor Drm::queryTopology() to take struct
- set max values in SystemInfo based on topology

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-28 12:19:34 +02:00
Compute-Runtime-Validation 6bb76c82e3 Revert "Refactor Drm::queryTopology() to take struct"
This reverts commit f83b51e628.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-04-26 00:56:06 +02:00
Mateusz Jablonski 1823054e08 Linux: pass adapter BDF to GmmLib
Resolves: NEO-5785
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-04-23 18:45:50 +02:00
Mateusz Hoppe f83b51e628 Refactor Drm::queryTopology() to take struct
Related-To: NEO-5640

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-04-23 13:34:44 +02:00
Lukasz Jobczyk 1b513b5ddb Add utility to print ioctl times
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-04-22 10:54:33 +02:00
Lukasz Jobczyk 83a1a52bdc Flush tlb only when new resource is bound
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-04-15 12:11:13 +02:00
Bartosz Dunajski d182d77a41 Remove unused methods
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-04-09 13:39:02 +02:00
Mateusz Hoppe 8f87dfaf0c Add Debug API handlers
Related-To: NEO-4554


Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-03-01 15:26:43 +01:00
Lukasz Jobczyk 7c99739b89 Check if direct submission enable in OsContext
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-02-11 09:05:50 +01:00
Lukasz Jobczyk 083f8ae02c Add immediate extension to new residency model
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-02-08 14:53:11 +01:00
Slawomir Milczarek d399613f25 Add support for L3 cache information
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2021-02-05 10:28:02 +01:00
Mateusz Hoppe 3ab932b101 Add initial support for context debug
Related-To: NEO-5478

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-01-27 12:50:26 +01:00
Bartosz Dunajski eb1ea19360 Update topology query
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-01-27 11:40:37 +01:00
Bartosz Dunajski 4ffcf88a92 Move query topology translation logic to new method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-01-26 14:48:07 +01:00
Matias Cabral 7ac97fd929 Use independent Elf UUID generation
Signed-off-by: Matias Cabral <matias.a.cabral@intel.com>
2020-12-24 01:56:51 +01:00
Jitendra Sharma 7c70a14bc4 Implement ZE_ENABLE_PCI_ID_DEVICE_ORDER environment variable
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-12-23 12:08:43 +01:00
macabral 720ba46548 Register kernel Elf for debugging purpose
Signed-off-by: macabral <matias.a.cabral@intel.com>
2020-12-01 17:16:14 +01:00
Slawomir Milczarek e6a18aac73 Add query system info implementation stub on Linux
Related-To: NEO-4998

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-11-26 16:31:00 +01:00
Mateusz Hoppe 8aacad1854 Create DebuggerL0 only when debugging is supported
Related-To: NEO-5239

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-23 18:28:45 +01:00
Adam Cetnerowski 154f7e87be Framework for adding custom device names
- Add new macro to define custom name
- Add handling for custom name
- Remove gen from generic name

Resolves: NEO-5251

Signed-off-by: Adam Cetnerowski <adam.cetnerowski@intel.com>
2020-11-23 12:24:53 +01:00
Mateusz Hoppe 7330f989ef Refactor bindAvailable
Related-To: NEO-5316

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-11-20 13:35:28 +01:00
Bartosz Dunajski e08bd20289 Add queryItem flags to drm query ioctl
Signed-off-by: Bartosz Dunajski bartosz.dunajski@intel.com
2020-11-19 18:26:12 +01:00
Mateusz Hoppe f3ab44da5a Remove classNames
Related-To: NEO-4964

Change-Id: Ib55626e811046eb66db0d9fe90697f9db7353afe
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-27 17:53:30 +01:00
Mateusz Hoppe d380f6898c Add isa cookie registration
Related-To: NEO-4552

Change-Id: I0a53deb92d19a2b6f2ce9385c17d82998d2a26d6
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-10-27 13:51:21 +01:00
Lukasz Jobczyk 76501a2921 Adjust early BO pin to new residency model
Resolves: NEO-5112

Change-Id: Ia65b1d75f957669999f7de423716a1e3cffc4032
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-30 12:24:47 +02:00
Lukasz Jobczyk 9790c2991d Use new residency model by default
Related-To: NEO-5007

Change-Id: Id39ac53e00e126237200d80e493706e2eed53b30
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-09-21 08:09:11 +02:00
Mateusz Hoppe d363448515 Interfaces to register resources
Change-Id: Ic587aaa5a41e4e7648211cfa730a0aa5bbc2985a
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-17 12:39:16 +02:00
Mateusz Hoppe 0e7ec82577 UUIDs generation
Related-To: NEO-4964

Change-Id: I0ef5912fb744788f713803f539551c7b0b134208
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-09-10 13:57:05 +02:00
Lukasz Jobczyk 847b8506c3 Return status from Drm::queryVmId
Change-Id: Iec886c91de2920904bc3bec8e8811afd355b8738
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-31 07:11:28 +02:00
SaiKishore Konda 8f52561307 Multiple engine support for Sysman Engine API
- multiple engines support for Sysman Engine API
- added engineQuery support
- opencl ULTs to validate engineQuery
- Sysman ULTs to validate engine APIs

Change-Id: I3b4d3a96a4cdca7dd9957f6a57f7b1bf900582d3
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
Signed-off-by: SaiKishore Konda <saikishore.konda@intel.com>
2020-08-28 13:36:31 +02:00
Mateusz Hoppe 348ddf810a Query VM ID at context create time
Related-To: NEO-4957

Change-Id: I765c461e1090446e54873c33de001255b7c114a7
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-19 12:47:27 +02:00
Mateusz Hoppe cdc7649e77 Pass OsContext to memory management methods
Operate on OsContext when per context VMs are used

Related-To: NEO-4957

Change-Id: Ia6bef88a80163d4ceee9f9bf59bda6b569d8929f
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-08-13 19:48:54 +02:00
Lukasz Jobczyk 49cd8e4e1b Bind bos to proper VM
Change-Id: I536ff342875bba39cf9a9922fcf647af408ae398
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-28 13:21:15 +02:00
Kamil Kopryk 9b2e5274d2 Add helper isBankOverrideRequired
Change-Id: I13b7a77ff029f47091a27704a61704ca8cc46ef2
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
Related-To: NEO-4882
2020-07-22 09:24:56 +02:00
Mateusz Hoppe 7aea294c85 Allow perContext VMs
Related-To: NEO-4637

Change-Id: I599aba9c1c06fd9414cfa14ebb2de3fc504d1cad
Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2020-07-16 11:20:51 +02:00
Slawomir Milczarek 3c4c7a0215 Drm create context with an implicit virtual memory address space
Related-To: NEO-4821

Change-Id: I18545d976788daacbb195e243f4049b7f83fd3a2
2020-07-14 14:26:49 +02:00
Lukasz Jobczyk ff0add74e3 Add alternative residency model on Linux
Related-To: NEO-4732

Change-Id: I79e165d2b647af200ca314e1183ecf05903de644
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-10 12:38:57 +02:00
Slawomir Milczarek 519e75e3d6 Add DRM capability to create a virtual memory address space on Linux
Related-To: NEO-4821

Change-Id: Iefc17d6c0a3649791b9a9b15791a6d263399873d
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-07-10 12:16:09 +02:00
Jitendra Sharma 251994149a Expose DRM interface to sysman APIs
Change-Id: Iab4d42cf90c9804c2b036045f3990aedd31efa91
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-06-24 16:40:49 +02:00
Bartosz Dunajski 5af401b7bb Discover GPU topology from i915
Resolves: NEO-4718

Change-Id: I0547c109b961c3732e64b6f22ec761a5943c65ef
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-06-15 10:32:29 +02:00
Slawomir Milczarek c60b86405c Extend DRM query with length parameter
Related-To: NEO-4707

Change-Id: Ia18df6b73524939926d5aabb4e82b2596ef0508a
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-06-07 17:03:04 +02:00
Slawomir Milczarek 52deab65e0 Moved unit test for getMaxGpuFrequency on Linux to shared code
Related-To: NEO-4544

Change-Id: I5319e9485bbaa973f73bc11dd07effa184f27e64
Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2020-04-14 12:41:54 +02:00
Jablonski, Mateusz 719b22ee11 Read max frequency using pci path
Related-To: NEO-4359
Change-Id: I2dc106cc2d7bc9087fb3925051969fa2a245e6f5
Signed-off-by: Jablonski, Mateusz <mateusz.jablonski@intel.com>
2020-04-09 18:31:13 +02:00
Bartosz Dunajski 3ce4aed78d Use unique_ptr for drm query
Change-Id: I7dc67ff33abc56b4525a90cfc41013fd530b3fa2
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2020-03-27 19:34:24 +01:00
Mateusz Jablonski 7df9945ebe Add absolute include paths
Change-Id: I67a6919bbbff1d30c7d6cdb257b41c87bad51e7f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-02-23 23:49:12 +01:00
kamdiedrich e072275ae6 Reorganization directory structure [3/n]
Change-Id: If3dfa3f6007f8810a6a1ae1a4f0c7da38544648d
2020-02-23 23:48:28 +01:00