Message ID | 20220128032554.155132-1-bjorn.andersson@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | viresh kumar |
Headers | show |
Series | [v2,1/2] cpufreq: Reintroduce ready() callback | expand |
Hi Bjorn, On 1/28/22 3:25 AM, Bjorn Andersson wrote: > This effectively revert '4bf8e582119e ("cpufreq: Remove ready() > callback")' (except the Chinese translation), in order to reintroduce Is there something wrong with the Chinese translation that it has to be dropped? Someone has put an effort to create it, I'd assume (and also based on online translator) that it's correct. > the ready callback. > > This is needed in order to be able to leave the thermal pressure > interrupts in the Qualcomm CPUfreq driver disabled during > initialization, so that it doesn't fire while related_cpus are still 0. If you are going to push the 2nd patch into stable tree, then you would also need this one. Regards, Lukasz
On Fri 28 Jan 00:52 PST 2022, Lukasz Luba wrote: > Hi Bjorn, > > On 1/28/22 3:25 AM, Bjorn Andersson wrote: > > This effectively revert '4bf8e582119e ("cpufreq: Remove ready() > > callback")' (except the Chinese translation), in order to reintroduce > > Is there something wrong with the Chinese translation that it has to be > dropped? Someone has put an effort to create it, I'd assume (and also > based on online translator) that it's correct. > I don't expect there to be anything wrong with the Chinese translation, unfortunately "git revert" trips on a merge conflict and I'm unfortunately not able to resolve that on my machine. > > the ready callback. > > > > This is needed in order to be able to leave the thermal pressure > > interrupts in the Qualcomm CPUfreq driver disabled during > > initialization, so that it doesn't fire while related_cpus are still 0. > > If you are going to push the 2nd patch into stable tree, then you would > also need this one. > That's correct. This patch is however not a stable change in itself, so I didn't mark it as such. I can work with the stable maintainers to let them know that this patch is needs to go along with patch 2 - although I've seen cases before where they automagically resolved that. Regards, Bjorn
On 27-01-22, 19:25, Bjorn Andersson wrote: > This effectively revert '4bf8e582119e ("cpufreq: Remove ready() > callback")' (except the Chinese translation), in order to reintroduce > the ready callback. I have added the Chinese translation back and applied both patches. Thanks.
diff --git a/Documentation/cpu-freq/cpu-drivers.rst b/Documentation/cpu-freq/cpu-drivers.rst index 3b32336a7803..d84ededb66f9 100644 --- a/Documentation/cpu-freq/cpu-drivers.rst +++ b/Documentation/cpu-freq/cpu-drivers.rst @@ -75,6 +75,9 @@ And optionally .resume - A pointer to a per-policy resume function which is called with interrupts disabled and _before_ the governor is started again. + .ready - A pointer to a per-policy ready function which is called after + the policy is fully initialized. + .attr - A pointer to a NULL-terminated list of "struct freq_attr" which allow to export values to sysfs. diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c index b8d95536ee22..80f535cc8a75 100644 --- a/drivers/cpufreq/cpufreq.c +++ b/drivers/cpufreq/cpufreq.c @@ -1518,6 +1518,10 @@ static int cpufreq_online(unsigned int cpu) kobject_uevent(&policy->kobj, KOBJ_ADD); + /* Callback for handling stuff after policy is ready */ + if (cpufreq_driver->ready) + cpufreq_driver->ready(policy); + if (cpufreq_thermal_control_enabled(cpufreq_driver)) policy->cdev = of_cpufreq_cooling_register(policy); diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index 1ab29e61b078..3522a272b74d 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h @@ -382,6 +382,9 @@ struct cpufreq_driver { int (*suspend)(struct cpufreq_policy *policy); int (*resume)(struct cpufreq_policy *policy); + /* Will be called after the driver is fully initialized */ + void (*ready)(struct cpufreq_policy *policy); + struct freq_attr **attr; /* platform specific boost support code */
This effectively revert '4bf8e582119e ("cpufreq: Remove ready() callback")' (except the Chinese translation), in order to reintroduce the ready callback. This is needed in order to be able to leave the thermal pressure interrupts in the Qualcomm CPUfreq driver disabled during initialization, so that it doesn't fire while related_cpus are still 0. Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org> --- Changes since v1: - New patch Documentation/cpu-freq/cpu-drivers.rst | 3 +++ drivers/cpufreq/cpufreq.c | 4 ++++ include/linux/cpufreq.h | 3 +++ 3 files changed, 10 insertions(+)