Files
compute-runtime/level_zero/tools/source/sysman/engine/engine_imp.cpp
Jitendra Sharma b6e98c4eb4 Update Sysman engine APIs as per latest spec
Change-Id: I477435714a20f7a9c8fd4bb1ef6b852eeaabd5e2
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
2020-07-31 10:37:57 +02:00

80 lines
2.1 KiB
C++

/*
* Copyright (C) 2020 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "level_zero/tools/source/sysman/engine/engine_imp.h"
#include "level_zero/core/source/device/device.h"
namespace L0 {
ze_result_t EngineImp::engineGetActivity(zet_engine_stats_t *pStats) {
ze_result_t result = pOsEngine->getActiveTime(pStats->activeTime);
if (result != ZE_RESULT_SUCCESS) {
return result;
}
return pOsEngine->getTimeStamp(pStats->timestamp);
}
ze_result_t EngineImp::engineGetActivity(zes_engine_stats_t *pStats) {
ze_result_t result = pOsEngine->getActiveTime(pStats->activeTime);
if (result != ZE_RESULT_SUCCESS) {
return result;
}
return pOsEngine->getTimeStamp(pStats->timestamp);
}
ze_result_t EngineImp::engineGetProperties(zet_engine_properties_t *pProperties) {
*pProperties = zetEngineProperties;
return ZE_RESULT_SUCCESS;
}
ze_result_t EngineImp::engineGetProperties(zes_engine_properties_t *pProperties) {
*pProperties = engineProperties;
return ZE_RESULT_SUCCESS;
}
void EngineImp::init(zet_engine_group_t type) {
if (pOsEngine->getEngineGroup(type) == ZE_RESULT_SUCCESS) {
this->initSuccess = true;
} else {
this->initSuccess = false;
}
zetEngineProperties.type = type;
zetEngineProperties.onSubdevice = false;
zetEngineProperties.subdeviceId = 0;
}
void EngineImp::init(zes_engine_group_t type) {
if (pOsEngine->getEngineGroup(type) == ZE_RESULT_SUCCESS) {
this->initSuccess = true;
} else {
this->initSuccess = false;
}
engineProperties.type = type;
engineProperties.onSubdevice = false;
engineProperties.subdeviceId = 0;
}
EngineImp::EngineImp(OsSysman *pOsSysman, zet_engine_group_t type) {
pOsEngine = OsEngine::create(pOsSysman);
init(type);
}
EngineImp::EngineImp(OsSysman *pOsSysman, zes_engine_group_t type) {
pOsEngine = OsEngine::create(pOsSysman);
init(type);
}
EngineImp::~EngineImp() {
if (nullptr != pOsEngine) {
delete pOsEngine;
pOsEngine = nullptr;
}
}
} // namespace L0