Commit cfdc589f authored by Ionela Voinescu's avatar Ionela Voinescu Committed by Rafael J. Wysocki

cppc_cpufreq: expose information on frequency domains

Use the existing sysfs attribute "freqdomain_cpus" to expose
information to userspace about CPUs in the same frequency domain.
Signed-off-by: default avatarIonela Voinescu <ionela.voinescu@arm.com>
Acked-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
Tested-by: default avatarMian Yousaf Kaukab <ykaukab@suse.de>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent bf76bb20
...@@ -264,7 +264,8 @@ Description: Discover CPUs in the same CPU frequency coordination domain ...@@ -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 attribute is useful for user space DVFS controllers to get better
power/performance results for platforms using acpi-cpufreq. 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} What: /sys/devices/system/cpu/cpu*/cache/index3/cache_disable_{0,1}
......
...@@ -402,6 +402,19 @@ static int cppc_cpufreq_set_boost(struct cpufreq_policy *policy, int state) ...@@ -402,6 +402,19 @@ static int cppc_cpufreq_set_boost(struct cpufreq_policy *policy, int state)
return 0; return 0;
} }
static ssize_t show_freqdomain_cpus(struct cpufreq_policy *policy, char *buf)
{
unsigned int cpu = policy->cpu;
return cpufreq_show_cpus(all_cpu_data[cpu]->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 = { static struct cpufreq_driver cppc_cpufreq_driver = {
.flags = CPUFREQ_CONST_LOOPS, .flags = CPUFREQ_CONST_LOOPS,
.verify = cppc_verify_policy, .verify = cppc_verify_policy,
...@@ -410,6 +423,7 @@ static struct cpufreq_driver cppc_cpufreq_driver = { ...@@ -410,6 +423,7 @@ static struct cpufreq_driver cppc_cpufreq_driver = {
.init = cppc_cpufreq_cpu_init, .init = cppc_cpufreq_cpu_init,
.stop_cpu = cppc_cpufreq_stop_cpu, .stop_cpu = cppc_cpufreq_stop_cpu,
.set_boost = cppc_cpufreq_set_boost, .set_boost = cppc_cpufreq_set_boost,
.attr = cppc_cpufreq_attr,
.name = "cppc_cpufreq", .name = "cppc_cpufreq",
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment