dcache support for Raspberry Pi 1
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest0 of 5 patches 0 repliesNew
Patches in v1 No applies recorded yet
None of the 5 patches the cover letter announces are in this archive.
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [U-Boot] [PATCH 0/5] dcache support for Raspberry Pi 1
Quoted 8 lines · Alexander Stein
On Friday 10 July 2015, 23:17:58 wrote Stephen Warren:
Quoted 7 lines · Alexander Stein
Quoted 5 lines
This patchset enables dcache support for Raspberry Pi 1.
First the cache support code was made similar to existing arm1136 code. The invalidate and flush functions were inprovoed to accept also non-cacheline aligned addresses. This reduces the cacheline size knowledge from generic code.
Quoted 8 lines
Quoted 6 lines
As mentioned in some other responses, client code must be aware of the cacheline size, so the cache management code shouldn't try to handle misaligned requests, but should error out.
BTW,
ALLOC_ALIGN_BUFFER()is probably what you need to fix any misbehaved client code.It turns out this is already used everywhere, but the aligned is only 16 instead of 32.
I'm not sure why; is the macro that defines the required alignment defined incorrectly?
Quoted 2 lines
Is there some neat define for the cache size to be used everywhere without defining it in the board config? This would make no sense as according to ARM1176 TRM the cache size is fixed to 32 bytes. So
CONFIG_SYS_CACHELINE_SIZEis defined inarch/arm/cpu/arm1176/cpu.cif not defined at board config.
There's ARCH_DMA_MINALIGN, which I'd imagine is equal to the cache line size in most cases.
Quoted 1 line
I could use
ALLOC_CACHE_ALIGN_BUFFERinstead, but this would use an (unnecessary) 64 byte alignment, unlessCONFIG_SYS_CACHELINE_SIZEis defined.
Why's that? Is it simply because CONFIG_SYS_CACHELINE_SIZE isn't defined, so it defaults to 64? If so, I'd suggest simply setting CONFIG_SYS_CACHELINE_SIZE.