|
@@ -131,6 +131,59 @@ fail:
|
|
|
return count;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+/**
|
|
|
+ * DOC: power_dpm_force_performance_level
|
|
|
+ *
|
|
|
+ * The amdgpu driver provides a sysfs API for adjusting certain power
|
|
|
+ * related parameters. The file power_dpm_force_performance_level is
|
|
|
+ * used for this. It accepts the following arguments:
|
|
|
+ * - auto
|
|
|
+ * - low
|
|
|
+ * - high
|
|
|
+ * - manual
|
|
|
+ * - GPU fan
|
|
|
+ * - profile_standard
|
|
|
+ * - profile_min_sclk
|
|
|
+ * - profile_min_mclk
|
|
|
+ * - profile_peak
|
|
|
+ *
|
|
|
+ * auto
|
|
|
+ *
|
|
|
+ * When auto is selected, the driver will attempt to dynamically select
|
|
|
+ * the optimal power profile for current conditions in the driver.
|
|
|
+ *
|
|
|
+ * low
|
|
|
+ *
|
|
|
+ * When low is selected, the clocks are forced to the lowest power state.
|
|
|
+ *
|
|
|
+ * high
|
|
|
+ *
|
|
|
+ * When high is selected, the clocks are forced to the highest power state.
|
|
|
+ *
|
|
|
+ * manual
|
|
|
+ *
|
|
|
+ * When manual is selected, the user can manually adjust which power states
|
|
|
+ * are enabled for each clock domain via the sysfs pp_dpm_mclk, pp_dpm_sclk,
|
|
|
+ * and pp_dpm_pcie files and adjust the power state transition heuristics
|
|
|
+ * via the pp_power_profile_mode sysfs file.
|
|
|
+ *
|
|
|
+ * profile_standard
|
|
|
+ * profile_min_sclk
|
|
|
+ * profile_min_mclk
|
|
|
+ * profile_peak
|
|
|
+ *
|
|
|
+ * When the profiling modes are selected, clock and power gating are
|
|
|
+ * disabled and the clocks are set for different profiling cases. This
|
|
|
+ * mode is recommended for profiling specific work loads where you do
|
|
|
+ * not want clock or power gating for clock fluctuation to interfere
|
|
|
+ * with your results. profile_standard sets the clocks to a fixed clock
|
|
|
+ * level which varies from asic to asic. profile_min_sclk forces the sclk
|
|
|
+ * to the lowest level. profile_min_mclk forces the mclk to the lowest level.
|
|
|
+ * profile_peak sets all clocks (mclk, sclk, pcie) to the highest levels.
|
|
|
+ *
|
|
|
+ */
|
|
|
+
|
|
|
static ssize_t amdgpu_get_dpm_forced_performance_level(struct device *dev,
|
|
|
struct device_attribute *attr,
|
|
|
char *buf)
|