linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* drivers/cpufreq/qcom-cpufreq-hw.c:333 qcom_lmh_dcvs_notify() error: uninitialized symbol 'throttled_freq'.
@ 2022-09-19  8:50 Dan Carpenter
  0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2022-09-19  8:50 UTC (permalink / raw)
  To: kbuild, Dmitry Baryshkov
  Cc: lkp, kbuild-all, linux-kernel, Viresh Kumar, Vladimir Zapolskiy,
	Bjorn Andersson

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a335366bad1364a07f49df9da1fdfa6d411a5f39
commit: 6240aaad75e1a623872a830d13393d7aabf1052c cpufreq: qcom-hw: fix the opp entries refcounting
config: arm-randconfig-m041-20220918 (https://download.01.org/0day-ci/archive/20220918/202209181024.rhoJMAL1-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/cpufreq/qcom-cpufreq-hw.c:333 qcom_lmh_dcvs_notify() error: uninitialized symbol 'throttled_freq'.

vim +/throttled_freq +333 drivers/cpufreq/qcom-cpufreq-hw.c

275157b367f479 Thara Gopinath   2021-08-09  290  static void qcom_lmh_dcvs_notify(struct qcom_cpufreq_data *data)
275157b367f479 Thara Gopinath   2021-08-09  291  {
275157b367f479 Thara Gopinath   2021-08-09  292  	struct cpufreq_policy *policy = data->policy;
5e4f009da6be56 Dmitry Baryshkov 2022-03-26  293  	int cpu = cpumask_first(policy->related_cpus);
275157b367f479 Thara Gopinath   2021-08-09  294  	struct device *dev = get_cpu_device(cpu);
0258cb19c77deb Lukasz Luba      2021-11-09  295  	unsigned long freq_hz, throttled_freq;
275157b367f479 Thara Gopinath   2021-08-09  296  	struct dev_pm_opp *opp;
275157b367f479 Thara Gopinath   2021-08-09  297  	unsigned int freq;
275157b367f479 Thara Gopinath   2021-08-09  298  
275157b367f479 Thara Gopinath   2021-08-09  299  	/*
275157b367f479 Thara Gopinath   2021-08-09  300  	 * Get the h/w throttled frequency, normalize it using the
275157b367f479 Thara Gopinath   2021-08-09  301  	 * registered opp table and use it to calculate thermal pressure.
275157b367f479 Thara Gopinath   2021-08-09  302  	 */
275157b367f479 Thara Gopinath   2021-08-09  303  	freq = qcom_lmh_get_throttle_freq(data);
275157b367f479 Thara Gopinath   2021-08-09  304  	freq_hz = freq * HZ_PER_KHZ;
275157b367f479 Thara Gopinath   2021-08-09  305  
275157b367f479 Thara Gopinath   2021-08-09  306  	opp = dev_pm_opp_find_freq_floor(dev, &freq_hz);
275157b367f479 Thara Gopinath   2021-08-09  307  	if (IS_ERR(opp) && PTR_ERR(opp) == -ERANGE)
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  308  		opp = dev_pm_opp_find_freq_ceil(dev, &freq_hz);
275157b367f479 Thara Gopinath   2021-08-09  309  
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  310  	if (IS_ERR(opp)) {
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  311  		dev_warn(dev, "Can't find the OPP for throttling: %pe!\n", opp);

throttled_freq not set on this path.  Just return?

6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  312  	} else {
275157b367f479 Thara Gopinath   2021-08-09  313  		throttled_freq = freq_hz / HZ_PER_KHZ;
275157b367f479 Thara Gopinath   2021-08-09  314  
0258cb19c77deb Lukasz Luba      2021-11-09  315  		/* Update thermal pressure (the boost frequencies are accepted) */
0258cb19c77deb Lukasz Luba      2021-11-09  316  		arch_update_thermal_pressure(policy->related_cpus, throttled_freq);
275157b367f479 Thara Gopinath   2021-08-09  317  
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  318  		dev_pm_opp_put(opp);
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  319  	}
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  320  
275157b367f479 Thara Gopinath   2021-08-09  321  	/*
275157b367f479 Thara Gopinath   2021-08-09  322  	 * In the unlikely case policy is unregistered do not enable
275157b367f479 Thara Gopinath   2021-08-09  323  	 * polling or h/w interrupt
275157b367f479 Thara Gopinath   2021-08-09  324  	 */
275157b367f479 Thara Gopinath   2021-08-09  325  	mutex_lock(&data->throttle_lock);
275157b367f479 Thara Gopinath   2021-08-09  326  	if (data->cancel_throttle)
275157b367f479 Thara Gopinath   2021-08-09  327  		goto out;
275157b367f479 Thara Gopinath   2021-08-09  328  
275157b367f479 Thara Gopinath   2021-08-09  329  	/*
275157b367f479 Thara Gopinath   2021-08-09  330  	 * If h/w throttled frequency is higher than what cpufreq has requested
275157b367f479 Thara Gopinath   2021-08-09  331  	 * for, then stop polling and switch back to interrupt mechanism.
275157b367f479 Thara Gopinath   2021-08-09  332  	 */
275157b367f479 Thara Gopinath   2021-08-09 @333  	if (throttled_freq >= qcom_cpufreq_hw_get(cpu))


Uninitialized.

275157b367f479 Thara Gopinath   2021-08-09  334  		enable_irq(data->throttle_irq);
275157b367f479 Thara Gopinath   2021-08-09  335  	else
275157b367f479 Thara Gopinath   2021-08-09  336  		mod_delayed_work(system_highpri_wq, &data->throttle_work,
275157b367f479 Thara Gopinath   2021-08-09  337  				 msecs_to_jiffies(10));
275157b367f479 Thara Gopinath   2021-08-09  338  
275157b367f479 Thara Gopinath   2021-08-09  339  out:
275157b367f479 Thara Gopinath   2021-08-09  340  	mutex_unlock(&data->throttle_lock);
275157b367f479 Thara Gopinath   2021-08-09  341  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


^ permalink raw reply	[flat|nested] 2+ messages in thread

* drivers/cpufreq/qcom-cpufreq-hw.c:333 qcom_lmh_dcvs_notify() error: uninitialized symbol 'throttled_freq'.
@ 2022-06-06 11:13 Dan Carpenter
  0 siblings, 0 replies; 2+ messages in thread
From: Dan Carpenter @ 2022-06-06 11:13 UTC (permalink / raw)
  To: kbuild, Dmitry Baryshkov
  Cc: lkp, kbuild-all, linux-kernel, Viresh Kumar, Vladimir Zapolskiy,
	Bjorn Andersson

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   2a5699b0de4ee623d77f183c8e8e62691bd60a70
commit: 6240aaad75e1a623872a830d13393d7aabf1052c cpufreq: qcom-hw: fix the opp entries refcounting
config: arm64-randconfig-m031-20220531 (https://download.01.org/0day-ci/archive/20220601/202206010736.NcY0Y2fK-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 11.3.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/cpufreq/qcom-cpufreq-hw.c:333 qcom_lmh_dcvs_notify() error: uninitialized symbol 'throttled_freq'.

vim +/throttled_freq +333 drivers/cpufreq/qcom-cpufreq-hw.c

275157b367f479 Thara Gopinath   2021-08-09  290  static void qcom_lmh_dcvs_notify(struct qcom_cpufreq_data *data)
275157b367f479 Thara Gopinath   2021-08-09  291  {
275157b367f479 Thara Gopinath   2021-08-09  292  	struct cpufreq_policy *policy = data->policy;
5e4f009da6be56 Dmitry Baryshkov 2022-03-26  293  	int cpu = cpumask_first(policy->related_cpus);
275157b367f479 Thara Gopinath   2021-08-09  294  	struct device *dev = get_cpu_device(cpu);
0258cb19c77deb Lukasz Luba      2021-11-09  295  	unsigned long freq_hz, throttled_freq;
275157b367f479 Thara Gopinath   2021-08-09  296  	struct dev_pm_opp *opp;
275157b367f479 Thara Gopinath   2021-08-09  297  	unsigned int freq;
275157b367f479 Thara Gopinath   2021-08-09  298  
275157b367f479 Thara Gopinath   2021-08-09  299  	/*
275157b367f479 Thara Gopinath   2021-08-09  300  	 * Get the h/w throttled frequency, normalize it using the
275157b367f479 Thara Gopinath   2021-08-09  301  	 * registered opp table and use it to calculate thermal pressure.
275157b367f479 Thara Gopinath   2021-08-09  302  	 */
275157b367f479 Thara Gopinath   2021-08-09  303  	freq = qcom_lmh_get_throttle_freq(data);
275157b367f479 Thara Gopinath   2021-08-09  304  	freq_hz = freq * HZ_PER_KHZ;
275157b367f479 Thara Gopinath   2021-08-09  305  
275157b367f479 Thara Gopinath   2021-08-09  306  	opp = dev_pm_opp_find_freq_floor(dev, &freq_hz);
275157b367f479 Thara Gopinath   2021-08-09  307  	if (IS_ERR(opp) && PTR_ERR(opp) == -ERANGE)
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  308  		opp = dev_pm_opp_find_freq_ceil(dev, &freq_hz);
275157b367f479 Thara Gopinath   2021-08-09  309  
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  310  	if (IS_ERR(opp)) {
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  311  		dev_warn(dev, "Can't find the OPP for throttling: %pe!\n", opp);

throttled_freq not initialized on this path

6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  312  	} else {
275157b367f479 Thara Gopinath   2021-08-09  313  		throttled_freq = freq_hz / HZ_PER_KHZ;
275157b367f479 Thara Gopinath   2021-08-09  314  
0258cb19c77deb Lukasz Luba      2021-11-09  315  		/* Update thermal pressure (the boost frequencies are accepted) */
0258cb19c77deb Lukasz Luba      2021-11-09  316  		arch_update_thermal_pressure(policy->related_cpus, throttled_freq);
275157b367f479 Thara Gopinath   2021-08-09  317  
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  318  		dev_pm_opp_put(opp);
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  319  	}
6240aaad75e1a6 Dmitry Baryshkov 2022-03-26  320  
275157b367f479 Thara Gopinath   2021-08-09  321  	/*
275157b367f479 Thara Gopinath   2021-08-09  322  	 * In the unlikely case policy is unregistered do not enable
275157b367f479 Thara Gopinath   2021-08-09  323  	 * polling or h/w interrupt
275157b367f479 Thara Gopinath   2021-08-09  324  	 */
275157b367f479 Thara Gopinath   2021-08-09  325  	mutex_lock(&data->throttle_lock);
275157b367f479 Thara Gopinath   2021-08-09  326  	if (data->cancel_throttle)
275157b367f479 Thara Gopinath   2021-08-09  327  		goto out;
275157b367f479 Thara Gopinath   2021-08-09  328  
275157b367f479 Thara Gopinath   2021-08-09  329  	/*
275157b367f479 Thara Gopinath   2021-08-09  330  	 * If h/w throttled frequency is higher than what cpufreq has requested
275157b367f479 Thara Gopinath   2021-08-09  331  	 * for, then stop polling and switch back to interrupt mechanism.
275157b367f479 Thara Gopinath   2021-08-09  332  	 */
275157b367f479 Thara Gopinath   2021-08-09 @333  	if (throttled_freq >= qcom_cpufreq_hw_get(cpu))
                                                            ^^^^^^^^^^^^^^

275157b367f479 Thara Gopinath   2021-08-09  334  		enable_irq(data->throttle_irq);
275157b367f479 Thara Gopinath   2021-08-09  335  	else
275157b367f479 Thara Gopinath   2021-08-09  336  		mod_delayed_work(system_highpri_wq, &data->throttle_work,
275157b367f479 Thara Gopinath   2021-08-09  337  				 msecs_to_jiffies(10));
275157b367f479 Thara Gopinath   2021-08-09  338  
275157b367f479 Thara Gopinath   2021-08-09  339  out:
275157b367f479 Thara Gopinath   2021-08-09  340  	mutex_unlock(&data->throttle_lock);
275157b367f479 Thara Gopinath   2021-08-09  341  }

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-09-19  8:52 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-19  8:50 drivers/cpufreq/qcom-cpufreq-hw.c:333 qcom_lmh_dcvs_notify() error: uninitialized symbol 'throttled_freq' Dan Carpenter
  -- strict thread matches above, loose matches on Subject: below --
2022-06-06 11:13 Dan Carpenter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).