* [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS
@ 2014-10-02 22:20 York Sun
2014-10-04 2:21 ` Simon Glass
2014-10-10 14:39 ` [U-Boot] " Tom Rini
0 siblings, 2 replies; 6+ messages in thread
From: York Sun @ 2014-10-02 22:20 UTC (permalink / raw)
To: u-boot
Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
It may be related to locked L1 d-cache and unlocked L2 cache. D-
cache could and should be unlock earlier for normal operation.
This patch moves initr_unlock_ram_in_cache before initr_malloc. It
has been verified on the following boards, in which only T4240QDS
suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.
Signed-off-by: York Sun <yorksun@freescale.com>
CC: Scott Wood <scottwood@freescale.com>
CC: Simon Glass <sjg@chromium.org>
---
The root cause of the this failure wasn't identified. It may be hidden
too deep to be dug out in time. This fix preserves the order of original
code between initr_malloc and initr_unlock_ram_in_cache.
common/board_r.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/common/board_r.c b/common/board_r.c
index 231c6d6..c339aad 100644
--- a/common/board_r.c
+++ b/common/board_r.c
@@ -717,6 +717,9 @@ init_fnc_t init_sequence_r[] = {
initr_caches,
#endif
initr_reloc_global_data,
+#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
+ initr_unlock_ram_in_cache,
+#endif
initr_barrier,
initr_malloc,
bootstage_relocate,
@@ -759,9 +762,6 @@ init_fnc_t init_sequence_r[] = {
#ifdef CONFIG_SYS_DELAYED_ICACHE
initr_icache_enable,
#endif
-#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
- initr_unlock_ram_in_cache,
-#endif
#if defined(CONFIG_PCI) && defined(CONFIG_SYS_EARLY_PCI_INIT)
/*
* Do early PCI configuration _before_ the flash gets initialised,
--
1.7.9.5
^ permalink raw reply related [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS
2014-10-02 22:20 [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS York Sun
@ 2014-10-04 2:21 ` Simon Glass
2014-10-04 2:31 ` York Sun
2014-10-06 19:08 ` York Sun
2014-10-10 14:39 ` [U-Boot] " Tom Rini
1 sibling, 2 replies; 6+ messages in thread
From: Simon Glass @ 2014-10-04 2:21 UTC (permalink / raw)
To: u-boot
On 2 October 2014 16:20, York Sun <yorksun@freescale.com> wrote:
> Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
> earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
> It may be related to locked L1 d-cache and unlocked L2 cache. D-
> cache could and should be unlock earlier for normal operation.
>
> This patch moves initr_unlock_ram_in_cache before initr_malloc. It
> has been verified on the following boards, in which only T4240QDS
> suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
> P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.
>
> Signed-off-by: York Sun <yorksun@freescale.com>
> CC: Scott Wood <scottwood@freescale.com>
> CC: Simon Glass <sjg@chromium.org>
> ---
> The root cause of the this failure wasn't identified. It may be hidden
> too deep to be dug out in time. This fix preserves the order of original
> code between initr_malloc and initr_unlock_ram_in_cache.
>
> common/board_r.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/common/board_r.c b/common/board_r.c
> index 231c6d6..c339aad 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -717,6 +717,9 @@ init_fnc_t init_sequence_r[] = {
> initr_caches,
> #endif
> initr_reloc_global_data,
> +#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
> + initr_unlock_ram_in_cache,
> +#endif
The code looks fine. Are we sure it shouldn't go above
initr_reloc_global_data()?
Acked-by: Simon Glass <sjg@chromium.org>
> initr_barrier,
> initr_malloc,
> bootstage_relocate,
> @@ -759,9 +762,6 @@ init_fnc_t init_sequence_r[] = {
> #ifdef CONFIG_SYS_DELAYED_ICACHE
> initr_icache_enable,
> #endif
> -#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
> - initr_unlock_ram_in_cache,
> -#endif
> #if defined(CONFIG_PCI) && defined(CONFIG_SYS_EARLY_PCI_INIT)
> /*
> * Do early PCI configuration _before_ the flash gets initialised,
> --
> 1.7.9.5
>
Regards,
Simon
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS
2014-10-04 2:21 ` Simon Glass
@ 2014-10-04 2:31 ` York Sun
2014-10-04 2:32 ` Scott Wood
2014-10-06 19:08 ` York Sun
1 sibling, 1 reply; 6+ messages in thread
From: York Sun @ 2014-10-04 2:31 UTC (permalink / raw)
To: u-boot
On 10/3/14 7:21 PM, "Simon Glass" <sjg@chromium.org> wrote:
>On 2 October 2014 16:20, York Sun <yorksun@freescale.com> wrote:
>> Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
>> earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
>> It may be related to locked L1 d-cache and unlocked L2 cache. D-
>> cache could and should be unlock earlier for normal operation.
>>
>> This patch moves initr_unlock_ram_in_cache before initr_malloc. It
>> has been verified on the following boards, in which only T4240QDS
>> suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
>> P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.
>>
>> Signed-off-by: York Sun <yorksun@freescale.com>
>> CC: Scott Wood <scottwood@freescale.com>
>> CC: Simon Glass <sjg@chromium.org>
>> ---
>> The root cause of the this failure wasn't identified. It may be hidden
>> too deep to be dug out in time. This fix preserves the order of original
>> code between initr_malloc and initr_unlock_ram_in_cache.
>>
>> common/board_r.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/common/board_r.c b/common/board_r.c
>> index 231c6d6..c339aad 100644
>> --- a/common/board_r.c
>> +++ b/common/board_r.c
>> @@ -717,6 +717,9 @@ init_fnc_t init_sequence_r[] = {
>> initr_caches,
>> #endif
>> initr_reloc_global_data,
>> +#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
>> + initr_unlock_ram_in_cache,
>> +#endif
>
>The code looks fine. Are we sure it shouldn't go above
>initr_reloc_global_data()?
>
>Acked-by: Simon Glass <sjg@chromium.org>
Simon,
From the code, I don't see why it can't be moved above. But since we
didn't identify the root cause, I am less confident to do so. I was
focusing on fixing this issue and test.
York
^ permalink raw reply [flat|nested] 6+ messages in thread* [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS
2014-10-04 2:31 ` York Sun
@ 2014-10-04 2:32 ` Scott Wood
0 siblings, 0 replies; 6+ messages in thread
From: Scott Wood @ 2014-10-04 2:32 UTC (permalink / raw)
To: u-boot
On Fri, 2014-10-03 at 21:31 -0500, Sun York-R58495 wrote:
>
> On 10/3/14 7:21 PM, "Simon Glass" <sjg@chromium.org> wrote:
>
> >On 2 October 2014 16:20, York Sun <yorksun@freescale.com> wrote:
> >> Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
> >> earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
> >> It may be related to locked L1 d-cache and unlocked L2 cache. D-
> >> cache could and should be unlock earlier for normal operation.
> >>
> >> This patch moves initr_unlock_ram_in_cache before initr_malloc. It
> >> has been verified on the following boards, in which only T4240QDS
> >> suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
> >> P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.
> >>
> >> Signed-off-by: York Sun <yorksun@freescale.com>
> >> CC: Scott Wood <scottwood@freescale.com>
> >> CC: Simon Glass <sjg@chromium.org>
> >> ---
> >> The root cause of the this failure wasn't identified. It may be hidden
> >> too deep to be dug out in time. This fix preserves the order of original
> >> code between initr_malloc and initr_unlock_ram_in_cache.
> >>
> >> common/board_r.c | 6 +++---
> >> 1 file changed, 3 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/common/board_r.c b/common/board_r.c
> >> index 231c6d6..c339aad 100644
> >> --- a/common/board_r.c
> >> +++ b/common/board_r.c
> >> @@ -717,6 +717,9 @@ init_fnc_t init_sequence_r[] = {
> >> initr_caches,
> >> #endif
> >> initr_reloc_global_data,
> >> +#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
> >> + initr_unlock_ram_in_cache,
> >> +#endif
> >
> >The code looks fine. Are we sure it shouldn't go above
> >initr_reloc_global_data()?
> >
> >Acked-by: Simon Glass <sjg@chromium.org>
>
> Simon,
>
> From the code, I don't see why it can't be moved above. But since we
> didn't identify the root cause, I am less confident to do so. I was
> focusing on fixing this issue and test.
It could be called as soon as we've stopped using the init ram area.
In the long term, though, a more robust fix would be to stop abusing L1
cache on e6500, and use CPC SRAM instead.
-Scott
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS
2014-10-04 2:21 ` Simon Glass
2014-10-04 2:31 ` York Sun
@ 2014-10-06 19:08 ` York Sun
1 sibling, 0 replies; 6+ messages in thread
From: York Sun @ 2014-10-06 19:08 UTC (permalink / raw)
To: u-boot
On 10/03/2014 07:21 PM, Simon Glass wrote:
> On 2 October 2014 16:20, York Sun <yorksun@freescale.com> wrote:
>> Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
>> earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
>> It may be related to locked L1 d-cache and unlocked L2 cache. D-
>> cache could and should be unlock earlier for normal operation.
>>
>> This patch moves initr_unlock_ram_in_cache before initr_malloc. It
>> has been verified on the following boards, in which only T4240QDS
>> suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
>> P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.
>>
>> Signed-off-by: York Sun <yorksun@freescale.com>
>> CC: Scott Wood <scottwood@freescale.com>
>> CC: Simon Glass <sjg@chromium.org>
>> ---
>> The root cause of the this failure wasn't identified. It may be hidden
>> too deep to be dug out in time. This fix preserves the order of original
>> code between initr_malloc and initr_unlock_ram_in_cache.
>>
>> common/board_r.c | 6 +++---
>> 1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/common/board_r.c b/common/board_r.c
>> index 231c6d6..c339aad 100644
>> --- a/common/board_r.c
>> +++ b/common/board_r.c
>> @@ -717,6 +717,9 @@ init_fnc_t init_sequence_r[] = {
>> initr_caches,
>> #endif
>> initr_reloc_global_data,
>> +#if defined(CONFIG_SYS_INIT_RAM_LOCK) && defined(CONFIG_E500)
>> + initr_unlock_ram_in_cache,
>> +#endif
>
> The code looks fine. Are we sure it shouldn't go above
> initr_reloc_global_data()?
>
> Acked-by: Simon Glass <sjg@chromium.org>
>
Tom,
Can you pick up this one? I don't have patches pending for 2014.10 for now.
York
^ permalink raw reply [flat|nested] 6+ messages in thread
* [U-Boot] common/board_r: Fix booting issue on T4240QDS
2014-10-02 22:20 [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS York Sun
2014-10-04 2:21 ` Simon Glass
@ 2014-10-10 14:39 ` Tom Rini
1 sibling, 0 replies; 6+ messages in thread
From: Tom Rini @ 2014-10-10 14:39 UTC (permalink / raw)
To: u-boot
On Thu, Oct 02, 2014 at 03:20:10PM -0700, York Sun wrote:
> Commit 294b91a5817147d4b7f47be2ac69bac2a1f26491 moved initr_malloc
> earlier than initr_unlock_ram_in_cache. This causes issue on T4240.
> It may be related to locked L1 d-cache and unlocked L2 cache. D-
> cache could and should be unlock earlier for normal operation.
>
> This patch moves initr_unlock_ram_in_cache before initr_malloc. It
> has been verified on the following boards, in which only T4240QDS
> suffered and has been since fixed: T4240QDS, T2080QDS, P5040DS,
> P4080DS, MPC8572DS, MPC8536DS, MPC8641HPCN, B4860QDS.
>
> Signed-off-by: York Sun <yorksun@freescale.com>
> CC: Scott Wood <scottwood@freescale.com>
> CC: Simon Glass <sjg@chromium.org>
> Acked-by: Simon Glass <sjg@chromium.org>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20141010/6577a19f/attachment.pgp>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-10-10 14:39 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-02 22:20 [U-Boot] [PATCH] common/board_r: Fix booting issue on T4240QDS York Sun
2014-10-04 2:21 ` Simon Glass
2014-10-04 2:31 ` York Sun
2014-10-04 2:32 ` Scott Wood
2014-10-06 19:08 ` York Sun
2014-10-10 14:39 ` [U-Boot] " Tom Rini
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox