diff options
author | Thomas Bogendoerfer <tbogendoerfer@suse.de> | 2019-05-08 00:09:15 +0300 |
---|---|---|
committer | Paul Burton <paul.burton@mips.com> | 2019-05-10 02:48:20 +0300 |
commit | e6308b6d35ea706c23a589a8c709fa444ff13e17 (patch) | |
tree | 12679cc0d20fe704547ff21e047a26e96be1bb1a /arch/mips/include/asm | |
parent | a57140e9a850582ddafdd8f115b78713baaf0d00 (diff) | |
download | linux-e6308b6d35ea706c23a589a8c709fa444ff13e17.tar.xz |
MIPS: SGI-IP27: abstract chipset irq from bridge
Bridge ASIC is widely used in different SGI systems, but the connected
chipset is either HUB, HEART or BEDROCK. This commit switches to
irq domain hierarchy for hub and bridge interrupts to get bridge
setup out of hub interrupt code.
Signed-off-by: Thomas Bogendoerfer <tbogendoerfer@suse.de>
[paul.burton@mips.com:
Resolve conflict with commit 69a07a41d908 ("MIPS: SGI-IP27: rework HUB
interrupts").]
Signed-off-by: Paul Burton <paul.burton@mips.com>
Cc: Ralf Baechle <ralf@linux-mips.org>
Cc: James Hogan <jhogan@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Diffstat (limited to 'arch/mips/include/asm')
-rw-r--r-- | arch/mips/include/asm/pci/bridge.h | 3 | ||||
-rw-r--r-- | arch/mips/include/asm/sn/irq_alloc.h | 11 |
2 files changed, 12 insertions, 2 deletions
diff --git a/arch/mips/include/asm/pci/bridge.h b/arch/mips/include/asm/pci/bridge.h index d42b27c97c23..a92cd30b48c9 100644 --- a/arch/mips/include/asm/pci/bridge.h +++ b/arch/mips/include/asm/pci/bridge.h @@ -805,6 +805,7 @@ struct bridge_controller { struct bridge_regs *base; unsigned long baddr; unsigned long intr_addr; + struct irq_domain *domain; unsigned int pci_int[8]; nasid_t nasid; }; @@ -819,6 +820,4 @@ struct bridge_controller { #define bridge_clr(bc, reg, val) \ __raw_writel(__raw_readl(&bc->base->reg) & ~(val), &bc->base->reg) -extern int request_bridge_irq(struct bridge_controller *bc, int pin); - #endif /* _ASM_PCI_BRIDGE_H */ diff --git a/arch/mips/include/asm/sn/irq_alloc.h b/arch/mips/include/asm/sn/irq_alloc.h new file mode 100644 index 000000000000..09b89cecff56 --- /dev/null +++ b/arch/mips/include/asm/sn/irq_alloc.h @@ -0,0 +1,11 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +#ifndef __ASM_SN_IRQ_ALLOC_H +#define __ASM_SN_IRQ_ALLOC_H + +struct irq_alloc_info { + void *ctrl; + nasid_t nasid; + int pin; +}; + +#endif /* __ASM_SN_IRQ_ALLOC_H */ |