On Friday, May 8, 2020 11:11:02 AM CEST Xiongfeng Wang wrote: > When I try to add SW BOOST support for CPPC, I got the following error: > cpufreq: cpufreq_boost_trigger_state: Cannot enable BOOST > cpufreq: store_boost: Cannot enable BOOST! > > It is because return value 1 of 'freq_qos_update_request()' means the > effective constraint value has changed, not a error code on failures. > But for 'cpufreq_driver.set_boost()', a nonzero return value means > failure. So change 'ret' to zero when 'freq_qos_update_request()' > returns a positive value. > > Signed-off-by: Xiongfeng Wang <wangxiongfe...@huawei.com> > --- > drivers/cpufreq/cpufreq.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c > index 4adac3a..475fb1b 100644 > --- a/drivers/cpufreq/cpufreq.c > +++ b/drivers/cpufreq/cpufreq.c > @@ -2522,6 +2522,8 @@ static int cpufreq_boost_set_sw(int state) > ret = freq_qos_update_request(policy->max_freq_req, > policy->max); > if (ret < 0) > break; > + else > + ret = 0; > } > > return ret; >
I would change cpufreq_boost_trigger_state() to take the 1 into account properly instead. Thanks!