forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fpga: dfl: fme: add power management support
This patch adds support for power management private feature under FPGA Management Engine (FME). This private feature driver registers a hwmon for power (power1_input), thresholds information, e.g. (power1_max / crit / max_alarm / crit_alarm) and also read-only sysfs interfaces for other power management information. For configuration, user could write threshold values via above power1_max / crit sysfs interface under hwmon too. Signed-off-by: Luwei Kang <[email protected]> Signed-off-by: Xu Yilun <[email protected]> Signed-off-by: Wu Hao <[email protected]> Acked-by: Guenter Roeck <[email protected]> Reviewed-by: Moritz Fischer <[email protected]> Signed-off-by: Moritz Fischer <[email protected]>
- Loading branch information
Showing
2 changed files
with
275 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -114,6 +114,7 @@ Contact: Wu Hao <[email protected]> | |
Description: Read-Only. Read this file to get the name of hwmon device, it | ||
supports values: | ||
'dfl_fme_thermal' - thermal hwmon device name | ||
'dfl_fme_power' - power hwmon device name | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/temp1_input | ||
Date: October 2019 | ||
|
@@ -170,3 +171,70 @@ Description: Read-Only. Read this file to get the policy of hardware threshold1 | |
(see 'temp1_max'). It only supports two values (policies): | ||
0 - AP2 state (90% throttling) | ||
1 - AP1 state (50% throttling) | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_input | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-Only. It returns current FPGA power consumption in uW. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_max | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-Write. Read this file to get current hardware power | ||
threshold1 in uW. If power consumption rises at or above | ||
this threshold, hardware starts 50% throttling. | ||
Write this file to set current hardware power threshold1 in uW. | ||
As hardware only accepts values in Watts, so input value will | ||
be round down per Watts (< 1 watts part will be discarded) and | ||
clamped within the range from 0 to 127 Watts. Write fails with | ||
-EINVAL if input parsing fails. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_crit | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-Write. Read this file to get current hardware power | ||
threshold2 in uW. If power consumption rises at or above | ||
this threshold, hardware starts 90% throttling. | ||
Write this file to set current hardware power threshold2 in uW. | ||
As hardware only accepts values in Watts, so input value will | ||
be round down per Watts (< 1 watts part will be discarded) and | ||
clamped within the range from 0 to 127 Watts. Write fails with | ||
-EINVAL if input parsing fails. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_max_alarm | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-only. It returns 1 if power consumption is currently at or | ||
above hardware threshold1 (see 'power1_max'), otherwise 0. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_crit_alarm | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-only. It returns 1 if power consumption is currently at or | ||
above hardware threshold2 (see 'power1_crit'), otherwise 0. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_xeon_limit | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-Only. It returns power limit for XEON in uW. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_fpga_limit | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-Only. It returns power limit for FPGA in uW. | ||
|
||
What: /sys/bus/platform/devices/dfl-fme.0/hwmon/hwmonX/power1_ltr | ||
Date: October 2019 | ||
KernelVersion: 5.5 | ||
Contact: Wu Hao <[email protected]> | ||
Description: Read-only. Read this file to get current Latency Tolerance | ||
Reporting (ltr) value. It returns 1 if all Accelerated | ||
Function Units (AFUs) can tolerate latency >= 40us for memory | ||
access or 0 if any AFU is latency sensitive (< 40us). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters