1. 11 Jul, 2023 1 commit
    • Lorenzo Pieralisi's avatar
      irqchip/gic-v3: Workaround for GIC-700 erratum 2941627 · 6fe5c68e
      Lorenzo Pieralisi authored
      GIC700 erratum 2941627 may cause GIC-700 missing SPIs wake
      requests when SPIs are deactivated while targeting a
      sleeping CPU - ie a CPU for which the redistributor:
      
      GICR_WAKER.ProcessorSleep == 1
      
      This runtime situation can happen if an SPI that has been
      activated on a core is retargeted to a different core, it
      becomes pending and the target core subsequently enters a
      power state quiescing the respective redistributor.
      
      When this situation is hit, the de-activation carried out
      on the core that activated the SPI (through either ICC_EOIR1_EL1
      or ICC_DIR_EL1 register writes) does not trigger a wake
      requests for the sleeping GIC redistributor even if the SPI
      is pending.
      
      Work around the erratum by de-activating the SPI using the
      redistributor GICD_ICACTIVER register if the runtime
      conditions require it (ie the IRQ was retargeted between
      activation and de-activation).
      Signed-off-by: default avatarLorenzo Pieralisi <lpieralisi@kernel.org>
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Link: https://lore.kernel.org/r/20230704155034.148262-1-lpieralisi@kernel.org
      6fe5c68e
  2. 03 Jul, 2023 3 commits
  3. 21 Jun, 2023 2 commits
    • Marc Zyngier's avatar
      Merge branch irq/misc-6.5 into irq/irqchip-next · a82f3119
      Marc Zyngier authored
      * irq/misc-6.5:
        : .
        : Misc cleanups:
        :
        : - Add a number of missing prototypes
        : - Mark global symbol as static where needed
        : - Drop some now useless non-DT code paths
        : - Add a missing interrupt mapping to the STM32 irqchip
        : - Silence another STM32 warning when building with W=1
        : - Fix the jcore-aic driver that actually never worked...
        : .
        Revert "irqchip/mxs: Include linux/irqchip/mxs.h"
        irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
        irqchip/stm32-exti: Fix warning on initialized field overwritten
        irqchip/stm32-exti: Add STM32MP15xx IWDG2 EXTI to GIC map
        irqchip/gicv3: Add a iort_pmsi_get_dev_id() prototype
        irqchip/mxs: Include linux/irqchip/mxs.h
        irqchip/clps711x: Remove unused clps711x_intc_init() function
        irqchip/mmp: Remove non-DT codepath
        irqchip/ftintc010: Mark all function static
        irqdomain: Include internals.h for function prototypes
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      a82f3119
    • Marc Zyngier's avatar
      Revert "irqchip/mxs: Include linux/irqchip/mxs.h" · d93c2219
      Marc Zyngier authored
      This reverts commit 5b7e5676.
      
      Although including linux/irqchip/mxs.h is technically correct,
      this clashes with the parallel removal of this include file
      with 32bit ARM modernizing the low level irq handling as part of
      5bb578a0 ("ARM: 9298/1: Drop custom mdesc->handle_irq()").
      
      As such, this patch is not only unnecessary, it also breaks
      compilation in -next. Revert it.
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Cc: Shawn Guo <shawnguo@kernel.org>
      d93c2219
  4. 17 Jun, 2023 12 commits
  5. 16 Jun, 2023 10 commits
  6. 30 May, 2023 1 commit
  7. 29 May, 2023 2 commits
    • zhengyan's avatar
      irqchip/gic-v3: Work around affinity issues on ASR8601 · b4d81fab
      zhengyan authored
      The ASR8601 SoC combines ARMv8.2 CPUs from ARM with a GIC-500,
      also from ARM. However, the two are incompatible as the former
      expose an affinity in the form of (cluster, core, thread),
      while the latter can only deal with (cluster, core). If nothing
      is done, the GIC simply cannot route interrupts to the CPUs.
      
      Implement a workaround that shifts the affinity down by a level,
      ensuring the delivery of interrupts despite the implementation
      mismatch.
      Signed-off-by: default avatarzhengyan <zhengyan@asrmicro.com>
      [maz: rewrote commit message, reimplemented the workaround
       in a manageable way]
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      b4d81fab
    • Marc Zyngier's avatar
      irqchip/gic-v3: Improve affinity helper · 3c65cbb7
      Marc Zyngier authored
      The GICv3 driver uses multiple formats for the affinity, all
      derived from a reading of MPDR_EL1 on one CPU or another.
      
      Simplify the handling of these affinity by moving the access
      to the CPU affinity via cpu_logical_map() inside the helper,
      and rename it accordingly.
      
      This will be helpful to support some more broken hardware.
      Signed-off-by: default avatarMarc Zyngier <maz@kernel.org>
      3c65cbb7
  8. 28 May, 2023 8 commits
  9. 27 May, 2023 1 commit