[U-Boot] [PATCH] tegra2: Enable data cache
Aneesh V
aneesh at ti.com
Wed Sep 14 15:10:25 CEST 2011
Hi Mike,
On Friday 09 September 2011 05:55 AM, Mike Frysinger wrote:
> On Thursday, September 08, 2011 18:20:16 Simon Glass wrote:
>> --- a/board/nvidia/common/board.c
>> +++ b/board/nvidia/common/board.c
>> @@ -307,3 +307,11 @@ int board_mmc_getcd(u8 *cd, struct mmc *mmc)
>> return 0;
>> }
>> #endif
>> +
>> +#ifndef CONFIG_SYS_DCACHE_OFF
>> +void enable_caches(void)
>> +{
>> + /* Enable D-cache. I-cache is already enabled in start.S */
>> + dcache_enable();
>> +}
>> +#endif
>
> not specific to your patch, but this seems kind of dumb to copy & paste the
> same thing between all the arm sub arches/boards. why cant the default
> enable_caches() look like this for arm:
> void enable_caches(void)
> {
> #ifndef CONFIG_SYS_DCACHE_OFF
> dcache_enable();
> #endif
> #ifndef CONFIG_SYS_ICACHE_OFF
> icache_enable();
> #endif
> }
That was how it was earlier. But then many boards were not cache ready
and still didn't define CONFIG_SYS_DCACHE_OFF, so they were broken. So,
the current situation is that the absence of CONFIG_SYS_DCACHE_OFF
doesn't mean that the board is cache-ready.
I like the suggestion made by Jason Liu, that of using
CONFIG_SYS_DCACHE_ON instead. In the present situation ARM cpus that
properly support cache handling seems to be in the minority, so
CONFIG_SYS_DCACHE_ON may be more appropriate. But Wolfgang doesn't seem
to like this.
best regards,
Aneesh
More information about the U-Boot
mailing list