zephyr/drivers/interrupt_controller
Dino Li 13a2e8200e it8xxx2: intc: ensure IER disabling to become effective
We put disabling SOC interrupt enable register (IER) sequence in
between disable and enable core's global interrupt to prevent race
condition.
After core interrupt enable instruction has been executed, the new
configuration of IER has not yet been fully processed due to
asynchronization between core and SOC's source clock.

If SOC interrupt is fired under the above condition, we will get
IRQ number 0 in ISR due to IER disabling taken effect.

Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
2022-04-12 09:55:12 +02:00
..
CMakeLists.txt ITE drivers/interrupt_controller: add wuc interface 2022-03-21 16:35:03 -07:00
intc_arcv2_irq_unit.c ARC: IRQ: drop excessive PM_DEVICE hooks 2021-10-05 07:48:47 -04:00
intc_cavs.c drivers: intc: intc_cavs: use correct per-core register set for all ops 2022-04-06 22:00:14 -04:00
intc_cavs.h
intc_dw.c interrupt_controller: dw: use finalstatus instead of maskstatus 2022-01-05 15:01:45 -05:00
intc_dw.h
intc_esp32.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
intc_esp32c3.c intc: esp32c3: use source as interrupt value 2022-03-17 11:40:31 +01:00
intc_exti_stm32.c drivers: Check and fix device const qualifier on ISR 2022-03-16 12:33:12 +01:00
intc_gd32_exti.c drivers: Check and fix device const qualifier on ISR 2022-03-16 12:33:12 +01:00
intc_gic_common_priv.h drivers: gicv3: fix getting rdist base address 2021-04-26 13:42:43 +02:00
intc_gic.c everywhere: fix typos 2022-03-18 13:24:08 -04:00
intc_gicv3_its.c interrupt_controller: gicv3_its: add get_msi_addr API 2022-03-25 12:56:25 +01:00
intc_gicv3_priv.h everywhere: fix typos 2022-03-14 20:22:24 -04:00
intc_gicv3.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_intel_vtd.c drivers/interrupt_controller: Add a VT-D option to disable src id check 2022-01-07 10:47:27 -05:00
intc_intel_vtd.h drivers/interrupt_controller: Add VT-D context cache invalidation 2022-01-07 10:47:27 -05:00
intc_ioapic_priv.h drivers/interrupt_controller: Make IOAPIC VT-D aware when relevant 2022-01-07 10:47:27 -05:00
intc_ioapic.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_irqmp.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_ite_it8xxx2.c it8xxx2: intc: ensure IER disabling to become effective 2022-04-12 09:55:12 +02:00
intc_ite_it8xxx2.h it8xxx2: re-factor idle routine 2022-04-01 12:49:09 -05:00
intc_loapic_spurious.S intc: loapic: mark data and functions as boot/pinned 2021-05-10 16:00:43 -05:00
intc_loapic.c x86: Remove Jailhouse references in this arch 2022-03-16 04:20:26 -07:00
intc_mchp_ecia_xec.c everywhere: fix typos 2022-03-14 20:22:24 -04:00
intc_miwu.c everywhere: fix typos 2022-03-14 20:22:24 -04:00
intc_nuclei_eclic.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_plic.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_rv32m1_intmux.c drivers: interrupt_controller: drop DEV_DATA/DEV_CFG usage 2022-01-19 18:16:02 +01:00
intc_sam0_eic_priv.h
intc_sam0_eic.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_shared_irq.c drivers: interrupt_controller: intc_shared: cond. forward sense cell 2021-05-07 12:41:04 -05:00
intc_swerv_pic.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
intc_system_apic.c drivers: interrupt_controller: remove @return doc for void funcs 2022-01-12 16:02:16 -05:00
intc_vexriscv_litex.c drivers: interrupt_controller: Refactor drivers to use shared init prio 2022-03-14 11:28:06 +01:00
Kconfig ITE drivers/interrupt_controller: add wuc interface 2022-03-21 16:35:03 -07:00
Kconfig.cavs
Kconfig.dw interrupt_controller: remove CONFIG_DW_ICTL_OFFSET 2021-10-06 19:43:48 -04:00
Kconfig.eclic drivers: interrupt-controller: add Nuclei ECLIC driver 2021-12-20 17:51:30 +01:00
Kconfig.esp32 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.esp32c3 kconfig: remove Enable from boolean prompts 2022-03-09 15:35:54 +01:00
Kconfig.gd32_exti drivers: interrupt_controller: gd32_exti: enable gd32vf103 2022-01-11 11:50:35 +01:00
Kconfig.gic interrupt_controller: gicv3: add Interrupt Translation Service support 2021-09-28 19:45:29 -04:00
Kconfig.intel_vtd drivers/interrupt_controller: Add a VT-D option to disable src id check 2022-01-07 10:47:27 -05:00
Kconfig.it8xxx2 scripts: kconfigfunctions: Redefine dt_nodelabel_has_compat() 2022-04-02 15:14:38 +02:00
Kconfig.loapic
Kconfig.multilevel
Kconfig.multilevel.aggregator_template
Kconfig.npcx everywhere: fix typos 2022-03-14 20:22:24 -04:00
Kconfig.rv32m1
Kconfig.sam0
Kconfig.shared_irq drivers: interrupt_controller: intc_shared: clients array size from dts 2021-05-07 12:41:04 -05:00
Kconfig.stm32 drivers: gpio & interrupt_controller: Add stm32 u5 support 2021-07-29 07:28:32 -05:00
Kconfig.xec Microchip: MEC172x Add aggregated interrupt driver 2021-07-26 12:24:52 -04:00
wuc_ite_it8xxx2.c ITE drivers/interrupt_controller: add wuc interface 2022-03-21 16:35:03 -07:00