zephyr/drivers/mbox
Emanuele Di Santo 271ef88e05 drivers: mbox: nrf_bellboard: only clear events that raised the IRQ
The current implementation is such that if two or more events are
generated in quick succession, only one is handled. This would
have happened as follows.

At the beginning of the ISR, the contents of INTPEND are read.
Then, the ISR unconditionally clears all events that are set.

When two (or more) events are generated in rapid succession,
it may happen that by the time we enter the ISR, INTPEND is set
only for one event, but while we process the ISR, EVENTS_TRIGGERED
will be set for more than just that one event (more events are
generated).

By unconditionally clearing all events, we can potentially lose
all events that are generated during ISR processing.

This patch changes the ISR so that it only clears those events
that have a corresponding bit set in INTPEND at the time it is read.

Signed-off-by: Emanuele Di Santo <emdi@nordicsemi.no>
2024-07-27 15:13:45 +03:00
..
CMakeLists.txt drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
Kconfig drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
Kconfig.andes
Kconfig.nrf_bellboard drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
Kconfig.nrf_vevif_event drivers: mbox: add initial driver for nRF VEVIF event 2024-06-15 04:41:47 -04:00
Kconfig.nrf_vevif_task drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
Kconfig.nrfx
Kconfig.nxp_imx
Kconfig.nxp_mailbox
Kconfig.nxp_s32
Kconfig.stm32_hsem
mbox_andes_plic_sw.c
mbox_handlers.c
mbox_nrf_bellboard_rx.c drivers: mbox: nrf_bellboard: only clear events that raised the IRQ 2024-07-27 15:13:45 +03:00
mbox_nrf_bellboard_tx.c drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
mbox_nrf_vevif_event_rx.c drivers: mbox: add initial driver for nRF VEVIF event 2024-06-15 04:41:47 -04:00
mbox_nrf_vevif_event_tx.c drivers: mbox: add initial driver for nRF VEVIF event 2024-06-15 04:41:47 -04:00
mbox_nrf_vevif_task_rx.c drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
mbox_nrf_vevif_task_tx.c drivers: mbox: nrf: Change VEVIFs and BELLBOARD nomenclature 2024-06-15 04:41:47 -04:00
mbox_nrfx_ipc.c
mbox_nxp_imx_mu.c
mbox_nxp_mailbox.c
mbox_nxp_s32_mru.c
mbox_stm32_hsem.c