diff options
author | Arnd Bergmann <arnd@arndb.de> | 2015-01-28 17:55:31 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-02-06 21:16:40 +0100 |
commit | 1d88967900b87f94435581dad4ae319686c6ce10 (patch) | |
tree | 7fc8d85ca097dfdb6a49276061ffb1466723ef0c /arch/tile/kernel/early_printk.c | |
parent | ARM: 8296/1: cache-l2x0: clean up aurora cache handling (diff) | |
download | linux-1d88967900b87f94435581dad4ae319686c6ce10.tar.xz linux-1d88967900b87f94435581dad4ae319686c6ce10.zip |
ARM: 8297/1: cache-l2x0: optimize aurora range operations
The aurora_inv_range(), aurora_clean_range() and aurora_flush_range()
functions are highly redundant, both in source and in object code, and
they are harder to understand than necessary.
By moving the range loop into the aurora_pa_range() function, they
become trivial wrappers, and the object code start looking like what
one would expect for an optimal implementation.
Further optimization may be possible by using the per-CPU "virtual"
registers to avoid the spinlocks in most cases.
(on Armada 370 RD and Armada XP GP, boot tested, plus a little bit of
DMA traffic by reading data from a SD card)
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/tile/kernel/early_printk.c')
0 files changed, 0 insertions, 0 deletions