All of lore.kernel.org
 help / color / mirror / Atom feed
From: rmk+kernel@arm.linux.org.uk (Russell King)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 24/97] ARM: l2c: implement fixups for L2 cache controller quirks/errata
Date: Mon, 28 Apr 2014 20:28:10 +0100	[thread overview]
Message-ID: <E1WerDm-0001Qt-QH@rmk-PC.arm.linux.org.uk> (raw)
In-Reply-To: <20140428192419.GV26756@n2100.arm.linux.org.uk>

Rather than putting quirk handling in __l2c_init(), move it out to a
separate function which individual implementations can specify.  This
helps to localise the quirks to those implementations which require
them.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/mm/cache-l2x0.c | 112 ++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 101 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index 5f381af1a7a4..a544f19c448f 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -32,6 +32,7 @@ struct l2c_init_data {
 	unsigned num_lock;
 	void (*of_parse)(const struct device_node *, u32 *, u32 *);
 	void (*enable)(void __iomem *, u32, unsigned);
+	void (*fixup)(void __iomem *, u32, struct outer_cache_fns *);
 	void (*save)(void __iomem *);
 	struct outer_cache_fns outer_cache;
 };
@@ -394,9 +395,80 @@ static const struct l2c_init_data l2x0_init_fns __initconst = {
 	},
 };
 
+/*
+ * L2C-310 specific code.
+ *
+ * Errata:
+ * 588369: PL310 R0P0->R1P0, fixed R2P0.
+ *	Affects: all clean+invalidate operations
+ *	clean and invalidate skips the invalidate step, so we need to issue
+ *	separate operations.  We also require the above debug workaround
+ *	enclosing this code fragment on affected parts.  On unaffected parts,
+ *	we must not use this workaround without the debug register writes
+ *	to avoid exposing a problem similar to 727915.
+ *
+ * 727915: PL310 R2P0->R3P0, fixed R3P1.
+ *	Affects: clean+invalidate by way
+ *	clean and invalidate by way runs in the background, and a store can
+ *	hit the line between the clean operation and invalidate operation,
+ *	resulting in the store being lost.
+ *
+ * 753970: PL310 R3P0, fixed R3P1.
+ *	Affects: sync
+ *	prevents merging writes after the sync operation, until another L2C
+ *	operation is performed (or a number of other conditions.)
+ *
+ * 769419: PL310 R0P0->R3P1, fixed R3P2.
+ *	Affects: store buffer
+ *	store buffer is not automatically drained.
+ */
+static void __init l2c310_fixup(void __iomem *base, u32 cache_id,
+	struct outer_cache_fns *fns)
+{
+	unsigned revision = cache_id & L2X0_CACHE_ID_RTL_MASK;
+	const char *errata[4];
+	unsigned n = 0;
+
+	if (revision <= L310_CACHE_ID_RTL_R3P0)
+		fns->set_debug = pl310_set_debug;
+
+	if (IS_ENABLED(CONFIG_PL310_ERRATA_753970) &&
+	    revision == L310_CACHE_ID_RTL_R3P0) {
+		sync_reg_offset = L2X0_DUMMY_REG;
+		errata[n++] = "753970";
+	}
+
+	if (IS_ENABLED(CONFIG_PL310_ERRATA_769419))
+		errata[n++] = "769419";
+
+	if (n) {
+		unsigned i;
+
+		pr_info("L2C-310 errat%s", n > 1 ? "a" : "um");
+		for (i = 0; i < n; i++)
+			pr_cont(" %s", errata[i]);
+		pr_cont(" enabled\n");
+	}
+}
+
+static const struct l2c_init_data l2c310_init_fns __initconst = {
+	.num_lock = 8,
+	.enable = l2c_enable,
+	.fixup = l2c310_fixup,
+	.outer_cache = {
+		.inv_range = l2x0_inv_range,
+		.clean_range = l2x0_clean_range,
+		.flush_range = l2x0_flush_range,
+		.flush_all = l2x0_flush_all,
+		.disable = l2x0_disable,
+		.sync = l2x0_cache_sync,
+	},
+};
+
 static void __init __l2c_init(const struct l2c_init_data *data,
 	u32 aux_val, u32 aux_mask, u32 cache_id)
 {
+	struct outer_cache_fns fns;
 	u32 aux;
 	u32 way_size = 0;
 	int ways;
@@ -423,23 +495,20 @@ static void __init __l2c_init(const struct l2c_init_data *data,
 		else
 			ways = 8;
 		type = "L310";
-#ifdef CONFIG_PL310_ERRATA_753970
-		/* Unmapped register. */
-		sync_reg_offset = L2X0_DUMMY_REG;
-#endif
 		break;
+
 	case L2X0_CACHE_ID_PART_L210:
 		ways = (aux >> 13) & 0xf;
 		type = "L210";
 		break;
 
 	case AURORA_CACHE_ID:
-		sync_reg_offset = AURORA_SYNC_REG;
 		ways = (aux >> 13) & 0xf;
 		ways = 2 << ((ways + 1) >> 2);
 		way_size_shift = AURORA_WAY_SIZE_SHIFT;
 		type = "Aurora";
 		break;
+
 	default:
 		/* Assume unknown chips have 8 ways */
 		ways = 8;
@@ -457,6 +526,10 @@ static void __init __l2c_init(const struct l2c_init_data *data,
 
 	l2x0_size = ways * way_size * SZ_1K;
 
+	fns = data->outer_cache;
+	if (data->fixup)
+		data->fixup(l2x0_base, cache_id, &fns);
+
 	/*
 	 * Check if l2x0 controller is already enabled.  If we are booting
 	 * in non-secure mode accessing the below registers will fault.
@@ -470,11 +543,7 @@ static void __init __l2c_init(const struct l2c_init_data *data,
 	/* Save the value for resuming. */
 	l2x0_saved_regs.aux_ctrl = aux;
 
-	outer_cache = data->outer_cache;
-
-	if ((cache_id & L2X0_CACHE_ID_PART_MASK) == L2X0_CACHE_ID_PART_L310 &&
-	    (cache_id & L2X0_CACHE_ID_RTL_MASK) <= L310_CACHE_ID_RTL_R3P0)
-		outer_cache.set_debug = pl310_set_debug;
+	outer_cache = fns;
 
 	pr_info("%s cache controller enabled\n", type);
 	pr_info("l2x0: %d ways, CACHE_ID 0x%08x, AUX_CTRL 0x%08x, Cache size: %d kB\n",
@@ -483,13 +552,24 @@ static void __init __l2c_init(const struct l2c_init_data *data,
 
 void __init l2x0_init(void __iomem *base, u32 aux_val, u32 aux_mask)
 {
+	const struct l2c_init_data *data;
 	u32 cache_id;
 
 	l2x0_base = base;
 
 	cache_id = readl_relaxed(base + L2X0_CACHE_ID);
 
-	__l2c_init(&l2x0_init_fns, aux_val, aux_mask, cache_id);
+	switch (cache_id & L2X0_CACHE_ID_PART_MASK) {
+	default:
+		data = &l2x0_init_fns;
+		break;
+
+	case L2X0_CACHE_ID_PART_L310:
+		data = &l2c310_init_fns;
+		break;
+	}
+
+	__l2c_init(data, aux_val, aux_mask, cache_id);
 }
 
 #ifdef CONFIG_OF
@@ -659,6 +739,7 @@ static const struct l2c_init_data of_pl310_data __initconst = {
 	.num_lock = 8,
 	.of_parse = pl310_of_parse,
 	.enable = l2c_enable,
+	.fixup = l2c310_fixup,
 	.save  = pl310_save,
 	.outer_cache = {
 		.inv_range   = l2x0_inv_range,
@@ -802,6 +883,12 @@ static void __init aurora_enable_no_outer(void __iomem *base, u32 aux,
 	l2c_enable(base, aux, num_lock);
 }
 
+static void __init aurora_fixup(void __iomem *base, u32 cache_id,
+	struct outer_cache_fns *fns)
+{
+	sync_reg_offset = AURORA_SYNC_REG;
+}
+
 static void __init aurora_of_parse(const struct device_node *np,
 				u32 *aux_val, u32 *aux_mask)
 {
@@ -828,6 +915,7 @@ static const struct l2c_init_data of_aurora_with_outer_data __initconst = {
 	.num_lock = 4,
 	.of_parse = aurora_of_parse,
 	.enable = l2c_enable,
+	.fixup = aurora_fixup,
 	.save  = aurora_save,
 	.outer_cache = {
 		.inv_range   = aurora_inv_range,
@@ -844,6 +932,7 @@ static const struct l2c_init_data of_aurora_no_outer_data __initconst = {
 	.num_lock = 4,
 	.of_parse = aurora_of_parse,
 	.enable = aurora_enable_no_outer,
+	.fixup = aurora_fixup,
 	.save  = aurora_save,
 	.outer_cache = {
 		.resume      = aurora_resume,
@@ -995,6 +1084,7 @@ static const struct l2c_init_data of_bcm_l2x0_data __initconst = {
 	.num_lock = 8,
 	.of_parse = pl310_of_parse,
 	.enable = l2c_enable,
+	.fixup = l2c310_fixup,
 	.save  = pl310_save,
 	.outer_cache = {
 		.inv_range   = bcm_inv_range,
-- 
1.8.3.1

  parent reply	other threads:[~2014-04-28 19:28 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28 19:24 [PATCH 00/98] Full L2C patch series Russell King - ARM Linux
2014-04-28 19:26 ` [PATCH 01/97] ARM: l2c: remove outer_inv_all() method Russell King
2014-04-28 19:26 ` [PATCH 02/97] ARM: l2c: remove unnecessary call to outer_flush_all() Russell King
2014-05-02 15:48   ` Barry Song
2014-04-28 19:26 ` [PATCH 03/97] ARM: l2c: avoid calling outer_flush_all() unnecessarily (Spear) Russell King
2014-04-28 19:26 ` [PATCH 04/97] ARM: l2c: omap2: remove ES1.0 support Russell King
2014-04-28 19:26   ` Russell King
2014-04-28 19:26 ` [PATCH 05/97] ARM: l2c: remove unnecessary UL-suffix to mask values Russell King
2014-04-28 19:26 ` [PATCH 06/97] ARM: outer cache: add documentation of outer cache functions Russell King
2014-04-28 19:26 ` [PATCH 07/97] ARM: outer cache: add WARN_ON() to outer_disable() Russell King
2014-04-28 19:26 ` [PATCH 08/97] ARM: l2c: add helper for L2 cache controller DT IDs Russell King
2014-04-28 19:26 ` [PATCH 09/97] ARM: l2c: tidy up l2x0_of_data declarations Russell King
2014-04-28 19:26 ` [PATCH 10/97] ARM: l2c: rename OF specific things, making l2x0_of_data available to all Russell King
2014-04-28 19:26 ` [PATCH 11/97] ARM: l2c: provide generic function for calling set_debug method Russell King
2014-04-28 19:27 ` [PATCH 12/97] ARM: l2c: split out cache unlock code Russell King
2014-04-28 19:27 ` [PATCH 13/97] ARM: l2c: provide generic helper for way-based operations Russell King
2014-04-28 19:27 ` [PATCH 14/97] ARM: l2c: rename cache_wait_way() Russell King
2014-04-28 19:27 ` [PATCH 15/97] ARM: l2c: add and use L2C revision constants Russell King
2014-04-28 19:27 ` [PATCH 16/97] ARM: l2c: clean up OF initialisation a bit Russell King
2014-04-28 19:27 ` [PATCH 17/97] ARM: l2c: pass iomem address into data->save function Russell King
2014-04-28 19:27 ` [PATCH 18/97] ARM: l2c: move l2c save function to __l2c_init() Russell King
2014-04-28 19:27 ` [PATCH 19/97] ARM: l2c: group implementation specific code together Russell King
2014-04-28 19:27 ` [PATCH 20/97] ARM: l2c: provide enable method Russell King
2014-04-28 19:27 ` [PATCH 21/97] ARM: l2c: write auxctrl register before unlocking Russell King
2014-04-28 19:27 ` [PATCH 22/97] ARM: l2c: only write the auxiliary control register if required Russell King
2014-04-28 19:28 ` [PATCH 23/97] ARM: l2c: move aurora broadcast setup to enable function Russell King
2014-04-28 19:28 ` Russell King [this message]
2014-04-28 19:28 ` [PATCH 25/97] ARM: l2c: clean up L2 cache initialisation messages Russell King
2014-04-28 19:28 ` [PATCH 26/97] ARM: l2c: move and add ARM L2C-2x0/L2C-310 save/resume code to non-OF Russell King
2014-04-28 19:28 ` [PATCH 27/97] ARM: l2c: clean up save/resume functions Russell King
2014-04-28 19:28 ` [PATCH 28/97] ARM: l2c: simplify l2x0 unlocking code Russell King
2014-04-28 19:28 ` [PATCH 29/97] ARM: l2c: move pl310_set_debug() into l2c-310 code Russell King
2014-04-28 19:28 ` [PATCH 30/97] ARM: l2c: add L2C-210 specific handlers Russell King
2014-04-28 19:28 ` [PATCH 31/97] ARM: l2c: implement L2C-310 erratum 727915 as a method override Russell King
2014-04-28 19:28 ` [PATCH 32/97] ARM: l2c: implement L2C-310 erratum 588369 " Russell King
2014-04-28 19:29 ` [PATCH 33/97] ARM: l2c: use L2C-210 handlers for L2C-310 errata-less implementations Russell King
2014-04-28 19:29 ` [PATCH 34/97] ARM: l2c: add L2C-220 specific handlers Russell King
2014-04-28 19:29 ` [PATCH 35/97] ARM: l2c: convert Broadcom L2C-310 to new code Russell King
2014-04-28 19:29 ` [PATCH 36/97] ARM: l2c: remove obsolete l2x0 ops for non-OF init Russell King
2014-04-28 19:29 ` [PATCH 37/97] ARM: l2c: move type string into l2c_init_data structure Russell King
2014-04-28 19:29 ` [PATCH 38/97] ARM: l2c: add decode for L2C-220 cache ways Russell King
2014-04-28 19:29 ` [PATCH 39/97] ARM: l2c: move way size calculation data into l2c_init_data Russell King
2014-04-28 19:29 ` [PATCH 40/97] ARM: l2c: move errata configuration options to arch/arm/mm/Kconfig Russell King
2014-04-28 19:29 ` [PATCH 41/97] ARM: l2c: provide generic hook to intercept writes to secure registers Russell King
2014-04-28 19:29 ` [PATCH 42/97] ARM: l2c: omap2: implement new write_sec method Russell King
2014-04-28 19:29   ` Russell King
2014-04-28 19:29 ` [PATCH 43/97] ARM: l2c: omap2: remove explicit SMI calls to enable L2 cache Russell King
2014-04-28 19:29   ` Russell King
2014-04-28 19:29 ` [PATCH 44/97] ARM: l2c: highbank: implement new write_sec method Russell King
2014-04-28 19:30 ` [PATCH 45/97] ARM: l2c: highbank: remove explicit SMI call in L2 cache initialisation Russell King
2014-04-28 19:30 ` [PATCH 46/97] ARM: l2c: ux500: implement dummy write_sec method Russell King
2014-04-28 19:30 ` [PATCH 47/97] ARM: l2c: remove old .set_debug method Russell King
2014-04-28 19:30 ` [PATCH 48/97] ARM: l2c: implement L2C-310 erratum 752271 in core L2C code Russell King
2014-04-28 19:30 ` [PATCH 49/97] ARM: l2c: fix register naming Russell King
2014-04-28 19:30   ` Russell King
     [not found]   ` <E1WerFu-0001Wq-BX-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2014-04-28 20:05     ` Stephen Warren
2014-04-28 20:05       ` Stephen Warren
2014-04-28 19:30 ` [PATCH 50/97] ARM: l2c: add automatic enable of early BRESP Russell King
2014-04-28 19:30 ` [PATCH 51/97] ARM: l2c: remove platforms/SoCs setting " Russell King
2014-04-28 19:30   ` Russell King
2014-04-28 19:30   ` Russell King
2014-04-28 20:04   ` Stephen Warren
2014-04-28 20:04     ` Stephen Warren
2014-04-28 20:04     ` Stephen Warren
2014-04-29  0:02   ` Simon Horman
2014-04-29  0:02     ` Simon Horman
2014-04-29  0:02     ` Simon Horman
2014-04-29  0:21     ` Russell King - ARM Linux
2014-04-29  0:21       ` Russell King - ARM Linux
2014-04-29  0:21       ` Russell King - ARM Linux
2014-05-01 15:12       ` Grant Likely
2014-05-01 15:12         ` Grant Likely
2014-05-01 15:12         ` Grant Likely
2014-05-01 16:18         ` Jon Loeliger
2014-05-01 16:18           ` Jon Loeliger
2014-05-01 16:18           ` Jon Loeliger
2014-05-03 21:37         ` Olof Johansson
2014-05-03 21:37           ` Olof Johansson
2014-05-03 21:37           ` Olof Johansson
2014-04-29 16:17     ` Stephen Warren
2014-04-29 16:17       ` Stephen Warren
2014-04-29 16:17       ` Stephen Warren
2014-04-30  6:13       ` Simon Horman
2014-04-30  6:13         ` Simon Horman
2014-04-30  6:13         ` Simon Horman
2014-04-28 19:30 ` [PATCH 52/97] ARM: l2c: add platform independent core L2 cache initialisation Russell King
2014-04-28 19:30 ` [PATCH 53/97] ARM: l2c: provide common PL310 early resume code Russell King
2014-04-28 19:30 ` [PATCH 55/97] ARM: l2c: ux500: remove associativity and way size from aux_ctrl Russell King
2014-04-28 19:30 ` [PATCH 56/97] ARM: l2c: ux500: don't try to change the L2 cache auxiliary control register Russell King
2014-04-28 19:31 ` [PATCH 57/97] ARM: l2c: cns3xxx: remove cache size override Russell King
2014-04-28 19:31 ` [PATCH 58/97] ARM: l2c: exynos: " Russell King
2014-04-28 19:31   ` Russell King
2014-04-28 19:31 ` [PATCH 59/97] ARM: l2c: exynos: convert to common l2c310 early resume functionality Russell King
2014-04-28 19:31   ` Russell King
2014-04-28 19:31 ` [PATCH 60/97] ARM: l2c: exynos: convert to generic l2c initialisation (and thereby fix it) Russell King
2014-04-28 19:31   ` Russell King
2014-04-28 19:31 ` [PATCH 61/97] ARM: l2c: nomadik: remove cache size override Russell King
2014-04-28 19:31 ` [PATCH 62/97] ARM: l2c: nomadik: convert to generic l2c initialisation Russell King
2014-05-09  7:42   ` Linus Walleij
2014-04-28 19:31 ` [PATCH 63/97] ARM: l2c: omap2: remove cache size override Russell King
2014-04-28 19:31   ` Russell King
2014-04-28 19:31 ` [PATCH 64/97] ARM: l2c: prima2: " Russell King
     [not found] ` <20140428192419.GV26756-l+eeeJia6m9vn6HldHNs0ANdhmdF6hFW@public.gmane.org>
2014-04-28 19:30   ` [PATCH 54/97] ARM: l2c: tegra: remove associativity and way size from aux_ctrl Russell King
2014-04-28 19:30     ` Russell King
     [not found]     ` <E1WerGJ-0001XP-TI-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2014-04-28 20:22       ` Stephen Warren
2014-04-28 20:22         ` Stephen Warren
     [not found]         ` <535EB88F.9000202-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-04-29  8:52           ` Peter De Schrijver
2014-04-29  8:52             ` Peter De Schrijver
2014-04-28 19:31   ` [PATCH 65/97] ARM: l2c: prima2: convert to generic l2c initialisation Russell King
2014-04-28 19:31     ` Russell King
     [not found]     ` <E1WerHE-0001Y8-2Z-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2014-05-22 12:14       ` Barry Song
2014-05-22 12:14         ` Barry Song
2014-04-28 19:32   ` [PATCH 70/97] ARM: l2c: tegra: convert to common l2c310 early resume functionality Russell King
2014-04-28 19:32     ` Russell King
     [not found]     ` <E1WerHd-0001YS-LA-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2014-04-28 20:42       ` Stephen Warren
2014-04-28 20:42         ` Stephen Warren
     [not found]         ` <535EBD19.4060304-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-04-29  9:40           ` Joseph Lo
2014-04-29  9:40             ` Joseph Lo
2014-04-28 19:32   ` [PATCH 71/97] ARM: l2c: convert tegra to generic l2c initialisation Russell King
2014-04-28 19:32     ` Russell King
     [not found]     ` <E1WerHi-0001YW-Oi-eh5Bv4kxaXIANfyc6IWni62ZND6+EDdj@public.gmane.org>
2014-04-28 20:24       ` Stephen Warren
2014-04-28 20:24         ` Stephen Warren
     [not found]         ` <535EB900.6010506-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-04-28 20:56           ` Russell King - ARM Linux
2014-04-28 20:56             ` Russell King - ARM Linux
2014-04-28 19:31 ` [PATCH 66/97] ARM: l2c: shmobile: remove cache size override Russell King
2014-04-28 19:31   ` Russell King
2014-04-28 19:31 ` [PATCH 67/97] ARM: l2c: spear13xx: " Russell King
2014-04-28 19:31 ` [PATCH 68/97] ARM: l2c: sti: " Russell King
2014-04-29  6:48   ` Srinivas Kandagatla
2014-05-09 14:53     ` Maxime Coquelin
2014-05-09 16:10       ` Srinivas Kandagatla
2014-05-09 17:54         ` Maxime Coquelin
2014-04-28 19:32 ` [PATCH 69/97] ARM: l2c: sti: convert to generic l2c initialisation Russell King
2014-04-28 19:32 ` [PATCH 72/97] ARM: l2c: zynq: remove cache size override Russell King
2014-04-28 19:32 ` [PATCH 73/97] ARM: l2c: zynq: convert to generic l2c initialisation Russell King
2014-04-28 19:32 ` [PATCH 74/97] ARM: l2c: realview: improve commentry about the L2 cache requirements Russell King
2014-04-28 19:32 ` [PATCH 75/97] ARM: l2c: kill L2X0_AUX_CTRL_MASK before anyone else makes use of this Russell King
2014-04-28 19:32 ` [PATCH 76/97] ARM: l2c: print a warning with L2C-310 caches if the cache size is modified Russell King
2014-04-28 19:32 ` [PATCH 77/97] ARM: l2c: vexpress ca9x4: move L2 cache initialisation earlier Russell King
2014-04-28 19:32 ` [PATCH 78/97] ARM: l2c: check that DT files specify the required "cache-unified" property Russell King
2014-04-28 19:32 ` [PATCH 79/97] ARM: l2c: add warnings for stuff modifying aux_ctrl register values Russell King
2014-04-28 19:33 ` [PATCH 80/97] ARM: l2c: trial at enabling some Cortex-A9 optimisations Russell King
2014-04-28 19:33 ` [PATCH 81/97] ARM: l2c: move L2 cache register saving to a more sensible location Russell King
2014-04-28 19:33 ` [PATCH 82/97] ARM: l2c: always enable low power modes Russell King
2014-04-28 19:33 ` [PATCH 83/97] ARM: l2c: imx: remove direct write to power control register Russell King
2014-04-28 19:33 ` [PATCH 84/97] ARM: l2c: omap2: avoid reading directly from the L2 registers in platform code Russell King
2014-04-28 19:33   ` Russell King
2014-04-28 19:33 ` [PATCH 85/97] ARM: l2c: imx: convert to common l2c310 early resume functionality Russell King
2014-04-28 19:33 ` [PATCH 86/97] ARM: l2c: always enable non-secure access to lockdown registers Russell King
2014-04-28 19:33   ` Russell King
2014-04-28 19:33 ` [PATCH 87/97] ARM: l2c: omap2+: get rid of redundant cache replacement policy setting Russell King
2014-04-28 19:33   ` Russell King
2014-04-28 19:33 ` [PATCH 88/97] ARM: l2c: omap2+: get rid of init call Russell King
2014-04-28 19:33   ` Russell King
2014-04-28 19:33 ` [PATCH 89/97] ARM: l2c: AM43x: add L2 cache support Russell King
2014-04-28 19:33   ` Russell King
2014-04-28 19:33 ` [PATCH 90/97] ARM: l2c: convert rockchip to generic l2c initialisation Russell King
2014-04-28 19:33 ` [PATCH 91/97] ARM: l2c: convert highbank " Russell King
2014-04-28 19:34 ` [PATCH 92/97] ARM: l2c: convert vexpress " Russell King
2014-04-28 19:34 ` [PATCH 93/97] ARM: l2c: convert mvebu " Russell King
2014-04-29  0:21   ` Jason Cooper
2014-04-29  0:26     ` Russell King - ARM Linux
2014-04-28 19:34 ` [PATCH 94/97] ARM: l2c: convert bcm_5301x " Russell King
2014-04-28 19:34 ` [PATCH 95/97] ARM: l2c: convert imx vf610 " Russell King
2014-04-28 19:34 ` [PATCH 96/97] ARM: l2c: convert socfpga " Russell King
2014-04-28 19:34 ` [PATCH 97/97] ARM: l2c: convert berlin " Russell King
2014-04-30  7:13   ` Sebastian Hesselbarth
2014-04-29  0:24 ` [PATCH 00/98] Full L2C patch series Russell King - ARM Linux

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1WerDm-0001Qt-QH@rmk-PC.arm.linux.org.uk \
    --to=rmk+kernel@arm.linux.org.uk \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.