Commit Graph

189 Commits

Author SHA1 Message Date
Filip Hazubski 80b520bc9b Change ThreadArbitrationPolicy enum type to int32_t
Change ThreadArbitrationPolicy::NotPresent value to -1
Update initial values to ThreadArbitrationPolicy::NotPresent

Related-To: NEO-6728

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2022-03-07 20:04:24 +01:00
Michal Mrozek f293c9ab25 Avoid ReadModifyWrite problem on devices with coherent L3.
Setting one of bitfields requires read from local memory which is very slow.
This is not needed for devices that have coherent L3.
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-04 15:05:04 +01:00
Michal Mrozek 8e94d568a8 Do not set dcFlush in Immediate dispatch mode.
Some devices do not need dcFlush.
Setting it prevents further optimization of pipe controls which
are not needed.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2022-03-02 13:20:28 +01:00
Konstanty Misiak cf1bc3a2ba Disable EU fusion based on kernel properties from compiler
Related-To: NEO-6633

Signed-off-by: Konstanty Misiak <konstanty.misiak@intel.com>
2022-02-28 18:50:38 +01:00
Patryk Wrobel 7f729b7f89 Detect GPU hang in clWaitForEvents
This change:
- moves NEO::WaitStatus to a separate file
- enables detection of GPU hang in clWaitForEvents
- adjusts most of blocking calls in CommandStreamReceiver to return WaitStatus
- adds ULTs to cover the new code

Related-To: NEO-6681
Signed-off-by: Patryk Wrobel <patryk.wrobel@intel.com>
2022-02-23 13:33:09 +01:00
Kamil Kopryk d6eaab18b4 Correct blitter command size estimation
Signed-off-by: Kamil Kopryk <kamil.kopryk@intel.com>
2022-02-09 10:21:06 +01:00
Lukasz Jobczyk 9ff1307b4b Fix optimize timestamp packet dependiencies
-program barrier after global fence allocation is programmed
-do not double barrier timestamp in blit enqueue
-flush GPGPU while submitting to BCS when barrier requested

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-02-03 16:27:09 +01:00
Bartosz Dunajski 52c6973e89 Rename blitBuffer method
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-03 15:02:55 +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
Zbigniew Zdanowicz 4238679078 Refactor implicit scaling device support
Related-To: NEO-6589

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-01-18 13:08:43 +01:00
Bartosz Dunajski e7f2676d5e Fix ThreadArbitrationMode programming
For non-kernel submission, TAM was incorrectly reprogrammed to default
mode. Correct programming should reuse value from previous submission.

Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-01-14 13:09:11 +01:00
Raiyan Latif 394c0e90e1 Return error when failing on submission
Signed-off-by: Raiyan Latif <raiyan.latif@intel.com>
2022-01-12 16:42:30 +01:00
Filip Hazubski 5be4d89b73 Rename function
Rename MemorySynchronizationCommands::isDcFlushAllowed
to MemorySynchronizationCommands::getDcFlushEnable

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-30 17:03:22 +01:00
Maciej Plewka 615688336f Program all fields in SCM
Related-To: NEO-6432

This change applies WA that always programs all fields in SCM for
gen12lp. Also for those platforms Force Non-Coherent is set to 0x2.

Signed-off-by: Maciej Plewka <maciej.plewka@intel.com>
2021-12-28 16:30:47 +01:00
Lukasz Jobczyk b8e88159f8 Add proper alignment to BBE in flush small task path
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-28 11:01:57 +01:00
Lukasz Jobczyk 9be5efe4f7 Check BCS engine type correctly in flush non kernel
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-28 10:23:15 +01:00
Zbigniew Zdanowicz b6da6471f2 Add notify parameter to direct submission post sync operations
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-23 17:35:48 +01:00
Filip Hazubski 9a450d1b74 Pass hwInfo to appendMiFlushDw
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-22 15:22:47 +01:00
Filip Hazubski 0fd685541d Add isDcFlushAllowed function to HwInfoConfig
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 18:29:43 +01:00
Filip Hazubski 6d439f88bb Explicitly set dcFlushEnable value
Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-21 12:21:11 +01:00
Lukasz Jobczyk bc58172075 Revert "Enable task count update from wait"
This reverts commit 8db36ddf28d0b85516e0adf77dbfc78000d22146.

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-20 16:53:16 +01:00
Zbigniew Zdanowicz 82096a5472 Add new KMD delay parameter for direct submission
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-17 21:09:37 +01:00
Filip Hazubski 461e6d841d Remove redundant thread arbitration policy variables for SCM
Remove CommandStreamReceiver::lastSentThreadArbitrationPolicy
Remove CommandStreamReceiver::requiredThreadArbitrationPolicy

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-17 19:47:59 +01:00
Lukasz Jobczyk 6e5bc0d5ee Enable task count update from wait
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-17 15:21:51 +01:00
Mateusz Jablonski 66bf806018 Remove magic number from set/getBatchBufferStartAddressGraphicsaddress methods
rename methods to set/getBatchBufferStartAddress

Related-To: NEO-6466
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2021-12-16 19:03:01 +01:00
Filip Hazubski e182aa6055 Unify program thread abitration logic for gen9 and gen11
Use single call for programming thread arbitration logic in flushTask.

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-14 17:10:26 +01:00
Zbigniew Zdanowicz 01348451db Add multi tile barrier to marker command on multi tile device
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-13 18:14:39 +01:00
Zbigniew Zdanowicz 56bef79733 Add multi tile support for OCL post sync barrier
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-10 17:33:12 +01:00
Michal Mrozek ebb16c8b74 Add new debug key to control dependency resolution.
Currently only supported scenario is one in order queue.
Instead of resolving dependencies via semaphores, do this with pipe controls.

Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2021-12-09 17:26:38 +01:00
Filip Hazubski 3511b4755f Remove redundant coherency variables for SCM
Remove CommandStreamReceiver::lastSentCoherencyRequest
Remove CsrSizeRequestFlags::coherencyRequestChanged

Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-09 14:43:21 +01:00
Filip Hazubski e5d7142ae0 Use StreamProperties from CSR when programming STATE_COMPUTE_MODE
Related-To: NEO-5995

Signed-off-by: Filip Hazubski <filip.hazubski@intel.com>
2021-12-09 10:51:34 +01:00
Lukasz Jobczyk 09d2ffb9ed Add missing cache flush
Resolves: NEO-6505

Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-06 17:28:12 +01:00
Zbigniew Zdanowicz 3e1023fa1a Unify memory layout for all multi tile post sync operations
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-12-02 18:00:40 +01:00
Lukasz Jobczyk 36efe72e3e Add wait on timestamp mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-12-01 08:48:00 +01:00
Bartosz Dunajski 995cb88bfa Improve ftr/wa flags packing
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-25 16:05:57 +01:00
Zbigniew Zdanowicz f56773d166 Setup partition registers once per context
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-22 22:41:09 +01:00
Zbigniew Zdanowicz 7ea0a11c0a Unify programming of partition registers
Related-To: NEO-6262


Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-18 16:52:51 +01:00
Zbigniew Zdanowicz 76b8f6296f Move noop programming to dedicated encoder
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-18 10:28:56 +01:00
Lukasz Jobczyk ec1d092b0b Add isAnyDirectSubmissionEnabled method
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-16 17:15:56 +01:00
Lukasz Jobczyk d1a9b8e600 Fix task count update from wait on blitter direct submission
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-16 12:35:05 +01:00
Zbigniew Zdanowicz 61641bb70a Add implicit barriers capability to opencl
Related-To: NEO-6262

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-11-10 08:19:50 +01:00
Bartosz Dunajski 5bbdd0fe2c Remove DispatchFlags param from CSR methods
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-04 16:15:38 +01:00
Bartosz Dunajski 4b5a718f40 Use dedicated helper for PC programming
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-11-04 15:32:02 +01:00
Compute-Runtime-Validation 908fbe427b Revert "Enable task count update from wait on direct submission"
This reverts commit 57344fcf89.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-11-03 09:24:48 +01:00
Lukasz Jobczyk 57344fcf89 Enable task count update from wait on direct submission
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-02 12:08:41 +01:00
Lukasz Jobczyk c7d5a96dfd Flush small task adjustments
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-28 11:39:55 +02:00
Compute-Runtime-Validation 8c6fed2149 Revert "Flush small task adjustments"
This reverts commit 32ae9555f1.

Signed-off-by: Compute-Runtime-Validation <compute-runtime-validation@intel.com>
2021-10-28 09:19:32 +02:00
Lukasz Jobczyk 32ae9555f1 Flush small task adjustments
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-27 16:43:06 +02:00
Lukasz Jobczyk 5a240e1d66 Enable direct submission controller
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-10-26 12:07:11 +02:00
Bartosz Dunajski 4cad3073f0 Create flatBatchBufferHelper only if needed
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2021-10-22 19:04:01 +02:00