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