Files
linux-bredos/include/linux
Yu Chien Peter Lin 85ca483e72 irqchip/riscv-intc: Introduce Andes hart-level interrupt controller
[ Upstream commit f4cc33e78b ]

Add support for the Andes hart-level interrupt controller. This
controller provides interrupt mask/unmask functions to access the
custom register (SLIE) where the non-standard S-mode local interrupt
enable bits are located. The base of custom interrupt number is set
to 256.

To share the riscv_intc_domain_map() with the generic RISC-V INTC and
ACPI, add a chip parameter to riscv_intc_init_common(), so it can be
passed to the irq_domain_set_info() as a private data.

Andes hart-level interrupt controller requires the "andestech,cpu-intc"
compatible string to be present in interrupt-controller of cpu node to
enable the use of custom local interrupt source.
e.g.,

  cpu0: cpu@0 {
      compatible = "andestech,ax45mp", "riscv";
      ...
      cpu0-intc: interrupt-controller {
          #interrupt-cells = <0x01>;
          compatible = "andestech,cpu-intc", "riscv,cpu-intc";
          interrupt-controller;
      };
  };

Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Randolph <randolph@andestech.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20240222083946.3977135-4-peterlin@andestech.com
Stable-dep-of: 0110c4b110 ("irqchip/riscv-intc: Prevent memory leak when riscv_intc_init_common() fails")
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-21 14:38:22 +02:00
..
2024-06-12 11:12:49 +02:00
2023-08-23 08:21:37 +01:00
2023-11-28 17:19:55 +00:00
2023-09-11 15:24:16 -07:00
2024-06-12 11:11:38 +02:00
2024-05-25 16:22:55 +02:00
2024-06-21 14:38:15 +02:00
2024-03-26 18:20:13 -04:00
2024-06-12 11:12:29 +02:00
2023-09-13 10:48:48 +02:00
2023-08-04 11:02:46 +01:00
2023-07-14 13:47:07 -06:00
2024-06-16 13:47:41 +02:00
2024-06-12 11:12:52 +02:00
2023-08-15 14:57:25 -07:00
2023-08-18 10:18:59 -07:00
2024-04-03 15:28:29 +02:00
2023-08-18 10:12:25 -07:00
2023-07-18 10:07:47 +02:00
2023-11-28 17:19:54 +00:00
2023-09-29 17:20:46 -07:00
2023-08-12 09:18:47 -07:00
2024-06-12 11:11:56 +02:00
2023-10-06 11:01:23 +02:00
2023-10-06 11:01:23 +02:00
2024-05-17 12:01:59 +02:00
2023-07-15 11:34:49 -07:00
2023-11-28 17:19:38 +00:00
2024-01-31 16:18:47 -08:00
2023-08-21 13:37:26 -07:00
2023-08-06 08:24:55 +01:00
2023-08-07 17:55:54 +00:00
2023-08-11 21:12:47 +02:00
2023-08-24 13:27:47 -05:00
2023-08-21 14:52:16 +02:00
2023-08-21 13:37:27 -07:00