Skip to content

Commit e6d9b38

Browse files
Enable midthread preemption after the setup is completed
previous: enable midthread preemption <...> csr base <...> pipe control + debug control 2 pipe control + VFE state after: <...> csr base <...> pipe control + debug control 2 pipe control + VFE state enable midthread preemption This is to avoid a race condition and prevent midthread preemption until the setup is completed. Change-Id: Icfc1fc839f89e7c51d8e760e544839639fd7d983 Signed-off-by: James Xiong <james.xiong@intel.com>
1 parent 50f4029 commit e6d9b38

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

runtime/command_stream/command_stream_receiver_hw_base.inl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,6 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
259259
}
260260

261261
initPageTableManagerRegisters(commandStreamCSR);
262-
programPreemption(commandStreamCSR, dispatchFlags);
263262
programComputeMode(commandStreamCSR, dispatchFlags);
264263
programL3(commandStreamCSR, dispatchFlags, newL3Config);
265264
programPipelineSelect(commandStreamCSR, dispatchFlags.pipelineSelectArgs);
@@ -275,6 +274,8 @@ CompletionStamp CommandStreamReceiverHw<GfxFamily>::flushTask(
275274

276275
programVFEState(commandStreamCSR, dispatchFlags, device.getDeviceInfo().maxFrontEndThreads);
277276

277+
programPreemption(commandStreamCSR, dispatchFlags);
278+
278279
bool dshDirty = dshState.updateAndCheck(&dsh);
279280
bool iohDirty = iohState.updateAndCheck(&ioh);
280281
bool sshDirty = sshState.updateAndCheck(&ssh);

0 commit comments

Comments
 (0)