irqchip/armada-370-xp: Add support for 32 MSI interrupts on non-IPI platforms
authorPali Rohár <pali@kernel.org>
Fri, 21 Jun 2024 09:38:31 +0000 (11:38 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Sun, 23 Jun 2024 15:23:08 +0000 (17:23 +0200)
commit986b6ad0c4c653940fab7e5decf0d847670bf407
treee7020dff34a483877b818151af50859ca4e03675
parent9d80f6bd3ad8f2b49651d4685bb391399ecf80a2
irqchip/armada-370-xp: Add support for 32 MSI interrupts on non-IPI platforms

The doorbell interrupts have the following layout on IPI vs no-IPI
platforms:

                    |  0...7  |  8...15  |       16...31       |
  ------------------+---------+----------+---------------------+
       IPI platform |   IPI   |   n/a    |         MSI         |
  ------------------+---------+----------+---------------------+
   non-IPI platform |                   MSI                    |
  ------------------+------------------------------------------+

Currently the driver only allows for the upper 16...31 interrupts for
MSI domain (i.e. the MSI domain has only 16 interrupts).

On platforms where IPI is not available, we can use whole 32 MSI
interrupts.

Implement support also for the lower 16 MSI interrupts on non-IPI
platforms.

[ Marek: refactored, changed commit message ]

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
drivers/irqchip/irq-armada-370-xp.c