[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20170118202927.28740-1-f.fainelli@gmail.com>
Date: Wed, 18 Jan 2017 12:29:19 -0800
From: Florian Fainelli <f.fainelli@...il.com>
To: linux-arm-kernel@...ts.infradead.org
Cc: Florian Fainelli <f.fainelli@...il.com>,
Russell King <linux@...linux.org.uk>,
bcm-kernel-feedback-list@...adcom.com (maintainer:BROADCOM BCM7XXX ARM
ARCHITECTURE), Jonathan Austin <jonathan.austin@....com>,
Vladimir Murzin <vladimir.murzin@....com>,
Thomas Gleixner <tglx@...utronix.de>,
Zhaoxiu Zeng <zhaoxiu.zeng@...il.com>,
Mark Rutland <mark.rutland@....com>,
Nicolas Pitre <nico@...aro.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Anna-Maria Gleixner <anna-maria@...utronix.de>,
linux-kernel@...r.kernel.org (open list), will.deacon@....com
Subject: [PATCH 0/7] ARM: Broadcom Brahma-B15 readahead cache support
Hi all,
This patch series adds support for the Broadcom Brahma-B15 readahead cache.
I submitted that patch series a couple of years ago, and then slept on it so
here is another stab at it.
Note that we did not implement this cache as a version of an outer cache
for several reasons:
- we initially thought we needed to intercept flush_icache_all and
flush_kern_cache_louis but upon further inspection we convinced ourselves
this is no longer needed, still, flush_cache_all() needs special handling
here and needs to wrap around
- the outer cache does not allow differentiating a DMA transfer direction
this is a readahead cache, so it does not participate in writes, flushing
it during reads *and* writes kills the performance
- finally, most operations that outer_cache cares about are on MVA, which
is transparent to the readahead cache here
Florian Fainelli (8):
ARM: v7: allow setting different cache functions
ARM: Add Broadcom Brahma-B15 readahead cache support
ARM: Hook B15 readahead cache functions based on processor
ARM: B15: Add CPU hotplug awareness
ARM: B15: Add suspend/resume hooks
ARM: B15: Register reboot notifier for KEXEC
MAINTAINERS: Update brcmstb entries to cover B15 code
MAINTAINERS | 2 +
arch/arm/include/asm/glue-cache.h | 4 +
arch/arm/include/asm/hardware/cache-b15-rac.h | 10 +
arch/arm/mm/Kconfig | 8 +
arch/arm/mm/Makefile | 1 +
arch/arm/mm/cache-b15-rac.c | 360 ++++++++++++++++++++++++++
arch/arm/mm/cache-v7.S | 21 ++
arch/arm/mm/proc-v7.S | 6 +-
include/linux/cpuhotplug.h | 2 +
10 files changed, 411 insertions(+), 4 deletions(-)
create mode 100644 arch/arm/include/asm/hardware/cache-b15-rac.h
create mode 100644 arch/arm/mm/cache-b15-rac.c
--
2.9.3
Powered by blists - more mailing lists