Skip to content
  • Duc Dang's avatar
    PCI: xgene: Add APM X-Gene v1 PCIe MSI/MSIX termination driver · dcd19de3
    Duc Dang authored
    
    
    APM X-Gene v1 SoC supports its own implementation of MSI, which is not
    compliant to GIC V2M specification for MSI Termination.
    
    There is a single MSI block in X-Gene v1 SOC which serves all 5 PCIe ports.
    This MSI block supports 2048 MSI termination ports coalesced into 16
    physical HW IRQ lines and shared across all 5 PCIe ports.
    
    As there are only 16 HW IRQs to serve 2048 MSI vectors, to support
    set_affinity correctly for each MSI vectors, the 16 HW IRQs are statically
    allocated to 8 X-Gene v1 cores (2 HW IRQs for each cores).  To steer MSI
    interrupt to target CPU, MSI vector is moved around these HW IRQs lines.
    With this approach, the total MSI vectors this driver supports is reduced
    to 256.
    
    [bhelgaas: squash doc, driver, maintainer update]
    Signed-off-by: default avatarDuc Dang <dhdang@apm.com>
    Signed-off-by: default avatarTanmay Inamdar <tinamdar@apm.com>
    Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: default avatarMarc Zyngier <marc.zyngier@arm.com>
    dcd19de3