Messages in this thread | | | Subject | Re: [PATCH v3 6/7] thermal/drivers/cpu_cooling: Introduce the cpu idle cooling driver | From | Daniel Lezcano <> | Date | Mon, 16 Apr 2018 14:49:35 +0200 |
| |
On 16/04/2018 14:31, Sudeep Holla wrote: > On Mon, Apr 16, 2018 at 02:10:30PM +0200, Daniel Lezcano wrote: >> On 16/04/2018 12:10, Viresh Kumar wrote: >>> On 16-04-18, 12:03, Daniel Lezcano wrote: >>>> On 16/04/2018 11:50, Viresh Kumar wrote: >>>>> On 16-04-18, 11:45, Daniel Lezcano wrote: >>>>>> Can you elaborate a bit ? I'm not sure to get the point. >>>>> >>>>> Sure. With your current code on Hikey960 (big/LITTLE), you end up >>>>> creating two cooling devices, one for the big cluster and one for >>>>> small cluster. Which is the right thing to do, as we also have two >>>>> cpufreq cooling devices. >>>>> >>>>> But with the change Sudeep is referring to, the helper you used to get >>>>> cluster id will return 0 (SoC id) for all the 8 CPUs. So your code >>>>> will end up creating a single cpuidle cooling device for all the CPUs. >>>>> Which would be wrong. >>>> >>>> Is the semantic of topology_physical_package_id changing ? >>> >>> That's what I understood from his email. >>> >>>> I don't >>>> understand the change Sudeep is referring to. >> >> Actually there is no impact with the change Sudeep is referring to. It >> is for ACPI, we are DT based. Confirmed with Jeremy. >> > > No, it will change for DT. The aim is to be consistent irrespective of > h/w or f/w description(i.e ADCPI or DT)
What will happen with the code using topology_physical_package_id ?
drivers/acpi/processor_thermal.c: int id = topology_physical_package_id(cpu);
drivers/acpi/processor_thermal.c: if (topology_physical_package_id(i) == id)
drivers/acpi/processor_thermal.c: if (topology_physical_package_id(i) ==
drivers/acpi/processor_thermal.c: topology_physical_package_id(cpu))
drivers/block/mtip32xx/mtip32xx.c: topology_physical_package_id(cpumask_first(node_mask)),
drivers/cpufreq/arm_big_little.c: return topology_physical_package_id(cpu);
drivers/crypto/qat/qat_common/adf_common_drv.h: return topology_physical_package_id(smp_processor_id());
drivers/crypto/virtio/virtio_crypto_common.h: node = topology_physical_package_id(cpu);
kernel/events/core.c: event_pkg = topology_physical_package_id(event_cpu);
kernel/events/core.c: local_pkg = topology_physical_package_id(local_cpu);
-- <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
Follow Linaro: <http://www.facebook.com/pages/Linaro> Facebook | <http://twitter.com/#!/linaroorg> Twitter | <http://www.linaro.org/linaro-blog/> Blog
| |