Re: [PATCH v4 1/6] MIPS: loongson64: Override arch_dynirq_lower_bound to reserve LPC IRQs

From: Jiaxun Yang

Date: Thu Mar 26 2026 - 17:44:30 EST




On Sat, 21 Mar 2026, at 9:20 AM, Icenowy Zheng wrote:
> On some Loongson 3A devices, a LPC bus is present and some legacy
> devices (e.g. 8259) on it expect hardcoded low interrupt numbers. However
> currently the expected low range interrupt numbers are not exempted from
> the dynamic allocation, which leads to confliction when registering LPC
> interrupts in the fixed range.
>
> Override arch_dynirq_lower_bound() to reserve these low range interrupt
> numbers and prevent them from being dynamically allocated.
>
> Signed-off-by: Icenowy Zheng <zhengxingda@xxxxxxxxxxx>

Acked-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx>

@Thomas Bogendoerfer, do you mind picking this over MIPS tree?

Thanks
Jiaxun

> ---
> arch/mips/loongson64/init.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c
> index 5f73f8663ab2d..c7cc5a3d7817f 100644
> --- a/arch/mips/loongson64/init.c
> +++ b/arch/mips/loongson64/init.c
> @@ -7,6 +7,7 @@
> #include <linux/irqchip.h>
> #include <linux/logic_pio.h>
> #include <linux/memblock.h>
> +#include <linux/minmax.h>
> #include <linux/of.h>
> #include <linux/of_address.h>
> #include <asm/bootinfo.h>
> @@ -227,3 +228,8 @@ void __init arch_init_irq(void)
> reserve_pio_range();
> irqchip_init();
> }
> +
> +unsigned int arch_dynirq_lower_bound(unsigned int from)
> +{
> + return MAX(from, NR_IRQS_LEGACY);
> +}
> --
> 2.52.0

--
- Jiaxun