aboutsummaryrefslogtreecommitdiff
path: root/arch/microblaze/kernel/irq.c
AgeCommit message (Collapse)AuthorFilesLines
2022-03-04irqchip/xilinx: Switch to GENERIC_IRQ_MULTI_HANDLERMichal Simek1-15/+1
Register the Xilinx driver as the root interrupt controller using the GENERIC_IRQ_MULTI_HANDLER API, instead of the arch-specific hack. Signed-off-by: Michal Simek <[email protected]> Reviewed-by: Stefan Asserhall <[email protected]> [maz: repainted commit message] Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/e6c6595a81f662bf839cee3109d0fa58a596ea47.1646380284.git.michal.simek@xilinx.com
2020-04-01Revert "irqchip/xilinx: Enable generic irq multi handler"Marc Zyngier1-1/+20
This reverts commit a0789993bf8266e62fea6b4613945ba081c71e7d, which breaks a number of PPC platforms. Reported-by: Stephen Rothwell <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2020-03-22irqchip/xilinx: Enable generic irq multi handlerMichal Simek1-20/+1
Register default arch handler via driver instead of directly pointing to xilinx intc controller. This patch makes architecture code more generic. Driver calls generic domain specific irq handler which does the most of things self. Also get rid of concurrent_irq counting which hasn't been exported anywhere. Based on this loop was also optimized by using do/while loop instead of goto loop. Signed-off-by: Michal Simek <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Reviewed-by: Stefan Asserhall <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2016-11-29irqchip/xilinx: Rename get_irq to xintc_get_irqZubair Lutfullah Kakakhel1-2/+2
Now that the driver is generic and used by multiple archs, get_irq is too generic. Rename get_irq to xintc_get_irq to avoid any conflicts Acked-by: Michal Simek <[email protected]> Signed-off-by: Zubair Lutfullah Kakakhel <[email protected]> Signed-off-by: Marc Zyngier <[email protected]>
2013-09-03microblaze: intc: Using irqchipMichal Simek1-0/+7
- Move init_IRQ to irq.c - Use IRQCHIP_DECLARE macro Signed-off-by: Michal Simek <[email protected]>
2013-09-03microblaze: intc: Remove unused headersMichal Simek1-3/+0
Trivial. Signed-off-by: Michal Simek <[email protected]>
2012-02-16irq_domain/microblaze: Convert microblaze to use irq_domainsGrant Likely1-20/+4
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 <[email protected]> Signed-off-by: Michal Simek <[email protected]> Cc: Rob Herring <[email protected]> Cc: John Williams <[email protected]> Cc: John Linn <[email protected]>
2012-02-14irq_domain: convert microblaze from irq_host to irq_domainGrant Likely1-1/+1
Trivial change, microblaze doesn't use irq remapping yet. Signed-off-by: Grant Likely <[email protected]> Cc: Michal Simek <[email protected]> Cc: Thomas Gleixner <[email protected]>
2012-01-05microblaze: Change NO_IRQ to 0Michal Simek1-5/+6
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 <[email protected]> Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2011-10-31microblaze: Add export.h to arch/microblaze files as requiredPaul Gortmaker1-0/+1
For access to the EXPORT_SYMBOL variants and THIS_MODULE macros. Signed-off-by: Paul Gortmaker <[email protected]>
2011-03-29microblaze: Use generic show_interrupts()Thomas Gleixner1-42/+0
Signed-off-by: Thomas Gleixner <[email protected]>
2011-03-09microblaze: Convert irq_chip to new functionsThomas Gleixner1-5/+7
Use proper irq_desc wrappers while at it. Signed-off-by: Thomas Gleixner <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2010-08-05Merge branch 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6Linus Torvalds1-12/+2
* 'next-devicetree' of git://git.secretlab.ca/git/linux-2.6: (63 commits) of/platform: Register of_platform_drivers with an "of:" prefix of/address: Clean up function declarations of/spi: call of_register_spi_devices() from spi core code of: Provide default of_node_to_nid() implementation. of/device: Make of_device_make_bus_id() usable by other code. of/irq: Fix endian issues in parsing interrupt specifiers of: Fix phandle endian issues of/flattree: fix of_flat_dt_is_compatible() to match the full compatible string of: remove of_default_bus_ids of: make of_find_device_by_node generic microblaze: remove references to of_device and to_of_device sparc: remove references to of_device and to_of_device powerpc: remove references to of_device and to_of_device of/device: Replace of_device with platform_device in includes and core code of/device: Protect against binding of_platform_drivers to non-OF devices of: remove asm/of_device.h of: remove asm/of_platform.h of/platform: remove all of_bus_type and of_platform_bus_type references of: Merge of_platform_bus_type with platform_bus_type drivercore/of: Add OF style matching to platform bus ... Fix up trivial conflicts in arch/microblaze/kernel/Makefile due to just some obj-y removals by the devicetree branch, while the microblaze updates added a new file.
2010-08-04microblaze: Trace hardirqsMichal Simek1-0/+2
Add trace_hardirqs_off and trace_hardirqs_on to do_IRQ function. Signed-off-by: Michal Simek <[email protected]>
2010-06-28of/irq: Move irq_of_parse_and_map() to common codeGrant Likely1-12/+2
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 <[email protected]> Acked-by: Benjamin Herrenschmidt <[email protected]> Cc: Michal Simek <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Stephen Rothwell <[email protected]> Cc: Jeremy Kerr <[email protected]>
2010-05-06microblaze: Fix IRQ entry/exit ftracingSteven J. Magnani1-1/+2
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 <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2010-03-11microblaze: Add irq_create_{of_,}mapping functionsMichal Simek1-0/+15
Support function for PCI. We don't use any advance mapping mechanism that's why implementation is simple. Signed-off-by: Michal Simek <[email protected]>
2009-12-14genirq: Convert irq_desc.lock to raw_spinlockThomas Gleixner1-2/+2
Convert locks which cannot be sleeping locks in preempt-rt to raw_spinlocks. Signed-off-by: Thomas Gleixner <[email protected]> Acked-by: Peter Zijlstra <[email protected]> Acked-by: Ingo Molnar <[email protected]>
2009-08-18microblaze: use the generic ack_bad_irq implementationChristoph Hellwig1-9/+0
Signed-off-by: Christoph Hellwig <[email protected]> Signed-off-by: Michal Simek <[email protected]>
2009-03-27microblaze_v8: Interrupt handling and timer supportMichal Simek1-0/+104
Reviewed-by: Thomas Gleixner <[email protected]> Reviewed-by: Ingo Molnar <[email protected]> Reviewed-by: Stephen Neuendorffer <[email protected]> Acked-by: John Linn <[email protected]> Acked-by: John Williams <[email protected]> Signed-off-by: Michal Simek <[email protected]>