Commit Graph

1034 Commits

Author SHA1 Message Date
Mateusz Jablonski
fca50ba710 refactor: remove not needed logic for syncobj in xe
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-14 10:27:28 +02:00
Kamil Kopryk
1ab0467301 fix: Add bind info for allocation from ipc handle in xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-09-13 12:34:10 +02:00
Cencelewska, Katarzyna
a6ea67bd09 fix: add empty functions to set and get gemTiling in xeIoctlHelper
it is needed until there is no support in xe kmd for image tiling

Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-12 16:11:37 +02:00
Cencelewska, Katarzyna
df961b3dc0 fix: update properly bindInfo in GemCreate on xe kmd
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-12 16:04:28 +02:00
Fabian Zwolinski
0dd40b8616 refactor: Split compiler interface between OSs
Create new file:
`os_handle.h` which contains OS specific Handle type.
Add `shared/source/os_interface/<windows/linux>`
include directory to level_zero.

Related-To: NEO-8092
Signed-off-by: Fabian Zwolinski <fabian.zwolinski@intel.com>
2023-09-12 15:56:53 +02:00
Mrozek, Michal
d9f938f3db refactor: remove not needed code
Signed-off-by: Mrozek, Michal <michal.mrozek@intel.com>
2023-09-12 14:25:04 +02:00
Yoon, Young Jin
c6aac6f2bc fix: remove unnessessary check chunking prefetch
Removed checking for EnableBOChunkingPrefetch in prefetchBOWithChunking
in DrmAllocation so that zeCommandListAppendMemoryPrefetch will work
as expected with chunking enabled

Related-To: NEO-8098
Signed-off-by: Yoon, Young Jin <young.jin.yoon@intel.com>
2023-09-08 18:55:38 +02:00
Cencelewska, Katarzyna
79ea10ec98 fix: when no memoryBanks set properly flags to gemCreate
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-08 15:54:54 +02:00
Mateusz Jablonski
46288b8efd fix: setup correct non-release key name in getStringWithFlags
unify function for getting env

Related-To: NEO-8347
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-08 15:39:36 +02:00
Kamil Kopryk
79e30f9ecd fix: Correct maxEuPerSubSlice calculation in drm
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-09-08 13:33:58 +02:00
Cencelewska, Katarzyna
98dae70415 fix: add helper to proper call GemCreate on xe kmd
Related-To: NEO-8325
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-09-08 12:27:11 +02:00
Mateusz Jablonski
3845eb3b90 fix: accept more than 16 root devices
Related-To: GSD-5892
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-09-06 10:13:25 +02:00
John Falkowski
15a5bd6d8e fix: Chunking check for KMD migration
Check for KMD migration to enable chunking

Related-To: NEO-8098

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-09-05 02:58:25 +02:00
John Falkowski
2166f7cbcc fix: Disable 1-tile chunking dev mem
Disable chunking for device memory allocation if only 1Tile

Related-To: NEO-8098

Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-31 21:34:51 +02:00
Slawomir Milczarek
5833d65bc0 feature: Add support for memadvise with system preferred location
Related-To: NEO-7851

Signed-off-by: Slawomir Milczarek <slawomir.milczarek@intel.com>
2023-08-31 13:09:55 +02:00
Kamil Kopryk
9e2ff7c5c3 fix: correct logging PrimeHandleToFd ioctl in xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-08-30 12:28:26 +02:00
Cencelewska, Katarzyna
bd8625c96a fix: wa override pat index for uncached types on xe_lpg
always force pat index 2(UC) when uncached type

Related-To: NEO-7565
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-08-30 08:37:31 +02:00
Mateusz Jablonski
db52486bbf refactor: move MTL specific definition of ProductHelper to Xe Lpg
Related-To: NEO-8187

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2023-08-24 10:50:26 +02:00
Filip Hazubski
fe601f527f fix: Provide DRM_XE_VM_CREATE_FAULT_MODE flag to GemVmCreate calls
DRM_XE_VM_CREATE_FAULT_MODE flag is to be used when
Drm::hasPageFaultSupport returns true.

Related-To: NEO-7996

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-08-24 08:25:58 +02:00
Compute-Runtime-Validation
e61c5af7ec Revert "feature(debugger): online page fault event handling"
This reverts commit 0c6444aab7.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-24 08:16:45 +02:00
Brandon Yates
0c6444aab7 feature(debugger): online page fault event handling
Related-to: LOCI-2052

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2023-08-23 18:29:58 +02:00
Bari, Pratik
f9e4381c1e feature: Add FsAccess and Derived class in Sysman Kmd Interface
- The FsAccess, ProcFsAccess and SysfsAccess classes have been added in
a file in the Sysman Shared directory. The instances of these classes
are maintained in the Sysman Kmd Interface classes.
- Added functions for opendir, readdir and closedir in the shared code.
- Added a ULT in the sysman directory to cover these new functions from
the shared code.

Related-To: LOCI-4689

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-08-23 11:38:57 +02:00
Kacper Kasper
991febcdf4 fix: extend cache hash with compiler commit sha, lib size and mtime
Related-To: NEO-4262

Signed-off-by: Kacper Kasper <kacper.k.kasper@intel.com>
2023-08-22 15:28:57 +02:00
Cencelewska, Katarzyna
dfa420d318 fix: remove wa for override patIndex on mtl
after forcing cacheable to 0 this wa should be not needed

Related-To: NEO-8120
Signed-off-by: Cencelewska, Katarzyna <katarzyna.cencelewska@intel.com>
2023-08-22 12:09:19 +02:00
Hazubski, Filip
94bfc3418b fix: Update value of XE_ONE_SEC variable
Update the value to correspond to used unit of time (ns).

Related-to: NEO-7996

Signed-off-by: Hazubski, Filip <filip.hazubski@intel.com>
2023-08-18 14:52:16 +02:00
John Falkowski
2403212dcd fix: chunking prefetch add USER_FENCE
Add USER_FENCE before PREFETCH call and after the BIND

Related-To: NEO-8098

Signed-off by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off-by: John Falkowski <john.falkowski@intel.com>
2023-08-17 21:32:47 +02:00
Kamil Kopryk
ffac216ab2 fix: use decanonize from gmm helper in xe
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-08-07 17:45:03 +02:00
John Falkowski
f652c7311d feature: Add prefetch for chunking with shared and device mem
Perform prefetching of chunks on shared and device allocations
after bind.

Related-To: NEO-8066

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
Signed-off by: John Falkowski <john.falkowski@intel.com>
2023-08-05 02:17:39 +02:00
Compute-Runtime-Validation
d93789dbab Revert "fix: use decanonize from gmm helper in xe"
This reverts commit e6b0930657.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-08-04 17:20:25 +02:00
Bari, Pratik
3f083360a2 feature(sysman): Added sysfs filenames for the memory module
- The sysfs filenames have been added in the sysfsNameToFileMap of the
SysmanKmdInterface classes.
- The functions returning the sysfs filenames have been removed from the
shared directory.
- The ULTs have been added to return the sysfs filenames.

Related-To: LOCI-4699

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-08-03 22:36:17 +02:00
Kamil Kopryk
e6b0930657 fix: use decanonize from gmm helper in xe
Related-To: NEO-7996

Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-08-03 15:18:48 +02:00
Filip Hazubski
7ea22d0369 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Note: introduced changes are disabled by defualt.
Toggle DisableGemCreateExtSetPat can be used to enable new functionality.

Related-To: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-31 09:00:04 +02:00
Dunajski, Bartosz
a241099dff feature: use WaitUserFence on zeEventHostSynchronize
Disabled by default. Debug flag is required.

Related-To: NEO-7966

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-26 19:41:09 +02:00
Mayank Raghuwanshi
ea7d9fe106 feature: Xe Porting for sysman engine module
Related-To: LOCI-4243

Signed-off-by: Mayank Raghuwanshi <mayank.raghuwanshi@intel.com>
2023-07-26 10:24:05 +02:00
Filip Hazubski
6217d97bbe Revert "fix: Increase size of reported global memory available to 98%"
Temporarily reverting back to previously reported value to avoid corner-case
regression. Intent is reintroduce as soon as regressions are rootcaused.

This only affects Linux.

Related-To: GSD-5474, GSD-5412

This reverts commit e8ac22c265.

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-07-26 07:52:40 +02:00
Dunajski, Bartosz
31d351cd53 refactor: unify and simplify Drm CSR methods
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2023-07-20 11:42:21 +02:00
Lukasz Jobczyk
f370b8f56a fix: Remove alignment condition for tlb flush
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-07-14 10:19:12 +02:00
Lu, Wenbin
4de792cee0 fix: support alignments in host and shared UnifiedMemoryAllocation
Related-To: LOCI-4334

Signed-off-by: Lu, Wenbin <wenbin.lu@intel.com>
2023-07-13 08:48:41 +02:00
Bari, Pratik
b9837ef068 feature(sysman): Added changes for Porting Frequency API
The new classes SysmanKmdInterface, SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe have been introduced.
A map is maintained in the SysmanKmdInterfaceI915 and
SysmanKmdInterfaceXe class for the sysfs file names.
The access specifier of the function getDrmVersion has been changed from
protected to public so as to use it in the sysman code. This is required
for the SysmanKmdInterface pointer to point to the
SysmanKmdInterfaceI915 and SysmanKmdInterfaceXe accordingly.
The ULTs have been added for the new sysfs file path corresponding to
the i915 and the Xe driver.

Related-To: LOCI-4399

Signed-off-by: Bari, Pratik <pratik.bari@intel.com>
2023-07-13 08:41:05 +02:00
Young Jin Yoon
40af0dddeb feature: disable chunking when debugger is used
Added if conditions to enable useChunking flag by checking
with ExecutionEnvironment::isDebuggingEnabled.

Related-To: NEO-8164
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-12 03:26:49 +02:00
Young Jin Yoon
81822e3716 refactor: rename pageSize2Mb to pageSize2M
The previous name "pageSize2Mb" defined in
shared/source/helpers/constant.h is inconsistent to other variable,
i.e. pageSize64k.

Furthermore, it's a bit misleading because the page size is defined in
Megabytes (MB), not in Megabits (Mb).

Related-to: NEO-7695
Signed-off-by: Young Jin Yoon <young.jin.yoon@intel.com>
2023-07-10 20:12:09 +02:00
Jaime Arteaga
23eeaf816d feature: Add debug keys for chunking allocation and size
Related-to: NEO-7695

New debug keys added:

EnableBOChunking is now a mask
0 = no chunking (default).
1 = shared allocations only
2 = device allocations only
3 = shared and device allocations

MinimalAllocationSizeForChunking sets the minimum allocation
size to apply chunking. Default is 2MB.

Signed-off-by: Jaime Arteaga <jaime.a.arteaga.molina@intel.com>
2023-07-07 23:39:43 +02:00
Mateusz Hoppe
6205cca038 fix(debugger): require immediate binding for Module's allocations
- all bos from Module must have requireImmediateBinding
flag set
- this change fixes hang in debugger - where MODULE LOAD event
was not sent

Resolves: NEO-8121

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2023-07-06 17:34:22 +02:00
Dominik Dabek
f1f0f2410c refactor: remove unused getBaseTimeout
Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-07-05 16:12:15 +02:00
Kamil Kopryk
3f27b5225c performance: Check if print xe logs is needed before locking
Related-To: NEO-7996
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2023-07-03 14:01:31 +02:00
Compute-Runtime-Validation
2d7505c01c Revert "feature: Add pat index programming to gem create ext call"
This reverts commit 6489379508.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2023-07-02 05:06:58 +02:00
Lukasz Jobczyk
c294ef48ce fix: Make tlb flush os agnostic
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2023-06-30 14:12:59 +02:00
Dominik Dabek
10ac167bdc fix(ocl): do not multiply kmdNotify waitTimeout
With direct submission disabled this resulted in waitTimeout long enough
that kmdWait fallback was rarely used.
This caused more CPU spin time.

Related-To: GSD-3612

Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
2023-06-29 16:06:28 +02:00
Filip Hazubski
6489379508 feature: Add pat index programming to gem create ext call
When upstream ioctl helper is created it will try to create small
allocation, adding I915_GEM_CREATE_EXT_SET_PAT extension. If it
succeeds, for all resources with valid pat index value it will then
explicitly program pat index value with gem create ext call.

PrintBOCreateDestroyResult value can be used to:
- print whether the set pat extension is supported by the kernel, when
  ioctl helper is created
- print whether set pat extension was added for a given gem create ext
  call and what pat index value was programmed

Resolves: NEO-7896

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2023-06-29 08:51:00 +02:00
Aravind Gopalakrishnan
ba4c4a5af0 feature(sysman): Retrieve uuid for Sysman device properties
- Abstracts product helpers logic for uuid
- Add UUID retrieval for Linux for Sysman via zesInit path

Related-To: LOCI-4137

Signed-off-by: Aravind Gopalakrishnan <aravind.gopalakrishnan@intel.com>
2023-06-26 19:17:21 +02:00