Commit Graph

57 Commits

Author SHA1 Message Date
Dunajski, Bartosz 89b96e5e8f Introduce initial implementation of DirectSubmission relaxed ordering mode.
Initial implementation of task store section

Related-To: NEO-7458

Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com>
2022-11-17 12:23:29 +01:00
Lukasz Jobczyk 5011046a17 Add sfence when stop ring buffer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-11-09 20:02:03 +01:00
Zbigniew Zdanowicz 87822f94e2 Replace virtual method call for DC flush with stored bool value 2/n
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2022-10-12 09:43:01 +02:00
Rafal Maziejuk 5e58104f5a Add flag to control prefetcher disabling behaviour
Certain platforms might not require prefetcher to
be disabled in direct submission. This change
provides a way to control that behaviour.

Signed-off-by: Rafal Maziejuk <rafal.maziejuk@intel.com>
Related-To: NEO-7218
2022-08-16 16:01:30 +02:00
Bartosz Dunajski 52b00a11b0 Remove LSH from CommandQueue
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-07-19 08:47:02 +02:00
Lukasz Jobczyk 880464da77 Apply additional synchronization WA to DG2 ULLS
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-07-06 13:37:56 +02:00
Bartosz Dunajski 61b2ee45cd Use LogicalStateHelper to encode SystemMemoryFence
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-06-24 13:29:58 +02:00
Lukasz Jobczyk 24ff26c396 Allocate new ring buffer if all are in use
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-06-10 12:45:49 +02:00
Lukasz Jobczyk d63a044e60 Add infrastructure to request ULLS restart
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2022-05-11 14:33:30 +02:00
Artur Harasimiuk a6490062a9 fix code issues reported by clang 14
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com>
2022-04-29 10:43:34 +02:00
Mateusz Jablonski 03185f7111 feature direct submission: use tag allocation as a completion fence
use tag allocation address as a completion address in exec call
wait for completion value before destroying drm direct submission

Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-25 13:30:55 +02:00
Mateusz Jablonski 4cb46ee15c Refactor direct submission: remove csr from members
create translation layer to obtain needed params

Related-To: NEO-6643
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-20 17:20:17 +02:00
Mateusz Jablonski b5b8762faf refactor direct submission: Pass command stream receiver to ctor
Related-To: NEO-6643

Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-04-19 23:02:55 +02:00
Bartosz Dunajski fc4eaa1894 Refactor passing GlobalFenceAllocation to DirectSubmission
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-07 16:08:07 +02:00
Bartosz Dunajski db9c0d1103 Refactor and enable MI_MEM_FENCE programming for DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-07 12:53:56 +02:00
Bartosz Dunajski 6e9c890890 Enable sfence instruction programming for DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-06 14:24:04 +02:00
Bartosz Dunajski 779bca39a7 Debug flag to add sfence instruction prior to DirectSubmission dispatch
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-04-01 15:53:03 +02:00
Bartosz Dunajski 08e3853982 Debug flag to add extra MI_MEM_FENCE for DirectSubmission
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-03-30 16:07:25 +02:00
Mateusz Jablonski 3ac0581f2e Add debug flags to read back cmd/ring buffer before unblocking semaphore
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-25 20:36:29 +01:00
Mateusz Jablonski 3792481d33 XeHPC Implicit scaling: put command/ring/semaphore buffer to first memory bank
In direct submission scenario command/ring/semaphore buffer allocations
are placed in the same memory bank to ensure that their memory is updated in
correct order

Related-To: NEO-6698
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2022-03-21 08:10:50 +01:00
Bartosz Dunajski 4b0d986876 Move AllocationType enum out of GraphicsAllocation class
Signed-off-by: Bartosz Dunajski <bartosz.dunajski@intel.com>
2022-02-04 17:49:09 +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
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
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 cc13d60f1d Add debug key to print direct submission ring buffer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-11-23 14:08:52 +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 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 60805cdbcf Fix direct submission wait on multi tile device using single tile context
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-28 14:01:58 +02:00
Zbigniew Zdanowicz f0d32ed5f7 Fix multi tile synchronization in direct submission
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-13 16:13:20 +02:00
Zbigniew Zdanowicz 7b95dc4be4 Add partitioned post sync for completion fence of direct submission
Related-To: NEO-6244

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-10-12 14:57:29 +02:00
Mateusz Hoppe f2eb7f3aea Fix DirectSubmission residency handling
- allocations should be resident within OsContext

Signed-off-by: Mateusz Hoppe <mateusz.hoppe@intel.com>
2021-09-03 16:57:42 +02:00
Lukasz Jobczyk 8d60fb2a07 Refactor tag update for stop ring buffer
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-27 15:13:20 +02:00
Lukasz Jobczyk 4d2764eb0d Refactor direct submission per product files
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-23 19:13:30 +02:00
Lukasz Jobczyk 1638554a49 Add direct submission termination mechanism
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-08-20 13:57:28 +02:00
Lukasz Jobczyk dbf9198186 Flush tlb on BCS direct submission
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-07-30 16:26:47 +02:00
Zbigniew Zdanowicz 0e5ca243e2 Add notify enable parameter to post sync commands
Related-To: NEO-5845

Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2021-06-17 19:22:51 +02:00
Jaroslaw Chodor b80a51e5bf Adding wsl_compute_helper
Signed-off-by: Jaroslaw Chodor <jaroslaw.chodor@intel.com>
2021-06-07 14:36:21 +02:00
Lukasz Jobczyk e653699267 Disable monitor fence in Drm ULLS by default
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2021-04-20 13:10:22 +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
Michal Mrozek 76a9ccc095 Do not flush caches in ULLS submissions by default.
Change-Id: I4a1c96c597eef8b85e4e43e90cdc4779765eb72b
Signed-off-by: Michal Mrozek <michal.mrozek@intel.com>
2020-09-23 09:46:08 +02:00
Zbigniew Zdanowicz ba4dd9f866 Fix position of commands in diagnostic mode of direct submission
Related-To: NEO-4338

Change-Id: I439e5f66a351108625b7add5cda65c9887278632
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-08-19 17:04:53 +02:00
Lukasz Jobczyk 5bb73abfde Handle prefetching properly
Resolves: NEO-4338

Change-Id: I909e655efed22560049ed8eb7e9c41054824751c
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-18 13:54:40 +02:00
Lukasz Jobczyk c2a4835943 Add wait mechanism to drm direct submission
Related-To: NEO-4338

Change-Id: Ibef00cb774fc0564f95b3b6ba8c0934798a5957e
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-08-07 13:05:40 +02:00
Lukasz Jobczyk 21e16ff2c5 Add initial implementation of Linux direct submission
Change-Id: I9ee0434897bc3e980b240a8373190f0803e6c102
Signed-off-by: Lukasz Jobczyk <lukasz.jobczyk@intel.com>
2020-07-30 10:45:58 +02:00
Zbigniew Zdanowicz 14f4d5c5b9 Fix delayed first execution in diagnostic mode of direct submission
Related-To: NEO-4338

Change-Id: I68cce6ac66946f1cd0af9328231ccfbc2910c3c4
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-05-29 07:57:07 +02:00
Mateusz Jablonski 0c404bc880 Pass device bitfield to allocation properties when creating mem obj
Related-To: NEO-4484
Change-Id: I961e9122591dc7293e37d5c1ca58cbcd649ee653
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
2020-04-16 15:01:37 +02:00
Zbigniew Zdanowicz 5e98368dad Remove RMW access patterns from functions programming on gfx memory
Related-To: NEO-4338

Change-Id: I8fe555525f937e75c5439702b328c734af9af1f9
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-09 18:49:30 +02:00
Zbigniew Zdanowicz 11154bd9a1 Add more data to log in residency and direct submission
Related-To: NEO-4338

Change-Id: I146d6f6caddea540a6d48f86b07ad37d4045269e
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-06 12:37:45 +02:00
Zbigniew Zdanowicz f096d71a75 Add diagnostic mode to direct submission
Related-To: NEO-4338

Change-Id: Ibcdc1b6a1762827337e4ff5364a972702130195a
Signed-off-by: Zbigniew Zdanowicz <zbigniew.zdanowicz@intel.com>
2020-04-02 17:50:59 +02:00