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 02/16] ARM: l2c: add platform independent core L2 cache initialisation
Date: Mon, 28 Apr 2014 17:57:57 +0100	[thread overview]
Message-ID: <E1WeosP-0002PO-5m@rmk-PC.arm.linux.org.uk> (raw)
In-Reply-To: <20140428165631.GM26756@n2100.arm.linux.org.uk>

Add a hook into the core ARM code to perform L2 cache initialisation
in a platform independent manner.  Platforms still get to indicate
their auxiliary control register values and mask, but the
initialisation call will now be made from generic code.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
---
 arch/arm/include/asm/mach/arch.h |  3 +++
 arch/arm/kernel/irq.c            | 12 ++++++++++++
 2 files changed, 15 insertions(+)

diff --git a/arch/arm/include/asm/mach/arch.h b/arch/arm/include/asm/mach/arch.h
index 17a3fa2979e8..5249cc3c52f4 100644
--- a/arch/arm/include/asm/mach/arch.h
+++ b/arch/arm/include/asm/mach/arch.h
@@ -45,6 +45,9 @@ struct machine_desc {
 	unsigned char		reserve_lp1 :1;	/* never has lp1	*/
 	unsigned char		reserve_lp2 :1;	/* never has lp2	*/
 	enum reboot_mode	reboot_mode;	/* default restart mode	*/
+	unsigned		l2c_aux_val;	/* L2 cache aux value	*/
+	unsigned		l2c_aux_mask;	/* L2 cache aux mask	*/
+	void			(*l2c_write_sec)(unsigned long, unsigned);
 	struct smp_operations	*smp;		/* SMP operations	*/
 	bool			(*smp_init)(void);
 	void			(*fixup)(struct tag *, char **,
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c
index 9723d17b8f38..2c4257604513 100644
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -37,6 +37,7 @@
 #include <linux/proc_fs.h>
 #include <linux/export.h>
 
+#include <asm/hardware/cache-l2x0.h>
 #include <asm/exception.h>
 #include <asm/mach/arch.h>
 #include <asm/mach/irq.h>
@@ -115,10 +116,21 @@ EXPORT_SYMBOL_GPL(set_irq_flags);
 
 void __init init_IRQ(void)
 {
+	int ret;
+
 	if (IS_ENABLED(CONFIG_OF) && !machine_desc->init_irq)
 		irqchip_init();
 	else
 		machine_desc->init_irq();
+
+	if (IS_ENABLED(CONFIG_OF) && IS_ENABLED(CONFIG_CACHE_L2X0) &&
+	    (machine_desc->l2c_aux_mask || machine_desc->l2c_aux_val)) {
+		outer_cache.write_sec = machine_desc->l2c_write_sec;
+		ret = l2x0_of_init(machine_desc->l2c_aux_val,
+				   machine_desc->l2c_aux_mask);
+		if (ret)
+			pr_err("L2C: failed to init: %d\n", ret);
+	}
 }
 
 #ifdef CONFIG_MULTI_IRQ_HANDLER
-- 
1.8.3.1

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

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-28 16:56 [PATCH 00/16] Another 16 L2C patches Russell King - ARM Linux
2014-04-28 16:56 ` Russell King - ARM Linux
2014-04-28 16:57 ` [PATCH 01/16] ARM: l2c: bcm - remove UL (needs folding into earlier patch) Russell King
2014-04-28 16:57 ` Russell King [this message]
2014-04-28 17:54   ` [PATCH 02/16] ARM: l2c: add platform independent core L2 cache initialisation Rob Herring
2014-04-28 18:23     ` Russell King - ARM Linux
2014-04-28 18:50       ` Rob Herring
2014-04-28 19:12         ` Russell King - ARM Linux
2014-04-28 16:58 ` [PATCH 03/16] ARM: l2c: convert rockchip to generic l2c initialisation Russell King
2014-04-28 16:58 ` [PATCH 04/16] ARM: l2c: convert nomadik " Russell King
2014-04-28 16:58 ` [PATCH 05/16] ARM: l2c: convert zynq " Russell King
2014-04-28 16:58 ` [PATCH 06/16] ARM: l2c: convert highbank " Russell King
2014-04-28 16:58 ` [PATCH 07/16] ARM: l2c: convert tegra " Russell King
2014-04-28 16:58   ` Russell King
2014-04-28 17:28   ` Stephen Warren
2014-04-28 17:28     ` Stephen Warren
2014-04-28 17:41     ` Russell King - ARM Linux
2014-04-28 17:41       ` Russell King - ARM Linux
2014-04-28 16:58 ` [PATCH 08/16] ARM: l2c: convert prima2 " Russell King
2014-04-28 17:34   ` Matt Porter
2014-04-28 18:21     ` Russell King - ARM Linux
2014-04-28 16:58 ` [PATCH 09/16] ARM: l2c: convert vexpress " Russell King
2014-04-28 16:58 ` [PATCH 10/16] ARM: l2c: convert mvebu " Russell King
2014-04-28 16:58 ` [PATCH 11/16] ARM: l2c: convert bcm_5301x " Russell King
2014-04-28 16:58 ` [PATCH 12/16] ARM: l2c: convert imx vf610 " Russell King
2014-04-28 16:58 ` [PATCH 13/16] ARM: l2c: convert sti " Russell King
2014-04-28 16:58 ` [PATCH 14/16] ARM: l2c: convert exynos to generic l2c initialisation (and thereby fix it) Russell King
2014-04-28 16:58   ` Russell King
2014-04-28 16:59 ` [PATCH 15/16] ARM: l2c: convert socfpga to generic l2c initialisation Russell King
2014-04-28 17:56   ` Dinh Nguyen
2014-04-28 16:59 ` [PATCH 16/16] ARM: l2c: convert berlin " Russell King
2014-04-28 17:12 ` [PATCH 00/16] Another 16 L2C patches Stephen Warren
2014-04-28 17:12   ` Stephen Warren
2014-04-28 17:27   ` Stephen Warren
2014-04-28 17:27     ` Stephen Warren
2014-04-28 17:39     ` Russell King - ARM Linux
2014-04-28 17:39       ` Russell King - ARM Linux
2014-04-28 18:08       ` Stephen Warren
2014-04-28 18:08         ` Stephen Warren
2014-04-28 18:19         ` Russell King - ARM Linux
2014-04-28 18:19           ` Russell King - ARM Linux
2014-04-28 18:40           ` Stephen Warren
2014-04-28 18:40             ` Stephen Warren
     [not found]             ` <535EA090.6030903-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-04-28 19:10               ` Russell King - ARM Linux
2014-04-28 19:10                 ` Russell King - ARM Linux
2014-04-28 19:00 ` Heiko Stübner
2014-04-28 19:00   ` Heiko Stübner

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=E1WeosP-0002PO-5m@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.