From: Tudor Ambarus <tudor.ambarus@linaro.org>
To: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
peter.griffin@linaro.org
Cc: alim.akhtar@samsung.com, linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
andre.draszik@linaro.org, willmcvicker@google.com,
kernel-team@android.com, s.nawrocki@samsung.com,
cw00.choi@samsung.com, mturquette@baylibre.com, sboyd@kernel.org,
semen.protsenko@linaro.org, linux-clk@vger.kernel.org,
jaewon02.kim@samsung.com
Subject: Re: [PATCH v2 1/3] clk: samsung: introduce nMUX for MUX clks that can reparented
Date: Thu, 28 Mar 2024 11:14:19 +0000 [thread overview]
Message-ID: <5e790f4a-0c31-49f7-8e0d-b87d592f2835@linaro.org> (raw)
In-Reply-To: <5af43398-70fc-4598-9453-6a52d758975e@linaro.org>
On 3/28/24 09:56, Krzysztof Kozlowski wrote:
> On 26/03/2024 18:28, Tudor Ambarus wrote:
>> All samsung MUX clocks that are defined with MUX() set the
>> CLK_SET_RATE_NO_REPARENT flag in __MUX(), which prevents MUXes to be
>> reparented during clk_set_rate().
>>
>> Introduce nMUX() for MUX clocks that can be reparented. One user of
>> nMUX() will be GS101. GS101 defines MUX clocks that are dedicated for
>> each instance of an IP (see MUX USI). The reparenting of these MUX clocks
>> will not affect other instances of the same IP or different IPs
>> altogether.
>>
>> Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
>> ---
>> drivers/clk/samsung/clk.h | 20 ++++++++++++++++++++
>> 1 file changed, 20 insertions(+)
>>
>> diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h
>> index a70bd7cce39f..01f58b7686db 100644
>> --- a/drivers/clk/samsung/clk.h
>> +++ b/drivers/clk/samsung/clk.h
>> @@ -146,6 +146,26 @@ struct samsung_mux_clock {
>> #define MUX_F(_id, cname, pnames, o, s, w, f, mf) \
>> __MUX(_id, cname, pnames, o, s, w, f, mf)
>>
>> +/* Used by MUX clocks where reparenting is allowed. */
>
> ...where reparenting on clock rate change is allowed
>
> Because otherwise this suggest muxes cannot change :)
Ok.
>
> No need to resend just for this, I can fix it while applying. Still
> waiting for some review, till EOD.
>
Andre' suggested I can avoid defining __nMUX() by removing the
CLK_SET_RATE_NO_REPARENT flag from __MUX() and instead add the flag in
the MUX() and MUX_F() definitions. Something like this:
diff --git a/drivers/clk/samsung/clk.h b/drivers/clk/samsung/clk.h
index a70bd7cce39f..fb06caa71f0a 100644
--- a/drivers/clk/samsung/clk.h
+++ b/drivers/clk/samsung/clk.h
@@ -133,7 +133,7 @@ struct samsung_mux_clock {
.name = cname, \
.parent_names = pnames, \
.num_parents = ARRAY_SIZE(pnames), \
- .flags = (f) | CLK_SET_RATE_NO_REPARENT, \
+ .flags = f, \
.offset = o, \
.shift = s, \
.width = w, \
@@ -141,9 +141,16 @@ struct samsung_mux_clock {
}
#define MUX(_id, cname, pnames, o, s, w) \
- __MUX(_id, cname, pnames, o, s, w, 0, 0)
+ __MUX(_id, cname, pnames, o, s, w, CLK_SET_RATE_NO_REPARENT, 0)
#define MUX_F(_id, cname, pnames, o, s, w, f, mf) \
+ __MUX(_id, cname, pnames, o, s, w, (f) |
CLK_SET_RATE_NO_REPARENT, mf)
+
+/* Used by MUX clocks where reparenting on clock rate change is allowed. */
+#define nMUX(_id, cname, pnames, o, s, w) \
+ __MUX(_id, cname, pnames, o, s, w, 0, 0)
+
+#define nMUX_F(_id, cname, pnames, o, s, w, f, mf) \
__MUX(_id, cname, pnames, o, s, w, f, mf)
I find the suggestion fine. Will submit v3 in a min, addressing all the
comments.
Thanks,
ta
next prev parent reply other threads:[~2024-03-28 11:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-26 17:28 [PATCH v2 0/3] clk: samsung: introduce nMUX to reparent MUX clocks Tudor Ambarus
2024-03-26 17:28 ` [PATCH v2 1/3] clk: samsung: introduce nMUX for MUX clks that can reparented Tudor Ambarus
2024-03-26 17:43 ` André Draszik
2024-03-27 8:09 ` Tudor Ambarus
2024-03-28 9:56 ` Krzysztof Kozlowski
2024-03-28 11:14 ` Tudor Ambarus [this message]
2024-03-26 17:28 ` [PATCH v2 2/3] clk: samsung: gs101: propagate PERIC1 USI SPI clock rate Tudor Ambarus
2024-03-28 11:25 ` André Draszik
2024-03-28 11:33 ` Peter Griffin
2024-03-26 17:28 ` [PATCH v2 3/3] clk: samsung: gs101: propagate PERIC0 " Tudor Ambarus
2024-03-28 11:25 ` André Draszik
2024-03-28 11:36 ` Peter Griffin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5e790f4a-0c31-49f7-8e0d-b87d592f2835@linaro.org \
--to=tudor.ambarus@linaro.org \
--cc=alim.akhtar@samsung.com \
--cc=andre.draszik@linaro.org \
--cc=cw00.choi@samsung.com \
--cc=jaewon02.kim@samsung.com \
--cc=kernel-team@android.com \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=peter.griffin@linaro.org \
--cc=s.nawrocki@samsung.com \
--cc=sboyd@kernel.org \
--cc=semen.protsenko@linaro.org \
--cc=willmcvicker@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®