lkml.org 
[lkml]   [2021]   [Nov]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v4 18/22] cpupower: add amd-pstate sysfs definition and access helper
    Date
    Introduce the marco definitions and access helper function for
    amd-pstate sysfs interfaces such as each performance goals and frequency
    levels in amd helper file. They will be used to read the sysfs attribute
    from amd-pstate cpufreq driver for cpupower utilities.

    Signed-off-by: Huang Rui <ray.huang@amd.com>
    ---
    tools/power/cpupower/utils/helpers/amd.c | 30 ++++++++++++++++++++++++
    1 file changed, 30 insertions(+)

    diff --git a/tools/power/cpupower/utils/helpers/amd.c b/tools/power/cpupower/utils/helpers/amd.c
    index 97f2c857048e..14c658daba4b 100644
    --- a/tools/power/cpupower/utils/helpers/amd.c
    +++ b/tools/power/cpupower/utils/helpers/amd.c
    @@ -8,7 +8,10 @@
    #include <pci/pci.h>

    #include "helpers/helpers.h"
    +#include "cpufreq.h"
    +#include "acpi_cppc.h"

    +/* ACPI P-States Helper Functions for AMD Processors ***************/
    #define MSR_AMD_PSTATE_STATUS 0xc0010063
    #define MSR_AMD_PSTATE 0xc0010064
    #define MSR_AMD_PSTATE_LIMIT 0xc0010061
    @@ -146,4 +149,31 @@ int amd_pci_get_num_boost_states(int *active, int *states)
    pci_cleanup(pci_acc);
    return 0;
    }
    +
    +/* ACPI P-States Helper Functions for AMD Processors ***************/
    +
    +/* AMD P-States Helper Functions ***************/
    +enum amd_pstate_value {
    + AMD_PSTATE_HIGHEST_PERF,
    + AMD_PSTATE_MAX_FREQ,
    + AMD_PSTATE_LOWEST_NONLINEAR_FREQ,
    + MAX_AMD_PSTATE_VALUE_READ_FILES,
    +};
    +
    +static const char *amd_pstate_value_files[MAX_AMD_PSTATE_VALUE_READ_FILES] = {
    + [AMD_PSTATE_HIGHEST_PERF] = "amd_pstate_highest_perf",
    + [AMD_PSTATE_MAX_FREQ] = "amd_pstate_max_freq",
    + [AMD_PSTATE_LOWEST_NONLINEAR_FREQ] = "amd_pstate_lowest_nonlinear_freq",
    +};
    +
    +static unsigned long amd_pstate_get_data(unsigned int cpu,
    + enum amd_pstate_value value)
    +{
    + return cpufreq_get_sysfs_value_from_table(cpu,
    + amd_pstate_value_files,
    + value,
    + MAX_AMD_PSTATE_VALUE_READ_FILES);
    +}
    +
    +/* AMD P-States Helper Functions ***************/
    #endif /* defined(__i386__) || defined(__x86_64__) */
    --
    2.25.1
    \
     
     \ /
      Last update: 2021-11-19 11:34    [W:4.079 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site