MIPS: OCTEON: Add support for OCTEON III interrupt controller.
Add irq_chip support for both IPI and "normal" interrupts of the CIU3 controller. Document the device tree binding for the CIU3. Some functions are non-static as they will be used by follow-on support for MSI-X. Signed-off-by: David Daney <david.daney@cavium.com> Acked-by: Rob Herring <robh@kernel.org> Cc: Rob Herring <robh+dt@kernel.org> Cc: Pawel Moll <pawel.moll@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Ian Campbell <ijc+devicetree@hellion.org.uk> Cc: Kumar Gala <galak@codeaurora.org> Cc: devicetree@vger.kernel.org Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-mips@linux-mips.org Cc: linux-kernel@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/12500/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:

committed by
Ralf Baechle

parent
9bc2223995
commit
ce210d35bb
@@ -299,6 +299,25 @@ static inline void octeon_npi_write32(uint64_t address, uint32_t val)
|
||||
cvmx_read64_uint32(address ^ 4);
|
||||
}
|
||||
|
||||
struct irq_domain;
|
||||
struct device_node;
|
||||
struct irq_data;
|
||||
struct irq_chip;
|
||||
void octeon_ciu3_mbox_send(int cpu, unsigned int mbox);
|
||||
int octeon_irq_ciu3_xlat(struct irq_domain *d,
|
||||
struct device_node *node,
|
||||
const u32 *intspec,
|
||||
unsigned int intsize,
|
||||
unsigned long *out_hwirq,
|
||||
unsigned int *out_type);
|
||||
void octeon_irq_ciu3_enable(struct irq_data *data);
|
||||
void octeon_irq_ciu3_disable(struct irq_data *data);
|
||||
void octeon_irq_ciu3_ack(struct irq_data *data);
|
||||
void octeon_irq_ciu3_mask(struct irq_data *data);
|
||||
void octeon_irq_ciu3_mask_ack(struct irq_data *data);
|
||||
int octeon_irq_ciu3_mapx(struct irq_domain *d, unsigned int virq,
|
||||
irq_hw_number_t hw, struct irq_chip *chip);
|
||||
|
||||
/* Octeon multiplier save/restore routines from octeon_switch.S */
|
||||
void octeon_mult_save(void);
|
||||
void octeon_mult_restore(void);
|
||||
|
Reference in New Issue
Block a user