Thread (22 messages) 22 messages, 3 authors, 2020-04-07

Re: [v5, PATCH 4/5] cpufreq: mediatek: add opp notification for SVS support

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2020-03-11 06:06:24
Also in: linux-devicetree, linux-mediatek, linux-pm, lkml

On 10-03-20, 16:11, andrew-sh.cheng wrote:
On Tue, 2019-12-10 at 14:43 +0800, Viresh Kumar wrote:
quoted
On 09-12-19, 14:56, andrew-sh.cheng wrote:
quoted
On Wed, 2019-11-27 at 14:06 +0530, Viresh Kumar wrote:
quoted
On 26-11-19, 19:50, Andrew-sh.Cheng wrote:
quoted
+		if (!IS_ERR(opp_item))
+			dev_pm_opp_put(opp_item);
+		else
+			freq = 0;
+
What is the purpose of the above code ?
When dev_pm_opp_find_freq_ceil() doesn't find matching opp item, freq
value won't be set.
Set it as 0 for below checking
quoted
quoted
+		/* case of current opp is disabled */
+		if (freq == 0 || freq != info->opp_freq) {
+			// find an enable opp item
+			freq = 1;
+			opp_item = dev_pm_opp_find_freq_ceil(info->cpu_dev,
+							     &freq);
+			if (!IS_ERR(opp_item)) {
+				dev_pm_opp_put(opp_item);
+				policy = cpufreq_cpu_get(info->opp_cpu);
+				if (policy) {
+					cpufreq_driver_target(policy,
+						freq / 1000,
+						CPUFREQ_RELATION_L);
Why don't you simply call this instead of all the code in the else
block ?
These else code is used to check "current opp item is disabled or not".
If not, do nothing.
If current opp item is disabled, need to find an not-disabled opp item,
and set frequency to it.
Right. So this notifier helper of yours receive the opp which is getting
disabled, why don't you compare its frequency directly to see if the current OPP
is getting disabled ?
Sorry to overlook your question.
This is because when the opp is disabled,
we cannot use dev_pm_opp_get_freq() to get frequency of that opp.
There is a check:
	if (IS_ERR_OR_NULL(opp) || !opp->available) {
I think we can remove the available check here, as we are jut trying
to find frequency of an OPP we already have. Send a patch for that
please.
		pr_err("%s: Invalid parameters\n", __func__);
		return 0;
quoted
-- 
viresh

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help