Thread (15 messages) 15 messages, 2 authors, 2015-10-07

[PATCH v3 1/5] clk: Add a basic multiplier clock

From: Stephen Boyd <hidden>
Date: 2015-10-05 18:09:29
Also in: linux-clk

On 10/05, Maxime Ripard wrote:
Hi,

On Fri, Oct 02, 2015 at 01:43:08PM -0700, Stephen Boyd wrote:
quoted
On 09/29, Maxime Ripard wrote:
quoted
+
+	if (!val && mult->flags & CLK_MULTIPLIER_ZERO_BYPASS)
+		val = 1;
+	
+	return parent_rate * val;
+}
+
+static bool __is_best_rate(unsigned long rate, unsigned long new,
+			   unsigned long best, unsigned long flags)
+{
+	if (flags & CLK_MULTIPLIER_ROUND_CLOSEST)
Is the only difference in this function vs the divider one that
flag? Maybe we should make this function generic to the framework
and pass a flag indicating closest or not.
Actually, the logic is also reversed.

The divider driver will always try to find some rate that is higher
than the one we already have, without going above than the one
requested.

Here, we're tring to be lower than the best rate, without going below
the requested rate.
So then a tri-state flag that indicates, closest, less than,
greater than?
quoted
quoted
+	unsigned long val;
+
+	if (mult->lock)
+		spin_lock_irqsave(mult->lock, flags);
This needs the same "trick" that we did in the generic clock
types to avoid sparse warnings.
The __acquire call ?
Yes.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help