Add support for zetSysmanTemperatureGetState API
Change-Id: I8c41cec6e2c7e69489882df7fc05352caef503c7 Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
parent
b156393615
commit
1780cc01e3
|
@ -13,6 +13,10 @@ ze_result_t LinuxTemperatureImp::getSensorTemperature(double *pTemperature) {
|
|||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
|
||||
bool LinuxTemperatureImp::isTempModuleSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
LinuxTemperatureImp::LinuxTemperatureImp(OsSysman *pOsSysman) {
|
||||
LinuxSysmanImp *pLinuxSysmanImp = static_cast<LinuxSysmanImp *>(pOsSysman);
|
||||
pSysfsAccess = &pLinuxSysmanImp->getSysfsAccess();
|
||||
|
|
|
@ -17,6 +17,7 @@ namespace L0 {
|
|||
class LinuxTemperatureImp : public OsTemperature, public NEO::NonCopyableClass {
|
||||
public:
|
||||
ze_result_t getSensorTemperature(double *pTemperature) override;
|
||||
bool isTempModuleSupported() override;
|
||||
LinuxTemperatureImp(OsSysman *pOsSysman);
|
||||
LinuxTemperatureImp() = default;
|
||||
~LinuxTemperatureImp() override = default;
|
||||
|
@ -24,4 +25,4 @@ class LinuxTemperatureImp : public OsTemperature, public NEO::NonCopyableClass {
|
|||
protected:
|
||||
SysfsAccess *pSysfsAccess = nullptr;
|
||||
};
|
||||
} // namespace L0
|
||||
} // namespace L0
|
|
@ -15,8 +15,9 @@ struct OsSysman;
|
|||
class OsTemperature {
|
||||
public:
|
||||
virtual ze_result_t getSensorTemperature(double *pTemperature) = 0;
|
||||
virtual bool isTempModuleSupported() = 0;
|
||||
static OsTemperature *create(OsSysman *pOsSysman);
|
||||
virtual ~OsTemperature() = default;
|
||||
};
|
||||
|
||||
} // namespace L0
|
||||
} // namespace L0
|
|
@ -27,6 +27,10 @@ ze_result_t TemperatureImp::temperatureGetState(double *pTemperature) {
|
|||
return pOsTemperature->getSensorTemperature(pTemperature);
|
||||
}
|
||||
|
||||
void TemperatureImp::init() {
|
||||
this->initSuccess = pOsTemperature->isTempModuleSupported();
|
||||
}
|
||||
|
||||
TemperatureImp::TemperatureImp(OsSysman *pOsSysman) {
|
||||
pOsTemperature = OsTemperature::create(pOsSysman);
|
||||
|
||||
|
|
|
@ -25,6 +25,6 @@ class TemperatureImp : public NEO::NonCopyableClass, public Temperature {
|
|||
~TemperatureImp() override;
|
||||
|
||||
OsTemperature *pOsTemperature = nullptr;
|
||||
void init() {}
|
||||
void init();
|
||||
};
|
||||
} // namespace L0
|
||||
|
|
|
@ -12,12 +12,17 @@ namespace L0 {
|
|||
class WddmTemperatureImp : public OsTemperature {
|
||||
public:
|
||||
ze_result_t getSensorTemperature(double *pTemperature) override;
|
||||
bool isTempModuleSupported() override;
|
||||
};
|
||||
|
||||
ze_result_t WddmTemperatureImp::getSensorTemperature(double *pTemperature) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
}
|
||||
|
||||
bool WddmTemperatureImp::isTempModuleSupported() {
|
||||
return false;
|
||||
}
|
||||
|
||||
OsTemperature *OsTemperature::create(OsSysman *pOsSysman) {
|
||||
WddmTemperatureImp *pWddmTemperatureImp = new WddmTemperatureImp();
|
||||
return static_cast<OsTemperature *>(pWddmTemperatureImp);
|
||||
|
|
|
@ -40,6 +40,11 @@ class SysmanTemperatureFixture : public DeviceFixture, public ::testing::Test {
|
|||
DeviceFixture::TearDown();
|
||||
}
|
||||
};
|
||||
|
||||
TEST_F(SysmanTemperatureFixture, GivenValidOSTempHandleWhenCheckingForTempSupportThenExpectFalseToBeReturned) {
|
||||
EXPECT_FALSE(pOsTemperature->isTempModuleSupported());
|
||||
}
|
||||
|
||||
TEST_F(SysmanTemperatureFixture, GivenComponentCountZeroWhenCallingZetSysmanTemperatureGetThenZeroCountIsReturnedAndVerifySysmanTemperatureGetCallSucceeds) {
|
||||
uint32_t count = 0;
|
||||
ze_result_t result = zetSysmanTemperatureGet(hSysman, &count, NULL);
|
||||
|
|
Loading…
Reference in New Issue