Add support for zetSysmanTemperatureGetState API

Change-Id: I8c41cec6e2c7e69489882df7fc05352caef503c7
Signed-off-by: Jitendra Sharma <jitendra.sharma@intel.com>
This commit is contained in:
Jitendra Sharma 2020-05-21 17:29:11 +05:30 committed by sys_ocldev
parent b156393615
commit 1780cc01e3
7 changed files with 23 additions and 3 deletions

View File

@ -13,6 +13,10 @@ ze_result_t LinuxTemperatureImp::getSensorTemperature(double *pTemperature) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE; return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
} }
bool LinuxTemperatureImp::isTempModuleSupported() {
return false;
}
LinuxTemperatureImp::LinuxTemperatureImp(OsSysman *pOsSysman) { LinuxTemperatureImp::LinuxTemperatureImp(OsSysman *pOsSysman) {
LinuxSysmanImp *pLinuxSysmanImp = static_cast<LinuxSysmanImp *>(pOsSysman); LinuxSysmanImp *pLinuxSysmanImp = static_cast<LinuxSysmanImp *>(pOsSysman);
pSysfsAccess = &pLinuxSysmanImp->getSysfsAccess(); pSysfsAccess = &pLinuxSysmanImp->getSysfsAccess();

View File

@ -17,6 +17,7 @@ namespace L0 {
class LinuxTemperatureImp : public OsTemperature, public NEO::NonCopyableClass { class LinuxTemperatureImp : public OsTemperature, public NEO::NonCopyableClass {
public: public:
ze_result_t getSensorTemperature(double *pTemperature) override; ze_result_t getSensorTemperature(double *pTemperature) override;
bool isTempModuleSupported() override;
LinuxTemperatureImp(OsSysman *pOsSysman); LinuxTemperatureImp(OsSysman *pOsSysman);
LinuxTemperatureImp() = default; LinuxTemperatureImp() = default;
~LinuxTemperatureImp() override = default; ~LinuxTemperatureImp() override = default;
@ -24,4 +25,4 @@ class LinuxTemperatureImp : public OsTemperature, public NEO::NonCopyableClass {
protected: protected:
SysfsAccess *pSysfsAccess = nullptr; SysfsAccess *pSysfsAccess = nullptr;
}; };
} // namespace L0 } // namespace L0

View File

@ -15,8 +15,9 @@ struct OsSysman;
class OsTemperature { class OsTemperature {
public: public:
virtual ze_result_t getSensorTemperature(double *pTemperature) = 0; virtual ze_result_t getSensorTemperature(double *pTemperature) = 0;
virtual bool isTempModuleSupported() = 0;
static OsTemperature *create(OsSysman *pOsSysman); static OsTemperature *create(OsSysman *pOsSysman);
virtual ~OsTemperature() = default; virtual ~OsTemperature() = default;
}; };
} // namespace L0 } // namespace L0

View File

@ -27,6 +27,10 @@ ze_result_t TemperatureImp::temperatureGetState(double *pTemperature) {
return pOsTemperature->getSensorTemperature(pTemperature); return pOsTemperature->getSensorTemperature(pTemperature);
} }
void TemperatureImp::init() {
this->initSuccess = pOsTemperature->isTempModuleSupported();
}
TemperatureImp::TemperatureImp(OsSysman *pOsSysman) { TemperatureImp::TemperatureImp(OsSysman *pOsSysman) {
pOsTemperature = OsTemperature::create(pOsSysman); pOsTemperature = OsTemperature::create(pOsSysman);

View File

@ -25,6 +25,6 @@ class TemperatureImp : public NEO::NonCopyableClass, public Temperature {
~TemperatureImp() override; ~TemperatureImp() override;
OsTemperature *pOsTemperature = nullptr; OsTemperature *pOsTemperature = nullptr;
void init() {} void init();
}; };
} // namespace L0 } // namespace L0

View File

@ -12,12 +12,17 @@ namespace L0 {
class WddmTemperatureImp : public OsTemperature { class WddmTemperatureImp : public OsTemperature {
public: public:
ze_result_t getSensorTemperature(double *pTemperature) override; ze_result_t getSensorTemperature(double *pTemperature) override;
bool isTempModuleSupported() override;
}; };
ze_result_t WddmTemperatureImp::getSensorTemperature(double *pTemperature) { ze_result_t WddmTemperatureImp::getSensorTemperature(double *pTemperature) {
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE; return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
} }
bool WddmTemperatureImp::isTempModuleSupported() {
return false;
}
OsTemperature *OsTemperature::create(OsSysman *pOsSysman) { OsTemperature *OsTemperature::create(OsSysman *pOsSysman) {
WddmTemperatureImp *pWddmTemperatureImp = new WddmTemperatureImp(); WddmTemperatureImp *pWddmTemperatureImp = new WddmTemperatureImp();
return static_cast<OsTemperature *>(pWddmTemperatureImp); return static_cast<OsTemperature *>(pWddmTemperatureImp);

View File

@ -40,6 +40,11 @@ class SysmanTemperatureFixture : public DeviceFixture, public ::testing::Test {
DeviceFixture::TearDown(); DeviceFixture::TearDown();
} }
}; };
TEST_F(SysmanTemperatureFixture, GivenValidOSTempHandleWhenCheckingForTempSupportThenExpectFalseToBeReturned) {
EXPECT_FALSE(pOsTemperature->isTempModuleSupported());
}
TEST_F(SysmanTemperatureFixture, GivenComponentCountZeroWhenCallingZetSysmanTemperatureGetThenZeroCountIsReturnedAndVerifySysmanTemperatureGetCallSucceeds) { TEST_F(SysmanTemperatureFixture, GivenComponentCountZeroWhenCallingZetSysmanTemperatureGetThenZeroCountIsReturnedAndVerifySysmanTemperatureGetCallSucceeds) {
uint32_t count = 0; uint32_t count = 0;
ze_result_t result = zetSysmanTemperatureGet(hSysman, &count, NULL); ze_result_t result = zetSysmanTemperatureGet(hSysman, &count, NULL);