History log of /arch/microblaze/kernel/irq.c
Revision Date Author Comments
8a9e90a12816d0d26ccfb98cf6ac224a5a45d453 27-Aug-2013 Michal Simek <michal.simek@xilinx.com> microblaze: intc: Using irqchip

- Move init_IRQ to irq.c
- Use IRQCHIP_DECLARE macro

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
07020326a79c948c4f7a20ba0a8fc92ccba938af 27-Aug-2013 Michal Simek <michal.simek@xilinx.com> microblaze: intc: Remove unused headers

Trivial.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2462bacd0334d918f9fcd79fc59c403b76b36f8a 26-Jan-2012 Grant Likely <grant.likely@secretlab.ca> irq_domain/microblaze: Convert microblaze to use irq_domains

This patch converts Microblaze to use the irq_domain remapper and get
away from hard coding the offset between hwirq number and the linux irq
number space. This also paves the way for multiple interrupt controllers.

v2: Don't enable SPARSE_IRQ and keep NR_IRQS set to 33

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: John Williams <john.williams@petalogix.com>
Cc: John Linn <john.linn@xilinx.com>
644bd954313254b54e08b69077e16831b6e04dfa 14-Feb-2012 Grant Likely <grant.likely@secretlab.ca> irq_domain: convert microblaze from irq_host to irq_domain

Trivial change, microblaze doesn't use irq remapping yet.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Thomas Gleixner <tglx@linutronix.de>
6c7a2676f594ca9a30203b4fd5dc26b53682cffe 09-Dec-2011 Michal Simek <monstr@monstr.eu> microblaze: Change NO_IRQ to 0

As has been discussed many times[1], Using NO_IRQ set to anything other
than 0 is bug waiting to happen since many drivers follow the pattern
"if (!irq)" for testing whether or not an irq has been set.

This patch changes the Microblaze NO_IRQ setting from -1 to 0 to bring
it in line with most of the rest of the kernel. It also prepares for
Microblaze eventually supporting multiple interrupt controllers by
breaking the assumption that hwirq# == Linux IRQ#. The Linux IRQ
number is just a cookie with no guarantee of a direct relationship
with the hardware irq arrangement.

At this point, Microblaze interrupt handling only supports only one
instance of one kind of interrupt controller (xilinx_intc). This change
shouldn't affect any architecture code outside of the interrupt
controller driver and the irq_of mapping.

Updated to 3.2 and to use irq_data.hwirq by Rob Herring.
Tested and fixed by Michal Simek.

[1] http://lkml.org/lkml/2005/11/21/221

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
66421a648d11c60e75d1ec4876f0748341598f5d 22-Sep-2011 Paul Gortmaker <paul.gortmaker@windriver.com> microblaze: Add export.h to arch/microblaze files as required

For access to the EXPORT_SYMBOL variants and THIS_MODULE macros.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
9d61c18b25726306c9231428c17db42e3ff29ba7 24-Mar-2011 Thomas Gleixner <tglx@linutronix.de> microblaze: Use generic show_interrupts()

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
6f205a4c69037e4d8fdf33088a852b64500df012 06-Feb-2011 Thomas Gleixner <tglx@linutronix.de> microblaze: Convert irq_chip to new functions

Use proper irq_desc wrappers while at it.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Michal Simek <monstr@monstr.eu>
0d9ec762af297f1ef38114f9498322d994063802 25-May-2010 Michal Simek <monstr@monstr.eu> microblaze: Trace hardirqs

Add trace_hardirqs_off and trace_hardirqs_on to do_IRQ function.

Signed-off-by: Michal Simek <monstr@monstr.eu>
e3873444990dd6f8a095d1f72b5ad45192f8c506 18-Jun-2010 Grant Likely <grant.likely@secretlab.ca> of/irq: Move irq_of_parse_and_map() to common code

Merge common code between PowerPC and Microblaze. SPARC implements
irq_of_parse_and_map(), but the implementation is different, so it
does not use this code.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
e6d7961e5be0a259ba87411370f8be7f7da4c0f6 12-Apr-2010 Steven J. Magnani <steve@digidescorp.com> microblaze: Fix IRQ entry/exit ftracing

Function traces on Microblaze don't include IRQ entry and exit arrows,
i.e.

0) | memcpy_toiovec() {
0) ==========> |
0) | do_IRQ() {
...
0) <========== |
0) ! 5414.000 us | }

...because do_IRQ() doesn't have the proper attributes.

Signed-off-by: Steven J. Magnani <steve@digidescorp.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
c6ba01a4c7806d134c8d483525997559071d0990 14-Jan-2010 Michal Simek <monstr@monstr.eu> microblaze: Add irq_create_{of_,}mapping functions

Support function for PCI. We don't use any advance mapping mechanism
that's why implementation is simple.

Signed-off-by: Michal Simek <monstr@monstr.eu>
239007b8440abff689632f50cdf0f2b9e895b534 17-Nov-2009 Thomas Gleixner <tglx@linutronix.de> genirq: Convert irq_desc.lock to raw_spinlock

Convert locks which cannot be sleeping locks in preempt-rt to
raw_spinlocks.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Acked-by: Ingo Molnar <mingo@elte.hu>
6b99ecec25c8fd501e74306f5d23dd0365065e2a 06-Aug-2009 Christoph Hellwig <hch@lst.de> microblaze: use the generic ack_bad_irq implementation

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Michal Simek <monstr@monstr.eu>
eedbdab99fffb8ed71cac75a722088b8ace2583c 27-Mar-2009 Michal Simek <monstr@monstr.eu> microblaze_v8: Interrupt handling and timer support

Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Reviewed-by: Stephen Neuendorffer <stephen.neuendorffer@xilinx.com>
Acked-by: John Linn <john.linn@xilinx.com>
Acked-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>