[PATCH 06/13] ARM: dts: omap4-panda-common: Add CMA pools and enable IPU & DSP
Guillaume Tucker
guillaume.tucker at collabora.com
Fri Aug 14 12:33:31 EDT 2020
On 14/08/2020 16:26, Suman Anna wrote:
> On 8/14/20 9:32 AM, Guillaume Tucker wrote:
>> On 12/08/2020 06:31, Guillaume Tucker wrote:
>>> On 10/07/2020 00:19, Suman Anna wrote:
>>>> The CMA reserved memory nodes have been added for the IPU and DSP
>>>> remoteproc devices on all the OMAP4-based Panda boards. These nodes
>>>> are assigned to the respective rproc device nodes, and both the
>>>> IPU and DSP remote processors are enabled for all these boards.
>>>>
>>>> The current CMA pools and sizes are defined statically for each device.
>>>> The starting addresses are fixed to meet current dependencies on the
>>>> remote processor firmwares, and will go away when the remote-side
>>>> code has been improved to gather this information runtime during
>>>> its initialization.
>>>>
>>>> An associated pair of the rproc node and its CMA node can be disabled
>>>> later on if there is no use-case defined to use that remote processor.
>>>>
>>>> Signed-off-by: Suman Anna <s-anna at ti.com>
>>>> ---
>>>> arch/arm/boot/dts/omap4-panda-common.dtsi | 30 +++++++++++++++++++++++
>>>> 1 file changed, 30 insertions(+)
>>>>
>>>> diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
>>>> index 55ea8b6189af..ef79028fc95f 100644
>>>> --- a/arch/arm/boot/dts/omap4-panda-common.dtsi
>>>> +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
>>>> @@ -12,6 +12,26 @@ memory at 80000000 {
>>>> reg = <0x80000000 0x40000000>; /* 1 GB */
>>>> };
>>>>
>>>> + reserved-memory {
>>>> + #address-cells = <1>;
>>>> + #size-cells = <1>;
>>>> + ranges;
>>>> +
>>>> + dsp_memory_region: dsp-memory at 98000000 {
>>>> + compatible = "shared-dma-pool";
>>>> + reg = <0x98000000 0x800000>;
>>>> + reusable;
>>>> + status = "okay";
>>>> + };
>>>> +
>>>> + ipu_memory_region: ipu-memory at 98800000 {
>>>> + compatible = "shared-dma-pool";
>>>> + reg = <0x98800000 0x7000000>;
>>>> + reusable;
>>>> + status = "okay";
>>>> + };
>>>> + };
>>>> +
>>>> chosen {
>>>> stdout-path = &uart3;
>>>> };
>>>> @@ -571,3 +591,13 @@ hdmi_out: endpoint {
>>>> };
>>>> };
>>>> };
>>>> +
>>>> +&dsp {
>>>> + status = "okay";
>>>> + memory-region = <&dsp_memory_region>;
>>>> +};
>>>> +
>>>> +&ipu {
>>>> + status = "okay";
>>>> + memory-region = <&ipu_memory_region>;
>>>> +};
>>>>
>>>
>>> This appears to be causing some BUG alert messages:
>>>
>>> BUG: Bad page state in process swapper/0 pfn:9c801
>>>
>>> as reported on kernelci.org:
>>>
>>> https://kernelci.org/test/case/id/5f326c6661360154c452c1c9/
>>>
>>> I've run a bisection and it landed on this commit. If you fix it
>>> with another patch, please add:
>>>
>>> Reported-by: "kernelci.org bot" <bot at kernelci.org>
>>
>>
>> This was bisected again automatically on mainline, see the report
>> below. Is anyone available to take a look, or could the patch be
>> reverted?
>
> Thanks Guillaume for the report. I will take a look at this today. It is strange
> that the bisect is pointing to this commit as reserving a CMA pool and assigning
> it to a device should be fairly normal usage. Is the issue seen only on OMAP4
> Pandaboard and not any of the other OMAP5 uEVM or DRA7xx/AM57xx EVMS?
Thanks for taking a look.
In the extended OMAP family, aside from the Panda only the
BeagleBone Black and BeagleBoard xM are being tested on
kernelci.org and they don't show this problem:
https://kernelci.org/soc/omap2/job/next/kernel/next-20200814/plan/baseline/
Thanks,
Guillaume
>> On 14/08/2020 15:22, KernelCI bot wrote:
>>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>>> * This automated bisection report was sent to you on the basis *
>>> * that you may be involved with the breaking commit it has *
>>> * found. No manual investigation has been done to verify it, *
>>> * and the root cause of the problem may be somewhere else. *
>>> * *
>>> * If you do send a fix, please include this trailer: *
>>> * Reported-by: "kernelci.org bot" <bot at kernelci.org> *
>>> * *
>>> * Hope this helps! *
>>> * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
>>>
>>> mainline/master bisection: baseline.dmesg.alert on panda
>>>
>>> Summary:
>>> Start: a1d21081a60d Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
>>> Plain log: https://storage.kernelci.org/mainline/master/v5.8-13249-ga1d21081a60d/arm/multi_v7_defconfig+CONFIG_SMP=n/gcc-8/lab-collabora/baseline-omap4-panda.txt
>>> HTML log: https://storage.kernelci.org/mainline/master/v5.8-13249-ga1d21081a60d/arm/multi_v7_defconfig+CONFIG_SMP=n/gcc-8/lab-collabora/baseline-omap4-panda.html
>>> Result: b4778e787fe9 ARM: dts: omap4-panda-common: Add CMA pools and enable IPU & DSP
>>>
>>> Checks:
>>> revert: PASS
>>> verify: PASS
>>>
>>> Parameters:
>>> Tree: mainline
>>> URL: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>>> Branch: master
>>> Target: panda
>>> CPU arch: arm
>>> Lab: lab-collabora
>>> Compiler: gcc-8
>>> Config: multi_v7_defconfig+CONFIG_SMP=n
>>> Test case: baseline.dmesg.alert
>>>
>>> Breaking commit found:
>>>
>>> -------------------------------------------------------------------------------
>>> commit b4778e787fe9e82dcbff8150ebfbe6fea0b6c4e1
>>> Author: Suman Anna <s-anna at ti.com>
>>> Date: Thu Jul 9 18:19:47 2020 -0500
>>>
>>> ARM: dts: omap4-panda-common: Add CMA pools and enable IPU & DSP
>>>
>>> The CMA reserved memory nodes have been added for the IPU and DSP
>>> remoteproc devices on all the OMAP4-based Panda boards. These nodes
>>> are assigned to the respective rproc device nodes, and both the
>>> IPU and DSP remote processors are enabled for all these boards.
>>>
>>> The current CMA pools and sizes are defined statically for each device.
>>> The starting addresses are fixed to meet current dependencies on the
>>> remote processor firmwares, and will go away when the remote-side
>>> code has been improved to gather this information runtime during
>>> its initialization.
>>>
>>> An associated pair of the rproc node and its CMA node can be disabled
>>> later on if there is no use-case defined to use that remote processor.
>>>
>>> Signed-off-by: Suman Anna <s-anna at ti.com>
>>> Signed-off-by: Tony Lindgren <tony at atomide.com>
>>>
>>> diff --git a/arch/arm/boot/dts/omap4-panda-common.dtsi b/arch/arm/boot/dts/omap4-panda-common.dtsi
>>> index 55ea8b6189af..ef79028fc95f 100644
>>> --- a/arch/arm/boot/dts/omap4-panda-common.dtsi
>>> +++ b/arch/arm/boot/dts/omap4-panda-common.dtsi
>>> @@ -12,6 +12,26 @@
>>> reg = <0x80000000 0x40000000>; /* 1 GB */
>>> };
>>>
>>> + reserved-memory {
>>> + #address-cells = <1>;
>>> + #size-cells = <1>;
>>> + ranges;
>>> +
>>> + dsp_memory_region: dsp-memory at 98000000 {
>>> + compatible = "shared-dma-pool";
>>> + reg = <0x98000000 0x800000>;
>>> + reusable;
>>> + status = "okay";
>>> + };
>>> +
>>> + ipu_memory_region: ipu-memory at 98800000 {
>>> + compatible = "shared-dma-pool";
>>> + reg = <0x98800000 0x7000000>;
>>> + reusable;
>>> + status = "okay";
>>> + };
>>> + };
>>> +
>>> chosen {
>>> stdout-path = &uart3;
>>> };
>>> @@ -571,3 +591,13 @@
>>> };
>>> };
>>> };
>>> +
>>> +&dsp {
>>> + status = "okay";
>>> + memory-region = <&dsp_memory_region>;
>>> +};
>>> +
>>> +&ipu {
>>> + status = "okay";
>>> + memory-region = <&ipu_memory_region>;
>>> +};
>>> -------------------------------------------------------------------------------
>>>
>>>
>>> Git bisection log:
>>>
>>> -------------------------------------------------------------------------------
>>> git bisect start
>>> # good: [e4cbce4d131753eca271d9d67f58c6377f27ad21] Merge tag 'sched-core-2020-08-03' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
>>> git bisect good e4cbce4d131753eca271d9d67f58c6377f27ad21
>>> # bad: [a1d21081a60dfb7fddf4a38b66d9cef603b317a9] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
>>> git bisect bad a1d21081a60dfb7fddf4a38b66d9cef603b317a9
>>> # bad: [47ec5303d73ea344e84f46660fff693c57641386] Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next
>>> git bisect bad 47ec5303d73ea344e84f46660fff693c57641386
>>> # bad: [e4a7b2dc35d9582c253cf5e6d6c3605aabc7284d] Merge tag 'leds-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds
>>> git bisect bad e4a7b2dc35d9582c253cf5e6d6c3605aabc7284d
>>> # bad: [74858abbb1032222f922487fd1a24513bbed80f9] Merge tag 'cap-checkpoint-restore-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner/linux
>>> git bisect bad 74858abbb1032222f922487fd1a24513bbed80f9
>>> # bad: [2f3fbfdaf77f3ac417d0511fac221f76af79f6fc] Merge tag 'arm-dt-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
>>> git bisect bad 2f3fbfdaf77f3ac417d0511fac221f76af79f6fc
>>> # bad: [c6e2e454baef6080ef89c2b6488e708d5fa0f052] Merge tag 'qcom-arm64-for-5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into arm/dt
>>> git bisect bad c6e2e454baef6080ef89c2b6488e708d5fa0f052
>>> # bad: [3502e079c6bcff95f5c34eecb5c1d9ad1379ae0d] Merge tag 'tegra-for-5.9-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/dt
>>> git bisect bad 3502e079c6bcff95f5c34eecb5c1d9ad1379ae0d
>>> # bad: [39a85f6d91a1a827985ce44a346a99f68167d0ee] Merge tag 'v5.8-next-dts64' of git://git.kernel.org/pub/scm/linux/kernel/git/matthias.bgg/linux into arm/dt
>>> git bisect bad 39a85f6d91a1a827985ce44a346a99f68167d0ee
>>> # good: [dfe2a4cf8e2f4c1f53877aa6cb38eda102a14681] Merge tag 'uniphier-dt64-v5.9' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into arm/dt
>>> git bisect good dfe2a4cf8e2f4c1f53877aa6cb38eda102a14681
>>> # bad: [75f66813e081d2bd718d931ee50334c12a9e4492] Replace HTTP links with HTTPS ones: OMAP DEVICE TREE SUPPORT
>>> git bisect bad 75f66813e081d2bd718d931ee50334c12a9e4492
>>> # good: [9ae60ac13fc847d7175587290a1a9aa2aac091b0] ARM: dts: omap4: Update the DSP node
>>> git bisect good 9ae60ac13fc847d7175587290a1a9aa2aac091b0
>>> # bad: [3026ce47498dfdc92966d8d66f10afabf7190c46] ARM: dts: omap5: Add DSP and IPU nodes
>>> git bisect bad 3026ce47498dfdc92966d8d66f10afabf7190c46
>>> # good: [691eb1805fcfc1a2ede06aec6a4d85d312961146] ARM: dts: omap4: Add aliases for rproc nodes
>>> git bisect good 691eb1805fcfc1a2ede06aec6a4d85d312961146
>>> # bad: [7f7d771c00bf65d18a3e30e983b4061a418efbf4] ARM: dts: omap4-panda-common:: Add system timers to DSP and IPU
>>> git bisect bad 7f7d771c00bf65d18a3e30e983b4061a418efbf4
>>> # bad: [b4778e787fe9e82dcbff8150ebfbe6fea0b6c4e1] ARM: dts: omap4-panda-common: Add CMA pools and enable IPU & DSP
>>> git bisect bad b4778e787fe9e82dcbff8150ebfbe6fea0b6c4e1
>>> # first bad commit: [b4778e787fe9e82dcbff8150ebfbe6fea0b6c4e1] ARM: dts: omap4-panda-common: Add CMA pools and enable IPU & DSP
>>> -------------------------------------------------------------------------------
>>
>>
>
More information about the linux-arm-kernel
mailing list