mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
IRQCHIP: mips-gic: Add function for retrieving FDC IRQ
Add a function to the MIPS GIC driver for retrieving the Fast Debug Channel (FDC) interrupt number, similar to the existing ones for the timer and perf counter interrupts. This will be used by platform implementations of get_c0_fdc_int() if a GIC is present. A workaround exists for interAptiv and proAptiv which claim to be able to route the FDC interrupt but don't seem to be able to in practice (at least on Malta). [[email protected]: Fix conflict.] Signed-off-by: James Hogan <[email protected]> Cc: Ralf Baechle <[email protected]> Cc: Andrew Bresticker <[email protected]> Cc: Thomas Gleixner <[email protected]> Cc: Jason Cooper <[email protected]> Cc: [email protected] Cc: [email protected] Patchwork: https://patchwork.linux-mips.org/patch/9142/ Signed-off-by: Ralf Baechle <[email protected]>
This commit is contained in:
parent
b720fd8b66
commit
6429e2b6fc
2 changed files with 24 additions and 0 deletions
|
|
@ -227,6 +227,29 @@ int gic_get_c0_perfcount_int(void)
|
|||
GIC_LOCAL_TO_HWIRQ(GIC_LOCAL_INT_PERFCTR));
|
||||
}
|
||||
|
||||
int gic_get_c0_fdc_int(void)
|
||||
{
|
||||
if (!gic_local_irq_is_routable(GIC_LOCAL_INT_FDC)) {
|
||||
/* Is the FDC IRQ even present? */
|
||||
if (cp0_fdc_irq < 0)
|
||||
return -1;
|
||||
return MIPS_CPU_IRQ_BASE + cp0_fdc_irq;
|
||||
}
|
||||
|
||||
/*
|
||||
* Some cores claim the FDC is routable but it doesn't actually seem to
|
||||
* be connected.
|
||||
*/
|
||||
switch (current_cpu_type()) {
|
||||
case CPU_INTERAPTIV:
|
||||
case CPU_PROAPTIV:
|
||||
return -1;
|
||||
}
|
||||
|
||||
return irq_create_mapping(gic_irq_domain,
|
||||
GIC_LOCAL_TO_HWIRQ(GIC_LOCAL_INT_FDC));
|
||||
}
|
||||
|
||||
static void gic_handle_shared_int(void)
|
||||
{
|
||||
unsigned int i, intr, virq;
|
||||
|
|
|
|||
Loading…
Reference in a new issue