zephyr/drivers/interrupt_controller
Jimmy Zheng a7096fac7d drivers: interrupt_controller: nuclei_eclic: always use clic common entry
When CONFIG_RISCV_VECTORED_MODE is disabled, CLIC claims interrupts using
CSR 'mnxti' and handles all pending interrupts before exiting the ISR.

When CONFIG_RISCV_VECTORED_MODE is enabled, all interrupts use vector mode
and are claimed automatically. The RISC-V common ISR is used for interrupts
hooked into SW ISR table, but it only handle one pending interrupt per ISR.

This commit enhances CLIC to set vector mode for direct ISRs only and use
the CLIC common entry for regular ISRs to handles multiple pending
interrupts in an ISR.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2024-08-26 17:05:53 +02:00
..
CMakeLists.txt drivers: MediaTek MT8195 Audio DSP interrupt controller 2024-06-01 05:40:05 -07:00
intc_arcv2_irq_unit.c intc: arcv2: convert SYS_INIT to DEVICE_DT_INST_DEFINE 2023-09-22 09:22:55 +02:00
intc_cavs.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_cavs.h
intc_dw.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_dw.h
intc_dw_ace.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_eirq_nxp_s32.c drivers: nxp: convert SIUL2 drivers to native 2024-07-31 10:08:24 +02:00
intc_esp32.c drivers: esp32: update to hal_espressif v5.1 2024-04-05 13:39:53 +02:00
intc_esp32c3.c drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
intc_exti_stm32.c drivers: stm32-exti: do not lock hwsem on irq disable 2023-10-20 15:15:15 +02:00
intc_gd32_exti.c
intc_gic.c drivers: intc: gic: implement set pending interrupt 2024-08-12 15:54:42 +02:00
intc_gic_common_priv.h
intc_gicv3.c drivers: intc: gic: implement set pending interrupt 2024-08-12 15:54:42 +02:00
intc_gicv3_its.c
intc_gicv3_priv.h drivers: gic: Redistributor Power Register 2023-08-31 10:24:48 +02:00
intc_intel_vtd.c
intc_intel_vtd.h
intc_ioapic.c drivers: intc_ioapic: Fix get ioapic_id 2023-12-19 11:04:19 +01:00
intc_ioapic_priv.h
intc_irqmp.c intc: irqmp: convert SYS_INIT to DEVICE_DT_INST_DEFINE 2023-09-22 09:22:55 +02:00
intc_ite_it8xxx2.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_ite_it8xxx2.h
intc_ite_it8xxx2_v2.c drivers/interrupt: it8xxx2: Register interrupt number 0 to handle 2024-08-01 12:36:23 +02:00
intc_loapic.c drivers: loapic: move 'z_loapic_int_vec_set()' into pinned section 2024-06-13 17:49:01 +02:00
intc_loapic_spurious.S
intc_mchp_ecia_xec.c drivers: ecia: microchip: Prevent lost eSPI interrupts 2024-02-16 07:26:36 +01:00
intc_miwu.c drivers: gpio: npcx: workaround both trigger issue for npcx9m7fb 2024-03-15 08:43:47 +00:00
intc_mtk_adsp.c drivers: MediaTek MT8195 Audio DSP interrupt controller 2024-06-01 05:40:05 -07:00
intc_nrfx_clic.c drivers: interrupt_controller: add intc_nrfx_clic 2024-04-23 15:35:12 +02:00
intc_nrfx_clic.S drivers: interrupt_controller: add intc_nrfx_clic 2024-04-23 15:35:12 +02:00
intc_nuclei_eclic.c drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
intc_nuclei_eclic.S drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
intc_nxp_irqsteer.c drivers: interrupt_controller: irq_steer: use new multilevel irq impl 2024-05-25 11:24:32 +03:00
intc_nxp_pint.c drivers: interrupt_controller: Enable PINT-irq when deepsleep is not used 2024-04-11 11:28:52 -05:00
intc_plic.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_renesas_ra_icu.c drivers: intc: Rename renesas ra driver 2024-01-29 11:32:46 +01:00
intc_rv32m1_intmux.c drivers: intc: update to use multi-level API 2024-05-25 11:24:32 +03:00
intc_sam0_eic.c
intc_sam0_eic_priv.h
intc_shared_irq.c drivers: interrupt_controller: changes in shared irq 2024-01-31 13:47:39 -06:00
intc_swerv_pic.c style: drivers: comply with MISRA C:2012 Rule 15.6 2024-08-20 10:33:51 +02:00
intc_system_apic.c drivers: added missing parenthesis 2024-05-17 09:29:48 +02:00
intc_vexriscv_litex.c drivers: intc: litex: add helper for interrupts 2024-08-01 08:59:37 +01:00
intc_vim.c include: arch: arm: Remove aarch32 directory 2023-09-13 10:08:05 +01:00
intc_wkpu_nxp_s32.c drivers: intc: nxp: convert wkpu to native driver 2024-08-02 15:14:33 -05:00
intc_xmc4xxx.c
Kconfig drivers: MediaTek MT8195 Audio DSP interrupt controller 2024-06-01 05:40:05 -07:00
Kconfig.cavs
Kconfig.clic drivers: interrupt_controller: nuclei_eclic: always use clic common entry 2024-08-26 17:05:53 +02:00
Kconfig.dw
Kconfig.esp32 drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
Kconfig.esp32c3 drivers: intc: esp32c2: Added support 2024-08-16 14:08:22 -04:00
Kconfig.gd32_exti
Kconfig.gic drivers: interrupt controller: update GIC Kconfigs 2024-06-18 14:33:58 -04:00
Kconfig.intel_vtd
Kconfig.it8xxx2
Kconfig.loapic drivers: loapic: add device tree support for loapic 2023-09-01 16:36:18 +02:00
Kconfig.mtk_adsp drivers: MediaTek MT8195 Audio DSP interrupt controller 2024-06-01 05:40:05 -07:00
Kconfig.multilevel drivers: intc: manage multi-level interrupt configs 2023-12-11 18:23:23 -05:00
Kconfig.multilevel.aggregator_template
Kconfig.npcx drivers: gpio: npcx: workaround both trigger issue for npcx9m7fb 2024-03-15 08:43:47 +00:00
Kconfig.nxp_irqsteer drivers: interrupt_controller: Add driver for NXP's IRQ_STEER IP 2023-12-04 09:52:38 -06:00
Kconfig.nxp_pint
Kconfig.nxp_s32 drivers: intc: nxp: convert wkpu to native driver 2024-08-02 15:14:33 -05:00
Kconfig.plic drivers: intc: plic: add shell cmd to get irq stats for debugging 2023-11-24 09:23:33 +01:00
Kconfig.renesas_ra drivers: interrupt_controller: renesas_ra: Enable GEN_ISR_TABLES explicitly 2024-06-20 12:57:54 +02:00
Kconfig.rv32m1
Kconfig.sam0
Kconfig.shared_irq
Kconfig.stm32
Kconfig.vim drivers: interrupt-controller: Add VIM Interrupt Controller support 2023-09-04 10:53:09 +02:00
Kconfig.xec
Kconfig.xmc4xxx
wuc_ite_it8xxx2.c