* [PATCH v2] clk: meson: meson8b: mark fclk_div2 gate clocks as CLK_IS_CRITICAL
@ 2018-05-20 17:16 Martin Blumenstingl
2018-05-21 8:47 ` Jerome Brunet
0 siblings, 1 reply; 2+ messages in thread
From: Martin Blumenstingl @ 2018-05-20 17:16 UTC (permalink / raw)
To: linus-amlogic
Until commit 05f814402d6174 ("clk: meson: add fdiv clock gates") we
relied on the bootloader to enable the fclk_div clock gates. It turns
out that our clock tree is incomplete at least on Meson8b (tested with
an Odroid-C1, which uses an RGMII PHY) because after the mentioned
commit Ethernet is not working anymore (no RX/TX activity can be seen).
At the same time Ethernet was still working on Meson8m2 with a RMII PHY.
Testing has shown that as soon as "fclk_div2" is disabled Ethernet stops
working on Odroid-C1. Unfortunately it's currently not clear what the
Ethernet controller IP block uses the fclk_div2 clock for. Mark the
clock as CLK_IS_CRITICAL to keep it enabled (as it's already enabled by
most bootloaders by default, which is why we didn't notice it before).
Fixes: 05f814402d6174 ("clk: meson: add fdiv clock gates")
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Tested-by: Kevin Hilman <khilman@baylibre.com>
---
changes since v1 at [0]:
- only fclk_div2 has to be kept running (so the commit message and the
patch itself are updated)
- added a FIXME comment to the code
[0] http://lists.infradead.org/pipermail/linux-amlogic/2018-May/007272.html
drivers/clk/meson/meson8b.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/clk/meson/meson8b.c b/drivers/clk/meson/meson8b.c
index 40068c1b5e80..415ba1d8a904 100644
--- a/drivers/clk/meson/meson8b.c
+++ b/drivers/clk/meson/meson8b.c
@@ -246,6 +246,13 @@ static struct clk_regmap meson8b_fclk_div2 = {
.ops = &clk_regmap_gate_ops,
.parent_names = (const char *[]){ "fclk_div2_div" },
.num_parents = 1,
+ /*
+ * FIXME: Ethernet with a RGMII PHYs is not working if
+ * fclk_div2 is disabled. it is currently unclear why this
+ * is. keep it enabled until the Ethernet driver knows how
+ * to manage this clock.
+ */
+ .flags = CLK_IS_CRITICAL,
},
};
--
2.17.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [PATCH v2] clk: meson: meson8b: mark fclk_div2 gate clocks as CLK_IS_CRITICAL
2018-05-20 17:16 [PATCH v2] clk: meson: meson8b: mark fclk_div2 gate clocks as CLK_IS_CRITICAL Martin Blumenstingl
@ 2018-05-21 8:47 ` Jerome Brunet
0 siblings, 0 replies; 2+ messages in thread
From: Jerome Brunet @ 2018-05-21 8:47 UTC (permalink / raw)
To: linus-amlogic
On Sun, 2018-05-20 at 19:16 +0200, Martin Blumenstingl wrote:
> Until commit 05f814402d6174 ("clk: meson: add fdiv clock gates") we
> relied on the bootloader to enable the fclk_div clock gates. It turns
> out that our clock tree is incomplete at least on Meson8b (tested with
> an Odroid-C1, which uses an RGMII PHY) because after the mentioned
> commit Ethernet is not working anymore (no RX/TX activity can be seen).
> At the same time Ethernet was still working on Meson8m2 with a RMII PHY.
>
> Testing has shown that as soon as "fclk_div2" is disabled Ethernet stops
> working on Odroid-C1. Unfortunately it's currently not clear what the
> Ethernet controller IP block uses the fclk_div2 clock for. Mark the
> clock as CLK_IS_CRITICAL to keep it enabled (as it's already enabled by
> most bootloaders by default, which is why we didn't notice it before).
>
> Fixes: 05f814402d6174 ("clk: meson: add fdiv clock gates")
> Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> Tested-by: Kevin Hilman <khilman@baylibre.com>
> ---
> changes since v1 at [0]:
> - only fclk_div2 has to be kept running (so the commit message and the
> patch itself are updated)
> - added a FIXME comment to the code
>
> [0] http://lists.infradead.org/pipermail/linux-amlogic/2018-May/007272.html
>
> drivers/clk/meson/meson8b.c | 7 +++++++
> 1 file changed, 7 insertions(+)
Added :
Cc: stable at vger.kernel.org
and applied. Thx Martin
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-05-21 8:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-20 17:16 [PATCH v2] clk: meson: meson8b: mark fclk_div2 gate clocks as CLK_IS_CRITICAL Martin Blumenstingl
2018-05-21 8:47 ` Jerome Brunet
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox