]> git.baikalelectronics.ru Git - kernel.git/commit
ARM: riscpc: use GENERIC_IRQ_MULTI_HANDLER
authorArnd Bergmann <arnd@arndb.de>
Tue, 30 Nov 2021 07:19:13 +0000 (08:19 +0100)
committerArd Biesheuvel <ardb@kernel.org>
Fri, 3 Dec 2021 17:43:38 +0000 (18:43 +0100)
commit009dac7c81d66f86a835abfc70f2bdd6b4b8475c
tree7538f82919d5267012be1ff0c89d0b69a8027b19
parentb1beeaaa740403f9f0bcb95c35e033e46506f4f3
ARM: riscpc: use GENERIC_IRQ_MULTI_HANDLER

This is one of the last platforms using the old entry path.
While this code path is spread over a few files, it is fairly
straightforward to convert it into an equivalent C version,
leaving the existing algorithm and all the priority handling
the same.

Unlike most irqchip drivers, this means reading the status
register(s) in a loop and always handling the highest-priority
irq first.

The IOMD_IRQREQC and IOMD_IRQREQD registers are not actaully
used here, but I left the code in place for the time being,
to keep the conversion as direct as possible. It could be
removed in a cleanup on top.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[ardb: drop obsolete IOMD_IRQREQC/IOMD_IRQREQD handling]
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Tested-by: Marc Zyngier <maz@kernel.org>
Tested-by: Vladimir Murzin <vladimir.murzin@arm.com> # ARMv7M
arch/arm/Kconfig
arch/arm/include/asm/hardware/entry-macro-iomd.S [deleted file]
arch/arm/mach-rpc/fiq.S
arch/arm/mach-rpc/include/mach/entry-macro.S [deleted file]
arch/arm/mach-rpc/irq.c