Current mutex is not preventing destroying resources
when trim callback is currently evicting same allocation.
New mutex does.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Related-To: NEO-11755
Removing trim candidate list reduces overhead
caused by residency handling. Allocations required
for eviction are placed in eviction container managed
by CSR.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Request higher resolution for windows periodic timers for ulls
controller sleep.
Allows for controller thread to sleep with granularity of 1ms.
Related-To: NEO-10800
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Future HW will not support cache reservation uniquely for the whole
platform. Implementation of some functions may vary between products.
Related-To: NEO-10158
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Implemented the product helper specializations for querying device
support for 2D block load/store operations.
The desired support matrix is both load and store is supported for PVC
and up, and unsupported forall else.
The interface for querying 2d block load/storecapabilities was
implemented in a previous PR.
Related-To: NEO-11592
Signed-off-by: Jack Myers <jack.myers@intel.com>
Make use of `drm_xe_gt` members to determine HW IP version when running
with XeKMD. Fall back to current values when the respective ioctl call
does not provide relevant information.
Related-To: NEO-10773
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Related-To: NEO-12197
Currently for new resources user thread must wait before submitting
actual workload. With this commit, instead of waiting on user thread,
request is sent to background ULLS controller thread and additional
semaphore is programmed. ULLS controller will perform actual wait
and signal semaphore when paging fence reaches required value.
Signed-off-by: Szymon Morek <szymon.morek@intel.com>
Make sure local mem alloc size atomic array is initialized with 0.
Add debug breaks to catch possible overflow on unregistering
allocations.
Related-To: NEO-11356
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
Track memory used by memory allocations. System and local per device.
Will be used for heuristics in memory pooling.
Related-To: NEO-11356
Signed-off-by: Dominik Dabek <dominik.dabek@intel.com>
computeMaxNeededSubSliceSpace is no longer needed as getHighestEnabledSubSlice
already determines maximum index from all enabled subslices
Related-To: NEO-12073
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
avoid redefinition issue in case of integrating multiple xe drm versions
define mock drm xe in inl file to provide xe definitions for mock members
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
The dependency towards `Drm` is unnecessary and only makes testing more
difficult. Instead, dependency towards `IoctlHelper` alone only is
sufficient.
Related-To: NEO-10158
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
Implemented device property query API for determining
support capabilities regarding 2d-block-load-tranpose
features for which not all Intel devices support.
Related-To: NEO-11592
Signed-off-by: Jack Myers <jack.myers@intel.com>