
According to commit 11aa6a32eb5f ("arm: cache: Implement cache range check for v7"), which introduced check_cache_range(), this was meant as a pure debugging feature, only to be compiled in when a developer explicitly #defined DEBUG in cache.c. Presumably the intention was to help with finding *certain* alignment issues with DMA buffers.
Commit bcc53bf09589 ("arm: Show cache warnings in U-Boot proper only") compiled this in *unconditionally* into U-Boot proper.
This has the annoying side effect of producing tons of somewhat pointless warnings about non-aligned clean&invalidate operations, which tend to be appeased by even more pointless rounding operations in many drivers (mostly those used on ARM boards).
Bring back the old behaviour, of only compiling this in for DEBUG situations, but staying silent otherwise.
This reverts commit bcc53bf095893fbdae531a9a7b5d4ef4a125a7fc.
Signed-off-by: Andre Przywara andre.przywara@arm.com --- Hi,
if the intention was indeed to always force cache maintenance range alignments, I would like to open a discussion on this, because I believe it is not useful, especially in the clean&invalidate case.
Cheers, Andre.
arch/arm/lib/cache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/lib/cache.c b/arch/arm/lib/cache.c index 007d4ebc49..f6c5c774cd 100644 --- a/arch/arm/lib/cache.c +++ b/arch/arm/lib/cache.c @@ -57,8 +57,8 @@ int check_cache_range(unsigned long start, unsigned long stop) ok = 0;
if (!ok) { - warn_non_spl("CACHE: Misaligned operation at range [%08lx, %08lx]\n", - start, stop); + debug("CACHE: Misaligned operation at range [%08lx, %08lx]\n", + start, stop); }
return ok;