PCI/MSI: pci-tegra: convert to MSI domains

In anticipation of the removal of the msi_controller structure,
convert the Tegra host controller driver to MSI domains.

We end-up with the usual two domain structure, the top one being
a generic PCI/MSI domain, the bottom one being Tegra-specific and
handling the actual HW interrupt allocation.

TODO:
- tegra_pcie_msi_irq should be a chained handler with its own
  irqchip, instead of a normal interrupt handler
- Handling flow for MSIs should be handle_edge_irq instead
  of handle_simple_irq
- Multi-MSI handling
- Use the AFI_MSI_EN_VECx registers to provide MSI masking
  even when !MSI-X is used

Signed-off-by: Marc Zyngier <maz@kernel.org>
1 file changed