Commit Graph

21 Commits

Author SHA1 Message Date
Jitendra Sharma 8f5a0995e0 fix: Dont directly use gtId as TileId
gtId is not same as tileId. instead use gtIdToTileId
to retrieve tileId based on gtId.

Related-To: NEO-11104
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2025-01-20 10:23:53 +01:00
Mateusz Jablonski 53d255063c fix: create eudebug interface at initialize of ioctl helper
Related-To: NEO-13511
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-16 23:45:17 +01:00
Mateusz Jablonski 8f7bacdd95 feature: add eudebug interface class
eudebug interface is now hidden under EuDebugInterface class
shared code uses generic object and param values

layout of structs is guarded by static asserts

eudebug support is guarded by cmake flags:
- NEO_ENABLE_XE_EU_DEBUG_SUPPORT - enables eudebug in general
- NEO_USE_XE_EU_DEBUG_EXP_UPSTREAM - registers exp upstream uAPI support
- NEO_ENABLE_XE_PRELIM_DETECTION - registers prelim uAPI support

This way we can support two different xe-eudebug interfaces within
single binary.

In unit tests there is mock eudebug interface enabled (even if no
eudebug support is enabled by cmake flag).

Related-To: NEO-13472
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-12-13 17:07:12 +01:00
Jitendra Sharma 25f2504bf5 fix: set eudebug extension property when debugging enabled
In order to debug on XE, XE_EXEC_QUEUE_SET_PROPERTY_EUDEBUG
needs to be set up.

Related-To: NEO-12691
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-09-18 08:32:03 +02:00
Brandon Yates 4513e42ddb build: Update to latest eudebug xe uapi
Remove implementation of some unused and removed
uapis

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-22 10:01:44 +02:00
Brandon Yates 3c51cea04a test: Add test for xe debug user fence wait
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-17 07:40:35 +02:00
Maciej Bielski 005b273b1e test: stop abusing ctors in DrmMockCustom and derived types
Calling virtual functions from within constructors is incorrect, the
virtualization mechanism does not work until a constructor completes.
So, instead of performing many operations in constructors, make them
small and use static `create()` methods to construct the object properly
and only then perform additional setup.

Mocks are a prominent example how such practice degrades the code.
A function called from a constructor is basically unmockable. Despite
being overriden by derived type (to alter the execution path as per
needs of a given test-case) the parent versions are always called.

This was making test development more and more painful as at some point
there is no hack to compensate for the lack of standard mechanism.

Related-To: NEO-9754
Signed-off-by: Maciej Bielski <maciej.bielski@intel.com>
2024-07-10 08:34:09 +02:00
Brandon Yates a432bdecc1 refactor: Reorganize xe debugger includes
Related-to: NEO-11365

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-07-02 12:28:11 +02:00
Mateusz Jablonski ff4a919004 fix: correct gt id in context param engines in xe path
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-04-15 12:07:48 +02:00
Mateusz Jablonski 1e343053ba refactor: remove redundant recreating vector of engines in xe kmd path
make ContextParamEngine structure more generic and populate engines
by drm specific methods

Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-21 17:55:39 +01:00
Mateusz Jablonski 0270cd6a5b fix: respect gt id when getting engines for drm context under xe kmd
Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-15 16:02:47 +01:00
Mateusz Jablonski 833fa6bce1 fix: correct querying engines from xe kmd
we get drm_xe_query_engines, not array of drm_xe_engine_class_instance

Related-To: NEO-10496
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2024-03-14 12:06:25 +01:00
Dunajski, Bartosz 6cdd2d5dca fix: add missing gt_id when creating XE context
Related-To: GSD-8046

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2024-02-23 16:50:32 +01:00
Brandon Yates 0fa730e524 build: Update debugger uapi headers to latest
Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-22 16:07:06 +01:00
Jitendra Sharma ff604bda1b feature: Implement thread control for debugger in XE
Related-To: NEO-9668
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-02-12 19:46:28 +01:00
Brandon Yates 27c089d60d feature: Register ELF for xe debugger
Related-to:  NEO-9674

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-02-02 09:19:19 +01:00
Brandon Yates 76de854a69 feature: Set Debug Attach Available for Xe
Related-to: NEO-8402

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-24 09:04:11 +01:00
Jitendra Sharma aa191b6f88 feature: Set runalone mode for contexts with online debugging
Related-To: NEO-9139

Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2024-01-17 09:01:30 +01:00
Brandon Yates d3baab00db feature: Register resources for Xe at vm creation (1/x)
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.

Related-to: NEO-9161
Signed-off-by: Brandon Yatse <brandon.yates@intel.com>
2024-01-11 08:15:50 +01:00
Compute-Runtime-Validation 46d860b2bf Revert "feature: Register resources for Xe at vm creation (1/x)"
This reverts commit e1fefd1974.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2024-01-09 11:36:00 +01:00
Brandon Yates e1fefd1974 feature: Register resources for Xe at vm creation (1/x)
Add interfaces to IoctlHelperXe for registering resources.
Introduce new debug key EnableXeResourceRegistration to attach
resources to vm_create ioctl.

Related-to: NEO-9161

Signed-off-by: Brandon Yates <brandon.yates@intel.com>
2024-01-08 13:36:24 +01:00