From: Felipe Balbi <balbi@ti.com>
To: Tony Lindgren <tony@atomide.com>
Cc: Linux OMAP Mailing List <linux-omap@vger.kernel.org>,
Linux ARM Kernel Mailing List
<linux-arm-kernel@lists.infradead.org>, <bcousson@baylibre.com>,
<linux@arm.linux.org.uk>, <khilman@deeprootsystems.com>,
<tglx@linutronix.de>, <jason@lakedaemon.net>,
<devicetree@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Felipe Balbi <balbi@ti.com>
Subject: [PATCH 35/35] irq: intc: enable IP protection
Date: Mon, 28 Jul 2014 16:16:23 -0500 [thread overview]
Message-ID: <1406582183-696-36-git-send-email-balbi@ti.com> (raw)
In-Reply-To: <1406582183-696-1-git-send-email-balbi@ti.com>
When PROTECTION bit in enabled in PROTECTION
register, INTC's registers are only accessible
from privileged mode.
Signed-off-by: Felipe Balbi <balbi@ti.com>
---
drivers/irqchip/irq-omap-intc.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/irqchip/irq-omap-intc.c b/drivers/irqchip/irq-omap-intc.c
index 371ff5e..28c8b6d 100644
--- a/drivers/irqchip/irq-omap-intc.c
+++ b/drivers/irqchip/irq-omap-intc.c
@@ -52,6 +52,8 @@
#define INTCPS_NR_ILR_REGS 128
#define INTCPS_NR_MIR_REGS 3
+#define INTC_PROTECTION_ENABLE (1 << 0)
+
/*
* OMAP2 has a number of different interrupt controllers, each interrupt
* controller is identified as its own "bank". Register definitions are
@@ -291,12 +293,28 @@ static int __init omap_init_irq_legacy(u32 base)
return 0;
}
+static void __init omap_irq_enable_protection(void)
+{
+ u32 reg;
+
+ reg = intc_readl(INTC_PROTECTION);
+ reg |= INTC_PROTECTION_ENABLE;
+ intc_writel(INTC_PROTECTION, reg);
+}
+
static int __init omap_init_irq(u32 base, struct device_node *node)
{
+ int ret;
+
if (node)
- return omap_init_irq_of(node);
+ ret = omap_init_irq_of(node);
else
- return omap_init_irq_legacy(base);
+ ret = omap_init_irq_legacy(base);
+
+ if (ret == 0)
+ omap_irq_enable_protection();
+
+ return ret;
}
static asmlinkage void __exception_irq_entry
--
2.0.1.563.g66f467c
next prev parent reply other threads:[~2014-07-28 21:21 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-28 21:15 [PATCH 00/35] arm: omap: move intc to drivers/irqchip/ Felipe Balbi
2014-07-28 21:15 ` [PATCH 01/35] arm: omap: irq: make omap_irq_base global Felipe Balbi
2014-07-28 21:15 ` [PATCH 02/35] arm: omap: irq: define INTC_ILR0 register Felipe Balbi
2014-07-28 21:15 ` [PATCH 03/35] arm: omap: irq: start to remove irq_banks array Felipe Balbi
2014-07-28 21:15 ` [PATCH 04/35] arm: omap: irq: add a global omap_nr_irqs variable Felipe Balbi
2014-07-28 21:15 ` [PATCH 05/35] arm: omap: irq: remove rest of irq_banks usage Felipe Balbi
2014-07-28 21:15 ` [PATCH 06/35] arm: omap: irq: remove unused macro Felipe Balbi
2014-07-28 21:15 ` [PATCH 07/35] arm: omap: irq: switch over to intc_readl on omap_intc_handle_irq Felipe Balbi
2014-07-28 21:15 ` [PATCH 08/35] arm: omap: irq: remove unnecessary base_addr argument Felipe Balbi
2014-07-28 21:15 ` [PATCH 09/35] arm: omap: irq: rename omap3_intc_regs Felipe Balbi
2014-07-28 21:15 ` [PATCH 10/35] arm: omap: irq: always define omap3 support Felipe Balbi
2014-07-28 21:15 ` [PATCH 11/35] arm: omap: irq: reorganize code a little bit Felipe Balbi
2014-07-28 21:16 ` [PATCH 12/35] arm: omap: irq: make intc_of_init static Felipe Balbi
2014-07-28 21:16 ` [PATCH 13/35] arm: omap: irq: call set_handle_irq() from intc_of_init Felipe Balbi
2014-07-29 2:20 ` Sebastian Reichel
2014-07-29 15:36 ` Felipe Balbi
2014-07-29 16:00 ` Sebastian Reichel
2014-07-28 21:16 ` [PATCH 14/35] arm: omap: irq: use IRQCHIP_DECLARE macro Felipe Balbi
2014-07-28 21:16 ` [PATCH 15/35] arm: omap: irq: drop .handle_irq and .init_irq fields Felipe Balbi
2014-07-28 21:16 ` [PATCH 16/35] arm: omap: irq: add specific compatibles for omap3 and am33xx devices Felipe Balbi
2014-07-28 21:16 ` [PATCH 17/35] arm: omap: irq: use compatible flag to figure out number of IRQ lines Felipe Balbi
2014-07-28 21:16 ` [PATCH 18/35] arm: boot: dts: am33xx/omap3: fix intc compatible flag Felipe Balbi
2014-07-28 21:16 ` [PATCH 19/35] arm: omap: irq: drop ti,intc-size support Felipe Balbi
2014-07-29 2:12 ` Sebastian Reichel
2014-07-28 21:16 ` [PATCH 20/35] arm: boot: dts: omap2/3/am33xx: drop ti,intc-size Felipe Balbi
2014-07-28 21:16 ` [PATCH 21/35] arm: omap: irq: move some more code around Felipe Balbi
2014-07-28 21:16 ` [PATCH 22/35] arm: omap: irq: call set_handle_irq() from .init_irq Felipe Balbi
2014-07-28 21:16 ` [PATCH 23/35] arm: omap: irq: drop omap3_intc_handle_irq() Felipe Balbi
2014-07-28 21:16 ` [PATCH 24/35] arm: omap: irq: drop omap2_intc_handle_irq() Felipe Balbi
2014-07-28 21:16 ` [PATCH 25/35] arm: omap: irq: remove unnecessary header Felipe Balbi
2014-07-28 21:16 ` [PATCH 26/35] arm: omap: irq: remove nr_irqs argument Felipe Balbi
2014-07-28 21:16 ` [PATCH 27/35] arm: omap: irq: introduce omap_nr_pending Felipe Balbi
2014-07-28 21:16 ` [PATCH 28/35] arm: omap: irq: get rid of ifdef hack Felipe Balbi
2014-07-28 21:16 ` [PATCH 29/35] arm: omap: intc: switch over to linear irq domain Felipe Balbi
2014-07-29 12:14 ` Tony Lindgren
2014-07-29 14:15 ` Felipe Balbi
2014-07-29 15:20 ` Tony Lindgren
2014-07-29 15:40 ` Felipe Balbi
2014-07-29 16:33 ` Felipe Balbi
2014-07-30 6:04 ` Tony Lindgren
2014-07-30 14:40 ` Felipe Balbi
2014-07-30 15:45 ` Nishanth Menon
2014-07-30 16:20 ` Felipe Balbi
2014-07-31 6:28 ` Tony Lindgren
2014-07-31 7:57 ` Tero Kristo
2014-07-31 13:49 ` Felipe Balbi
2014-08-01 12:26 ` Tero Kristo
2014-08-01 13:54 ` Felipe Balbi
2014-07-28 21:16 ` [PATCH 30/35] irqchip: add irq-omap-intc.h header Felipe Balbi
2014-07-29 12:01 ` Tony Lindgren
2014-07-29 14:10 ` Felipe Balbi
2014-07-29 15:06 ` Tony Lindgren
2014-07-29 15:19 ` Felipe Balbi
2014-07-29 15:28 ` Tony Lindgren
2014-09-11 21:08 ` Tony Lindgren
2014-09-15 19:29 ` Felipe Balbi
2014-07-28 21:16 ` [PATCH 31/35] arm: omap: irq: move irq.c to drivers/irqchip/ Felipe Balbi
2014-07-28 21:16 ` [PATCH 32/35] irq: intc: minor improvement to omap_irq_pending() Felipe Balbi
2014-07-28 21:16 ` [PATCH 33/35] irq: intc: comment style cleanup Felipe Balbi
2014-07-28 21:16 ` [PATCH 34/35] irq: intc: remove unnecesary of_address_to_resource() call Felipe Balbi
2014-07-28 21:16 ` Felipe Balbi [this message]
2014-07-28 21:19 ` [PATCH 00/35] arm: omap: move intc to drivers/irqchip/ Felipe Balbi
2014-07-29 2:25 ` Sebastian Reichel
2014-09-09 0:59 ` Tony Lindgren
2014-09-14 5:18 ` Jason Cooper
2014-09-15 15:31 ` Tony Lindgren
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=1406582183-696-36-git-send-email-balbi@ti.com \
--to=balbi@ti.com \
--cc=bcousson@baylibre.com \
--cc=devicetree@vger.kernel.org \
--cc=jason@lakedaemon.net \
--cc=khilman@deeprootsystems.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=tglx@linutronix.de \
--cc=tony@atomide.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®