[PATCH 0/6] irqchip/mips-gic: Enable & use VEIC mode if available

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series enables the MIPS GIC driver to make use of the EIC mode
supported in some MIPS cores. In this mode, the cores 6 interrupt lines
are switched to represent a vector number, 0..63. Currently all GIC
interrupts are routed to a single CPU interrupt pin, but this is
inefficient since we end up checking both local and shared interrupt
flag registers for both local and shared interrupts. This introduces
additional latency into the interrupt paths. With EIC mode this can be
improved by using separate vectors for local and shared interrupts.

This series is based on 4.15-rc6 and has been tested on Boston, Malta &
SEAD3 MIPS platforms implementing a GIC with and without EIC mode
supported in hardware.



Matt Redfearn (6):
  MIPS: Move ehb() to barrier.h
  MIPS: CPS: Introduce mips_gic_enable_eic
  MIPS: Generic: Support GIC in EIC mode
  irqchip/mips-gic: Always attempt to enable EIC mode
  irqchip/mips-gic: Use separate vector for shared interrupts in EIC
    mode
  irqchip/mips-gic: Separate local interrupt handling.

 arch/mips/generic/irq.c            | 18 +++++++++---------
 arch/mips/include/asm/barrier.h    | 13 +++++++++++++
 arch/mips/include/asm/mips-gic.h   | 22 ++++++++++++++++++++++
 arch/mips/include/asm/mipsmtregs.h |  8 --------
 drivers/irqchip/irq-mips-gic.c     | 34 +++++++++++++++++++++++-----------
 5 files changed, 67 insertions(+), 28 deletions(-)

-- 
2.7.4



[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux