Thread (7 messages) 7 messages, 2 authors, 2020-12-01

Re: question: interconnect: changes in 5.10 / imx8mq ?

From: Georgi Djakov <hidden>
Date: 2020-12-01 12:36:23
Also in: linux-clk, linux-pm

On 1.12.20 13:35, Martin Kepplinger wrote:
On 01.12.20 10:10, Georgi Djakov wrote:
quoted
On 12/1/20 02:36, Martin Kepplinger wrote:
quoted
On 30.11.20 23:10, Martin Kepplinger wrote:
quoted
On 30.11.20 22:18, Georgi Djakov wrote:
quoted
On 30.11.20 22:34, Martin Kepplinger wrote:
[..]
quoted
quoted
but there follows the next problem. it looks imx8m specific:

On the librem5-devkit where I initially tested, switching works. FYI 
we have the 2 frequencies:
https://source.puri.sm/martin.kepplinger/linux-next/-/blob/5.10-rc5/librem5__integration/arch/arm64/boot/dts/freescale/imx8mq-librem5-devkit.dts#L283 

(the opp table also to be submitted to mainline soon)

On the Librem5 itself (different SoC revision, different frequencies 
available) it fails:
https://source.puri.sm/martin.kepplinger/linux-next/-/blob/5.10-rc5/librem5__integration/arch/arm64/boot/dts/freescale/imx8mq-librem5.dtsi#L387 


When I "request 0" (or disable the icc path) in order to switch to 
25Mhz I now get:

[  129.391755] imx8m-ddrc-devfreq 3d400000.memory-controller: failed 
to set dram_apb parent: -16
[  129.391959] imx8m-ddrc-devfreq 3d400000.memory-controller: ddrc 
failed freq switch to 25000000 from 800000000: error -16. now at 
25000000
[  129.406133] imx8m-ddrc-devfreq 3d400000.memory-controller: failed 
to update frequency from PM QoS (-16)
I am not familiar with the clock tree of this platform, but it looks 
like -EBUSY is returned when the we are trying to change the parent of 
the clock.
quoted
and the system hangs at this point.

I'm not aware of any changes we do in our tree in that area to mainline.

Only removing all but one frequency in the opp node, leaving only 
opp-800M, "works around" (not really) the error (just mentioning as a 
data point if that helps). I hope that's not misleading - no idea 
where exactly the problem lies.
When there is only a single frequency, then probably we do not try to 
change the
mux settings and that's why it does not hang. Maybe check the clock 
tree and if
all needed clocks and branches are enabled.
thanks for taking the time here. I don't see notable changes to the 
clock tree compared to 5.9. Specifically, "dram_apb" where reparenting 
fails, is running on 5.10 too.
It could be a DT change or something else.. Maybe try running git bisect
and see if it gives any clue.

Thanks,
Georgi
It's strange that I see this error on imx8mq-librem5 but not on 
imx8mq-librem5-devkit.
_______________________________________________
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