From: Tudor Ambarus <tudor.ambarus@linaro.org>
To: Sam Protsenko <semen.protsenko@linaro.org>
Cc: peter.griffin@linaro.org, krzysztof.kozlowski+dt@linaro.org,
gregkh@linuxfoundation.org, mturquette@baylibre.com,
sboyd@kernel.org, robh+dt@kernel.org, conor+dt@kernel.org,
andi.shyti@kernel.org, alim.akhtar@samsung.com,
jirislaby@kernel.org, s.nawrocki@samsung.com,
tomasz.figa@gmail.com, cw00.choi@samsung.com,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-clk@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-i2c@vger.kernel.org, linux-serial@vger.kernel.org,
andre.draszik@linaro.org, kernel-team@android.com,
willmcvicker@google.com
Subject: Re: [PATCH v3 07/12] clk: samsung: gs101: add support for cmu_peric0
Date: Wed, 17 Jan 2024 14:49:07 +0000 [thread overview]
Message-ID: <f394e372-dbfd-4fd5-b5c8-23c383cb6cf2@linaro.org> (raw)
In-Reply-To: <CAPLW+4=y12fBf47v_HKfBdHTsQJfWo2cwBuFosUKo3xPBqcKJw@mail.gmail.com>
Hi, Sam,
Thanks for reviewing the series!
On 1/16/24 17:42, Sam Protsenko wrote:
cut
>> Few clocks are marked as critical because when either of them is
>> disabled, the system hangs even if their clock parents are enabled.
>>
>> Reviewed-by: Peter Griffin <peter.griffin@linaro.org>
>> Signed-off-by: Tudor Ambarus <tudor.ambarus@linaro.org>
>> ---
cut
>>
>> diff --git a/drivers/clk/samsung/clk-gs101.c b/drivers/clk/samsung/clk-gs101.c
>> index 782993951fff..f3f0f5feb28d 100644
>> --- a/drivers/clk/samsung/clk-gs101.c
>> +++ b/drivers/clk/samsung/clk-gs101.c
cut
>> +static const struct samsung_gate_clock peric0_gate_clks[] __initconst = {
>> + /* Disabling this clock makes the system hang. Mark the clock as critical. */
>> + GATE(CLK_GOUT_PERIC0_PERIC0_CMU_PERIC0_PCLK,
>> + "gout_peric0_peric0_cmu_peric0_pclk", "mout_peric0_bus_user",
>> + CLK_CON_GAT_CLK_BLK_PERIC0_UID_PERIC0_CMU_PERIC0_IPCLKPORT_PCLK,
>> + 21, CLK_IS_CRITICAL, 0),
> Why not just CLK_IGNORE_UNUSED? As I understand this gate clock can be
When either of the clocks that I marked as critical is disabled, the
system hangs, even if their clock parent is enabled. I tested this by
enabling the clock debugfs with write permissions. I prepared-enabled
the parent clock to increase their user count so that when the child
gets disabled to not disable the parent as well. When disabling the
child the system hung, even if its parent was enabled. Thus I considered
that the child is critical. I mentioned this in the commit message as
well. Please tell if get this wrong.
> used to disable PCLK (bus clock) provided to the whole CMU_PERIC0.
> Aren't there any valid cases for disabling this clock, like during
> some PM transitions? For Exynos850 clock driver I marked all clocks of
They aren't, because if one switches off any of these clocks that are
marked as critical, the system hangs and it will not be able to resume.
> this kind as CLK_IGNORE_UNUSED and it works fine. In other words: I'd
> say CLK_IS_CRITICAL flag is more "strong" than CLK_IGNORE_UNUSED, and
> requires better and more specific explanation, to make sure we are not
> abusing it. And I'm not sure this is the case.
Is the explanation from the commit message enough?
>
> The same goes for the rest of clocks marked as CLK_IS_CRITICAL in this
> patch. Please check if maybe using CLK_IGNORE_UNUSED makes sense for
> any of those as well.
I've already checked and all behave as described above.
Thanks,
ta
next prev parent reply other threads:[~2024-01-17 14:49 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-09 12:58 [PATCH v3 00/12] GS101 Oriole: CMU_PERIC0 support and USI updates Tudor Ambarus
2024-01-09 12:58 ` [PATCH v3 01/12] dt-bindings: clock: google,gs101-clock: add PERIC0 clock management unit Tudor Ambarus
2024-01-16 15:50 ` Rob Herring
2024-01-09 12:58 ` [PATCH v3 02/12] dt-bindings: i2c: exynos5: add google,gs101-hsi2c compatible Tudor Ambarus
2024-01-10 8:02 ` Krzysztof Kozlowski
2024-01-09 12:58 ` [PATCH v3 03/12] dt-bindings: serial: samsung: do not allow reg-io-width for gs101 Tudor Ambarus
2024-01-10 8:06 ` Krzysztof Kozlowski
2024-01-10 9:04 ` Tudor Ambarus
2024-01-16 18:11 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 04/12] tty: serial: samsung: prepare for different IO types Tudor Ambarus
2024-01-10 8:07 ` Krzysztof Kozlowski
2024-01-16 17:50 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 05/12] tty: serial: samsung: set UPIO_MEM32 iotype for gs101 Tudor Ambarus
2024-01-10 8:08 ` Krzysztof Kozlowski
2024-01-16 18:10 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 06/12] tty: serial: samsung: add gs101 earlycon support Tudor Ambarus
2024-01-10 8:08 ` Krzysztof Kozlowski
2024-01-16 17:51 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 07/12] clk: samsung: gs101: add support for cmu_peric0 Tudor Ambarus
2024-01-16 17:42 ` Sam Protsenko
2024-01-17 14:49 ` Tudor Ambarus [this message]
2024-01-17 16:11 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 08/12] arm64: dts: exynos: gs101: remove reg-io-width from serial Tudor Ambarus
2024-01-16 17:57 ` Sam Protsenko
2024-01-17 14:59 ` Tudor Ambarus
2024-01-09 12:58 ` [PATCH v3 09/12] arm64: dts: exynos: gs101: enable cmu-peric0 clock controller Tudor Ambarus
2024-01-09 12:58 ` [PATCH v3 10/12] arm64: dts: exynos: gs101: update USI UART to use peric0 clocks Tudor Ambarus
2024-01-16 17:58 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 11/12] arm64: dts: exynos: gs101: define USI8 with I2C configuration Tudor Ambarus
2024-01-16 18:03 ` Sam Protsenko
2024-01-17 15:08 ` Tudor Ambarus
2024-01-17 16:12 ` Sam Protsenko
2024-01-09 12:58 ` [PATCH v3 12/12] arm64: dts: exynos: gs101: enable eeprom on gs101-oriole Tudor Ambarus
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=f394e372-dbfd-4fd5-b5c8-23c383cb6cf2@linaro.org \
--to=tudor.ambarus@linaro.org \
--cc=alim.akhtar@samsung.com \
--cc=andi.shyti@kernel.org \
--cc=andre.draszik@linaro.org \
--cc=conor+dt@kernel.org \
--cc=cw00.choi@samsung.com \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=kernel-team@android.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=peter.griffin@linaro.org \
--cc=robh+dt@kernel.org \
--cc=s.nawrocki@samsung.com \
--cc=sboyd@kernel.org \
--cc=semen.protsenko@linaro.org \
--cc=tomasz.figa@gmail.com \
--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