mirror of
https://github.com/intel/compute-runtime.git
synced 2026-01-03 06:49:52 +08:00
Enable Sysman zesFrequencyGetAvailableClocks
Enable Sysman zesFrequencyGetAvailableClocks Change-Id: I23f839a3c6eeccbba0cb24adc2b9e34d4595c201 Signed-off-by: Matias A. Cabral <matias.a.cabral@intel.com>
This commit is contained in:
committed by
sys_ocldev
parent
63c37d82ba
commit
5dbf7d5f8c
@@ -209,7 +209,7 @@ zesFrequencyGetAvailableClocks(
|
||||
zes_freq_handle_t hFrequency,
|
||||
uint32_t *pCount,
|
||||
double *phFrequency) {
|
||||
return ZE_RESULT_ERROR_UNSUPPORTED_FEATURE;
|
||||
return L0::Frequency::fromHandle(hFrequency)->frequencyGetAvailableClocks(pCount, phFrequency);
|
||||
}
|
||||
|
||||
ZE_APIEXPORT ze_result_t ZE_APICALL
|
||||
|
||||
@@ -23,6 +23,7 @@ class Frequency : _zes_freq_handle_t {
|
||||
virtual ~Frequency() {}
|
||||
|
||||
virtual ze_result_t frequencyGetProperties(zes_freq_properties_t *pProperties) = 0;
|
||||
virtual ze_result_t frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) = 0;
|
||||
virtual ze_result_t frequencyGetRange(zes_freq_range_t *pLimits) = 0;
|
||||
virtual ze_result_t frequencySetRange(const zes_freq_range_t *pLimits) = 0;
|
||||
virtual ze_result_t frequencyGetState(zes_freq_state_t *pState) = 0;
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "level_zero/tools/source/sysman/frequency/frequency_imp.h"
|
||||
|
||||
#include "shared/source/helpers/basic_math.h"
|
||||
#include "shared/source/helpers/debug_helpers.h"
|
||||
|
||||
#include <cmath>
|
||||
@@ -21,6 +22,19 @@ ze_result_t FrequencyImp::frequencyGetProperties(zes_freq_properties_t *pPropert
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t FrequencyImp::frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) {
|
||||
uint32_t numToCopy = std::min(*pCount, numClocks);
|
||||
if (0 == *pCount || *pCount > numClocks) {
|
||||
*pCount = numClocks;
|
||||
}
|
||||
if (nullptr != phFrequency) {
|
||||
for (uint32_t i = 0; i < numToCopy; i++) {
|
||||
phFrequency[i] = pClocks[i];
|
||||
}
|
||||
}
|
||||
return ZE_RESULT_SUCCESS;
|
||||
}
|
||||
|
||||
ze_result_t FrequencyImp::frequencyGetRange(zes_freq_range_t *pLimits) {
|
||||
ze_result_t result = pOsFrequency->getMax(pLimits->max);
|
||||
if (ZE_RESULT_SUCCESS != result) {
|
||||
|
||||
@@ -18,6 +18,7 @@ namespace L0 {
|
||||
class FrequencyImp : public Frequency, NEO::NonCopyableOrMovableClass {
|
||||
public:
|
||||
ze_result_t frequencyGetProperties(zes_freq_properties_t *pProperties) override;
|
||||
ze_result_t frequencyGetAvailableClocks(uint32_t *pCount, double *phFrequency) override;
|
||||
ze_result_t frequencyGetRange(zes_freq_range_t *pLimits) override;
|
||||
ze_result_t frequencySetRange(const zes_freq_range_t *pLimits) override;
|
||||
ze_result_t frequencyGetState(zes_freq_state_t *pState) override;
|
||||
|
||||
Reference in New Issue
Block a user