mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-08 14:02:58 +08:00
Move KMD Notify logic from CSR to specialized helper
- Decission about timeout enabling and value moved out of CSR - Timeout multiplier is no longer Linux specific Change-Id: I6858fe2f811ef13802b95e0470e310210a9dea8b
This commit is contained in:
committed by
sys_ocldev
parent
10ada58bd6
commit
87f8f735f9
@@ -21,6 +21,8 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
#include "runtime/helpers/completion_stamp.h"
|
||||
|
||||
#include <cstdint>
|
||||
#include <chrono>
|
||||
|
||||
@@ -36,9 +38,12 @@ struct KmdNotifyProperties {
|
||||
bool enableQuickKmdSleepForSporadicWaits;
|
||||
int64_t delayQuickKmdSleepForSporadicWaitsMicroseconds;
|
||||
|
||||
bool applyQuickKmdSleepForSporadicWait(std::chrono::high_resolution_clock::time_point &lastWaitTimestamp) const;
|
||||
bool timeoutEnabled(FlushStamp flushStampToWait) const;
|
||||
|
||||
const int64_t &selectDelay(bool useQuickKmdSleep) const;
|
||||
int64_t pickTimeoutValue(std::chrono::high_resolution_clock::time_point &lastWaitTimestamp,
|
||||
bool quickKmdSleepRequest, uint32_t currentHwTag, uint32_t taskCountToWait) const;
|
||||
|
||||
bool applyQuickKmdSleepForSporadicWait(std::chrono::high_resolution_clock::time_point &lastWaitTimestamp) const;
|
||||
|
||||
static void overrideFromDebugVariable(int32_t debugVariableValue, int64_t &destination);
|
||||
static void overrideFromDebugVariable(int32_t debugVariableValue, bool &destination);
|
||||
|
||||
Reference in New Issue
Block a user