On 05-11-20, 12:55, Ionela Voinescu wrote:
> Use the existing sysfs attribute "freqdomain_cpus" to expose
> information to userspace about CPUs in the same frequency domain.
> 
> Signed-off-by: Ionela Voinescu <ionela.voine...@arm.com>
> Cc: Rafael J. Wysocki <r...@rjwysocki.net>
> Cc: Viresh Kumar <viresh.ku...@linaro.org>
> ---
>  Documentation/ABI/testing/sysfs-devices-system-cpu |  3 ++-
>  drivers/cpufreq/cppc_cpufreq.c                     | 14 ++++++++++++++
>  2 files changed, 16 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/ABI/testing/sysfs-devices-system-cpu 
> b/Documentation/ABI/testing/sysfs-devices-system-cpu
> index 1a04ca8162ad..0eee30b27ab6 100644
> --- a/Documentation/ABI/testing/sysfs-devices-system-cpu
> +++ b/Documentation/ABI/testing/sysfs-devices-system-cpu
> @@ -264,7 +264,8 @@ Description:      Discover CPUs in the same CPU frequency 
> coordination domain
>               attribute is useful for user space DVFS controllers to get 
> better
>               power/performance results for platforms using acpi-cpufreq.
>  
> -             This file is only present if the acpi-cpufreq driver is in use.
> +             This file is only present if the acpi-cpufreq or the 
> cppc-cpufreq
> +             drivers are in use.
>  
>  
>  What:                
> /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
> diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c
> index 60ac7f8049b5..b4edeeb57d04 100644
> --- a/drivers/cpufreq/cppc_cpufreq.c
> +++ b/drivers/cpufreq/cppc_cpufreq.c
> @@ -483,6 +483,19 @@ static int cppc_cpufreq_set_boost(struct cpufreq_policy 
> *policy, int state)
>       return 0;
>  }
>  
> +static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf)
> +{
> +     struct cppc_cpudata *cpu_data = policy->driver_data;
> +
> +     return cpufreq_show_cpus(cpu_data->domain->shared_cpu_map, buf);
> +}
> +cpufreq_freq_attr_ro(freqdomain_cpus);
> +
> +static struct freq_attr *cppc_cpufreq_attr[] = {
> +     &freqdomain_cpus,
> +     NULL,
> +};
> +
>  static struct cpufreq_driver cppc_cpufreq_driver = {
>       .flags = CPUFREQ_CONST_LOOPS,
>       .verify = cppc_verify_policy,
> @@ -491,6 +504,7 @@ static struct cpufreq_driver cppc_cpufreq_driver = {
>       .init = cppc_cpufreq_cpu_init,
>       .stop_cpu = cppc_cpufreq_stop_cpu,
>       .set_boost = cppc_cpufreq_set_boost,
> +     .attr = cppc_cpufreq_attr,
>       .name = "cppc_cpufreq",
>  };

Acked-by: Viresh Kumar <viresh.ku...@linaro.org>

-- 
viresh

Reply via email to