diff options
author | Steven J. Hill <Steven.Hill@cavium.com> | 2017-08-29 10:40:35 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2017-09-04 21:19:03 +0200 |
commit | ba1fc93457e3506aaab88b67b5404a8915ea8233 (patch) | |
tree | 3064aafebfb40f3376ab97d112d06c6ff92b0488 /arch | |
parent | 3c425df7a0ff5ca6feab890cb8f51f4d8aa98ef8 (diff) | |
download | linux-stable-ba1fc93457e3506aaab88b67b5404a8915ea8233.tar.gz linux-stable-ba1fc93457e3506aaab88b67b5404a8915ea8233.tar.bz2 linux-stable-ba1fc93457e3506aaab88b67b5404a8915ea8233.zip |
MIPS: Octeon: Allow access to CIU3 IRQ domains.
Add accessor function octeon_irq_get_block_domain() for cores
with a CIU3.
Signed-off-by: Steven J. Hill <steven.hill@cavium.com>
Acked-by: David Daney <david.daney@cavium.com>
Cc: linux-mips@linux-mips.org
Cc: linux-watchdog@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/17210/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/cavium-octeon/octeon-irq.c | 9 | ||||
-rw-r--r-- | arch/mips/include/asm/octeon/octeon.h | 2 |
2 files changed, 11 insertions, 0 deletions
diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c index c1eb1ff7c800..5b3a3f6a9ad3 100644 --- a/arch/mips/cavium-octeon/octeon-irq.c +++ b/arch/mips/cavium-octeon/octeon-irq.c @@ -2963,3 +2963,12 @@ void octeon_fixup_irqs(void) } #endif /* CONFIG_HOTPLUG_CPU */ + +struct irq_domain *octeon_irq_get_block_domain(int node, uint8_t block) +{ + struct octeon_ciu3_info *ciu3_info; + + ciu3_info = octeon_ciu3_info_per_node[node & CVMX_NODE_MASK]; + return ciu3_info->domain[block]; +} +EXPORT_SYMBOL(octeon_irq_get_block_domain); diff --git a/arch/mips/include/asm/octeon/octeon.h b/arch/mips/include/asm/octeon/octeon.h index 07c0516ef4d5..c99c4b6a79f4 100644 --- a/arch/mips/include/asm/octeon/octeon.h +++ b/arch/mips/include/asm/octeon/octeon.h @@ -362,4 +362,6 @@ extern void octeon_fixup_irqs(void); extern struct semaphore octeon_bootbus_sem; +struct irq_domain *octeon_irq_get_block_domain(int node, uint8_t block); + #endif /* __ASM_OCTEON_OCTEON_H */ |