[U-Boot] [PATCH v2] ARM: kirkwood: disable dcache for Kirkwood boards

Leigh Brown leigh at solinno.co.uk
Tue Mar 19 09:29:05 UTC 2019


Hi Stefan,

On 2019-03-19 08:04, Stefan Roese wrote:
> On 19.03.19 09:00, Chris Packham wrote:
>> 
>> 
>> On Tue, 19 Mar 2019, 8:39 PM Stefan Roese, <sr at denx.de 
>> <mailto:sr at denx.de>> wrote:
>> 
>> 
>> 
>>     On 18.03.19 08:51, Chris Packham wrote:
>>      > Prior to commit 93b283d49f93 ("ARM: CPU: arm926ejs: Consolidate 
>> cache
>>      > routines to common file") the kirkwood boards didn't have and 
>> dcache
>>      > support. The network and usb drivers rely on this. Set
>>      > CONFIG_SYS_DCACHE_OFF in the Kirkwood specific config.h.
>>      >
>>      > Reported-by: Leigh Brown <leigh at solinno.co.uk 
>> <mailto:leigh at solinno.co.uk>>
>>      > Signed-off-by: Chris Packham <judge.packham at gmail.com 
>> <mailto:judge.packham at gmail.com>>
>>      > ---
>>      >
>>      > Changes in v2:
>>      > - expand the comment in config.h to provide more info
>>      >
>>      >   arch/arm/mach-kirkwood/include/mach/config.h | 6 ++++++
>>      >   1 file changed, 6 insertions(+)
>>      >
>>      > diff --git a/arch/arm/mach-kirkwood/include/mach/config.h 
>> b/arch/arm/mach-kirkwood/include/mach/config.h
>>      > index fcd903887bff..aea60688c2d3 100644
>>      > --- a/arch/arm/mach-kirkwood/include/mach/config.h
>>      > +++ b/arch/arm/mach-kirkwood/include/mach/config.h
>>      > @@ -26,6 +26,12 @@
>>      >   #define CONFIG_KIRKWOOD_EGIGA_INIT  /* Enable GbePort0/1 for 
>> kernel */
>>      >   #define CONFIG_KIRKWOOD_RGMII_PAD_1V8       /* Set RGMII Pad 
>> voltage to 1.8V */
>>      >   #define CONFIG_KIRKWOOD_PCIE_INIT       /* Enable PCIE Port0 
>> for kernel */
>>      > +/*
>>      > + * Disable the dcache. Currently the network driver (mvgbe.c) 
>> and USB
>>      > + * EHCI driver (ehci-marvell.c) and possibly others rely on 
>> the data
>>      > + * cache being disabled.
>>      > + */
>>      > +#define CONFIG_SYS_DCACHE_OFF
>> 
>>     While collecting the queued fixes for the upcoming release, I do
>>     have one question regarding this Kirkwood cache issue (I don't 
>> have
>>     such a board here, so I can't test anything):
>> 
>>     Do we need this patch applied [1], if the patch from this thread 
>> is
>>     applied [2]?
>> 
>>     Thanks,
>>     Stefan
>> 
>>     [1] http://patchwork.ozlabs.org/patch/1048863/
>>     [2] http://patchwork.ozlabs.org/patch/1057716/
>> 
>> 
>> I'm pretty sure you just need [2]. I've tested with just that on it's
>> own and Ethernet works on the kirkwood db. Functionally it's the same
>> change as Michael's just for more boards.
>> 
>> Leigh, can you see if [2] above works for you?
> 
> Patch [1] from Leigh also removes icache_enable() in
> arch/arm/mach-kirkwood/cpu.c.
> 
> Not sure if this is still needed? Did any of you run into issues with
> [1] not applied but with CONFIG_SYS_DCACHE_OFF set?

When the cache consolidation patch was applied, it added code to enable 
the
icache much earlier in the process.  Therefore, this line of code to 
enable
it became superfluous (assuming enabling the icache multiple times does
nothing).

I'd suggest removing it if you agree with that statement, to reduce
possible future confusion.

> 
> Thanks,
> Stefan

Regards,

Leigh.


More information about the U-Boot mailing list