On 3 January 2014 19:28, Tomasz Figa <t.f...@samsung.com> wrote:
> On Friday 03 of January 2014 14:37:10 Arnd Bergmann wrote:
>> On Friday 03 January 2014, Tushar Behera wrote:

[ ... ]

>> Hmm, the boot log contains no message about the l2 cache controller getting
>> initialized, which means that l2x0_of_init probably failed before calling
>> l2x0_init. It also seems that the dts files distributed with the kernel
>> are lacking nodes for the l2x0 device, which is indeed a perfectly good
>> explanation although it doesn't explain at all why it ever worked on
>> any system with my patch.
>>
>> Can you check if there is a correct cache controller node in your device
>> tree, and whether it works when you add one? If so, we should probably
>> add a couple of stable backport patches to the dts files. It would also

The device tree node for l2x0 device was missing. After adding a node
as below I can start booting Origen board.

diff --git a/arch/arm/boot/dts/exynos4210-origen.dts
b/arch/arm/boot/dts/exynos4210-origen.dts
index 1a12fb2..675f323 100644
--- a/arch/arm/boot/dts/exynos4210-origen.dts
+++ b/arch/arm/boot/dts/exynos4210-origen.dts
@@ -32,6 +32,13 @@

+       l2-cache-controller@10502000 {
+               compatible = "arm,pl310-cache";
+               reg = <0x10502000 0x1000>;
+               cache-unified;
+               cache-level = <2>;
+       };
+

>> be a good time to get rid of the L2_AUX_VAL and L2_AUX_MASK defines and
>> just read the respective settings from DT.

Ok.

>
> Tushar, do you maybe also have CONFIG_CACHE_L2X0 enabled?
>

Yes, this config option is enabled. If this is disabled, I don't see
this problem.

> Generally I can see two different issues here:
>
> 1) Broken handling of L2 cache in plat-samsung/sleep.S. It assumes that
> whenever CONFIG_CACHE_L2X0 is enabled, L2 cache is enabled too.
>
> This needs to go away. On normal resume from sleep, there is no need to
> do anything with L2X0 at such early stage. This reinitialization can be
> safely done later, by calling generic outer_resume().
>
> The problem shows up when you look at AFTR and LPA idle modes. They keep
> L2 cache contents, but L2X0 registers must be restored to let the cache
> operate normally. This must happen early enough to keep cache data
> consistent. Still, the code doing this must consider whether the cache
> was enabled before entering AFTR/LPA and whether secure firmware is used
> (see below), so this is a bit tricky.
>
> 2) There is no L2 cache controller node in Exynos4*.dtsi.
>
> It should be added, but L2 cache can't be enabled on all boards yet,
> since on boards where secure firmware is enabled, special configuration
> involving SMC calls is required. Patches for this are queued on my work
> queue, but it's quite tricky due to 1), which needs to consider whether
> secure firmware is enabled or not.
>

In that case, would it be ok to add the node for Origen board only?

-- 
Tushar Behera
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to