question: interconnect: changes in 5.10 / imx8mq ?
Georgi Djakov
georgi.djakov at linaro.org
Tue Dec 1 07:35:34 EST 2020
On 1.12.20 13:35, Martin Kepplinger wrote:
> On 01.12.20 10:10, Georgi Djakov wrote:
>> On 12/1/20 02:36, Martin Kepplinger wrote:
>>> On 30.11.20 23:10, Martin Kepplinger wrote:
>>>> On 30.11.20 22:18, Georgi Djakov wrote:
>>>>> On 30.11.20 22:34, Martin Kepplinger wrote:
[..]
>>>
>>> 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.
>>
>>> 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.
More information about the linux-arm-kernel
mailing list