@@ -75,11 +75,11 @@ enum class SysfsName {
75
75
sysfsNameThrottleReasonPL2,
76
76
sysfsNameThrottleReasonPL4,
77
77
sysfsNameThrottleReasonThermal,
78
- sysfsNameSustainedPowerLimit ,
79
- sysfsNameSustainedPowerLimitInterval ,
80
- sysfsNameEnergyCounterNode ,
81
- sysfsNameDefaultPowerLimit ,
82
- sysfsNameCriticalPowerLimit ,
78
+ sysfsNameCardSustainedPowerLimit ,
79
+ sysfsNameCardSustainedPowerLimitInterval ,
80
+ sysfsNameCardEnergyCounterNode ,
81
+ sysfsNameCardDefaultPowerLimit ,
82
+ sysfsNameCardCriticalPowerLimit ,
83
83
sysfsNameStandbyModeControl,
84
84
sysfsNameMemoryAddressRange,
85
85
sysfsNameMaxMemoryFrequency,
@@ -93,6 +93,11 @@ enum class SysfsName {
93
93
sysfsNamePerformanceBaseFrequencyFactorScale,
94
94
sysfsNamePerformanceMediaFrequencyFactorScale,
95
95
sysfsNamePerformanceSystemPowerBalance,
96
+ sysfsNamePackageSustainedPowerLimit,
97
+ sysfsNamePackageSustainedPowerLimitInterval,
98
+ sysfsNamePackageDefaultPowerLimit,
99
+ sysfsNamePackageCriticalPowerLimit,
100
+ sysfsNamePackageEnergyCounterNode,
96
101
};
97
102
98
103
enum class SysfsValueUnit {
@@ -111,6 +116,8 @@ class SysmanKmdInterface {
111
116
virtual std::string getBasePath (uint32_t subDeviceId) const = 0;
112
117
virtual std::string getSysfsFilePath (SysfsName sysfsName, uint32_t subDeviceId, bool baseDirectoryExists) = 0;
113
118
virtual std::string getSysfsFilePathForPhysicalMemorySize (uint32_t subDeviceId) = 0;
119
+ virtual std::string getSysfsFilePathForPower (SysfsName sysfsName) = 0;
120
+ virtual std::string getEnergyCounterNodeFilePath (zes_power_domain_t powerDomain) = 0;
114
121
virtual int64_t getEngineActivityFd (zes_engine_group_t engineGroup, uint32_t engineInstance, uint32_t subDeviceId, PmuInterface *const &pmuInterface) = 0;
115
122
virtual std::string getHwmonName (uint32_t subDeviceId, bool isSubdevice) const = 0;
116
123
virtual bool isStandbyModeControlAvailable () const = 0;
@@ -151,6 +158,7 @@ class SysmanKmdInterface {
151
158
virtual ze_result_t getBusyAndTotalTicksConfigs (uint64_t fnNumber, uint64_t engineInstance, uint64_t engineClass, std::pair<uint64_t , uint64_t > &configPair) = 0;
152
159
virtual std::string getGpuBindEntry () const = 0;
153
160
virtual std::string getGpuUnBindEntry () const = 0;
161
+ virtual bool isPowerSupportForSubdeviceAvailable (zes_power_domain_t powerDomain) const = 0;
154
162
155
163
protected:
156
164
std::unique_ptr<FsAccessInterface> pFsAccess;
@@ -181,6 +189,8 @@ class SysmanKmdInterfaceI915Upstream : public SysmanKmdInterface, SysmanKmdInter
181
189
std::string getBasePath (uint32_t subDeviceId) const override ;
182
190
std::string getSysfsFilePath (SysfsName sysfsName, uint32_t subDeviceId, bool baseDirectoryExists) override ;
183
191
std::string getSysfsFilePathForPhysicalMemorySize (uint32_t subDeviceId) override ;
192
+ std::string getSysfsFilePathForPower (SysfsName sysfsName) override ;
193
+ std::string getEnergyCounterNodeFilePath (zes_power_domain_t powerDomain) override ;
184
194
int64_t getEngineActivityFd (zes_engine_group_t engineGroup, uint32_t engineInstance, uint32_t subDeviceId, PmuInterface *const &pmuInterface) override ;
185
195
std::string getHwmonName (uint32_t subDeviceId, bool isSubdevice) const override ;
186
196
bool isStandbyModeControlAvailable () const override { return true ; }
@@ -209,6 +219,7 @@ class SysmanKmdInterfaceI915Upstream : public SysmanKmdInterface, SysmanKmdInter
209
219
ze_result_t getBusyAndTotalTicksConfigs (uint64_t fnNumber, uint64_t engineInstance, uint64_t engineClass, std::pair<uint64_t , uint64_t > &configPair) override ;
210
220
std::string getGpuBindEntry () const override ;
211
221
std::string getGpuUnBindEntry () const override ;
222
+ bool isPowerSupportForSubdeviceAvailable (zes_power_domain_t powerDomain) const override ;
212
223
213
224
protected:
214
225
std::map<SysfsName, valuePair> sysfsNameToFileMap;
@@ -228,6 +239,8 @@ class SysmanKmdInterfaceI915Prelim : public SysmanKmdInterface, SysmanKmdInterfa
228
239
std::string getBasePath (uint32_t subDeviceId) const override ;
229
240
std::string getSysfsFilePath (SysfsName sysfsName, uint32_t subDeviceId, bool baseDirectoryExists) override ;
230
241
std::string getSysfsFilePathForPhysicalMemorySize (uint32_t subDeviceId) override ;
242
+ std::string getSysfsFilePathForPower (SysfsName sysfsName) override ;
243
+ std::string getEnergyCounterNodeFilePath (zes_power_domain_t powerDomain) override ;
231
244
int64_t getEngineActivityFd (zes_engine_group_t engineGroup, uint32_t engineInstance, uint32_t subDeviceId, PmuInterface *const &pmuInterface) override ;
232
245
std::string getHwmonName (uint32_t subDeviceId, bool isSubdevice) const override ;
233
246
bool isStandbyModeControlAvailable () const override { return true ; }
@@ -256,6 +269,7 @@ class SysmanKmdInterfaceI915Prelim : public SysmanKmdInterface, SysmanKmdInterfa
256
269
ze_result_t getBusyAndTotalTicksConfigs (uint64_t fnNumber, uint64_t engineInstance, uint64_t engineClass, std::pair<uint64_t , uint64_t > &configPair) override ;
257
270
std::string getGpuBindEntry () const override ;
258
271
std::string getGpuUnBindEntry () const override ;
272
+ bool isPowerSupportForSubdeviceAvailable (zes_power_domain_t powerDomain) const override ;
259
273
260
274
protected:
261
275
std::map<SysfsName, valuePair> sysfsNameToFileMap;
@@ -275,6 +289,8 @@ class SysmanKmdInterfaceXe : public SysmanKmdInterface {
275
289
std::string getBasePath (uint32_t subDeviceId) const override ;
276
290
std::string getSysfsFilePath (SysfsName sysfsName, uint32_t subDeviceId, bool baseDirectoryExists) override ;
277
291
std::string getSysfsFilePathForPhysicalMemorySize (uint32_t subDeviceId) override ;
292
+ std::string getSysfsFilePathForPower (SysfsName sysfsName) override ;
293
+ std::string getEnergyCounterNodeFilePath (zes_power_domain_t powerDomain) override ;
278
294
std::string getEngineBasePath (uint32_t subDeviceId) const override ;
279
295
int64_t getEngineActivityFd (zes_engine_group_t engineGroup, uint32_t engineInstance, uint32_t subDeviceId, PmuInterface *const &pmuInterface) override ;
280
296
std::string getHwmonName (uint32_t subDeviceId, bool isSubdevice) const override ;
@@ -305,6 +321,7 @@ class SysmanKmdInterfaceXe : public SysmanKmdInterface {
305
321
ze_result_t getBusyAndTotalTicksConfigs (uint64_t fnNumber, uint64_t engineInstance, uint64_t engineClass, std::pair<uint64_t , uint64_t > &configPair) override ;
306
322
std::string getGpuBindEntry () const override ;
307
323
std::string getGpuUnBindEntry () const override ;
324
+ bool isPowerSupportForSubdeviceAvailable (zes_power_domain_t powerDomain) const override { return false ; }
308
325
309
326
protected:
310
327
std::map<SysfsName, valuePair> sysfsNameToFileMap;
0 commit comments