Re: [RFC] ARM: exynos: Fix imprecise abort during Exynos5422 suspend to RAM

From: Krzysztof Kozlowski
Date: Tue Jul 24 2018 - 02:33:53 EST


On 23 July 2018 at 16:24, Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> wrote:
> Hi Krzysztof,
>
> On 2018-07-18 21:59, Krzysztof Kozlowski wrote:
>> Suspend to RAM on Odroid XU3/XU4/HC1 family (Exynos5422) causes
>> imprecise abort:
>>
>> PM: Syncing filesystems ... done.
>> Freezing user space processes ... (elapsed 0.003 seconds) done.
>> OOM killer disabled.
>> Freezing remaining freezable tasks ... (elapsed 0.003 seconds) done.
>> wake enabled for irq 139
>> Disabling non-boot CPUs ...
>> IRQ51 no longer affine to CPU1
>> IRQ52 no longer affine to CPU2
>> IRQ53 no longer affine to CPU3
>> IRQ54 no longer affine to CPU4
>> IRQ55 no longer affine to CPU5
>> IRQ56 no longer affine to CPU6
>> cpu cpu4: Dropping the link to regulator.40
>> IRQ57 no longer affine to CPU7
>> Unhandled fault: external abort on non-linefetch (0x1008) at 0xf081a028
>> Internal error: : 1008 [#1] PREEMPT SMP ARM
>>
>> with last call trace in exynos_suspend_enter().
>>
>> The abort is caused by writing to register in secure part of sysram.
>> All Exynos5422 devices, including Hardkernel Odroid boards, boot with
>> TrustZone in non-secure mode therefore they should access non-secure
>> sysram.
>>
>> Signed-off-by: Krzysztof Kozlowski <krzk@xxxxxxxxxx>
>>
>> ---
>>
>> Comments, whether my understanding is correct, are welcomed!
>
> The decision, weather to use secure or non-secure sysram depends on the
> enabled TrustZone interface IMHO. Exynos5420 PeachPIT and Exynos5800 PeachPI
> don't use TrustZone and don't have 'firmware' node in dts, thus they should
> keep existing code.

Ah, you are right. SMDK5420 also would be affected. I'll fix the patch.

Thanks for feedback!

Best regards,
Krzysztof