Bluetooth: controller: split: Support Zero Latency IRQs
Add support for Zero Latency IRQs, which avoids any Zephyr OS or application influenced ISR latencies on the controller's ISRs. Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
parent
1e20009212
commit
3096c0e741
1 changed files with 13 additions and 2 deletions
|
@ -33,6 +33,12 @@
|
|||
|
||||
#include "hal/debug.h"
|
||||
|
||||
#if defined(CONFIG_BT_CTLR_ZLI)
|
||||
#define IRQ_CONNECT_FLAGS IRQ_ZERO_LATENCY
|
||||
#else
|
||||
#define IRQ_CONNECT_FLAGS 0
|
||||
#endif
|
||||
|
||||
static struct {
|
||||
struct {
|
||||
void *param;
|
||||
|
@ -158,11 +164,16 @@ int lll_init(void)
|
|||
|
||||
/* Connect ISRs */
|
||||
IRQ_DIRECT_CONNECT(RADIO_IRQn, CONFIG_BT_CTLR_LLL_PRIO,
|
||||
radio_nrf5_isr, 0);
|
||||
radio_nrf5_isr, IRQ_CONNECT_FLAGS);
|
||||
#if (CONFIG_BT_CTLR_LLL_PRIO == CONFIG_BT_CTLR_ULL_HIGH_PRIO)
|
||||
IRQ_CONNECT(RTC0_IRQn, CONFIG_BT_CTLR_ULL_HIGH_PRIO,
|
||||
rtc0_nrf5_isr, NULL, IRQ_CONNECT_FLAGS);
|
||||
#else
|
||||
IRQ_CONNECT(RTC0_IRQn, CONFIG_BT_CTLR_ULL_HIGH_PRIO,
|
||||
rtc0_nrf5_isr, NULL, 0);
|
||||
#endif
|
||||
IRQ_CONNECT(HAL_SWI_RADIO_IRQ, CONFIG_BT_CTLR_LLL_PRIO,
|
||||
swi_lll_nrf5_isr, NULL, 0);
|
||||
swi_lll_nrf5_isr, NULL, IRQ_CONNECT_FLAGS);
|
||||
#if defined(CONFIG_BT_CTLR_LOW_LAT) || \
|
||||
(CONFIG_BT_CTLR_ULL_HIGH_PRIO != CONFIG_BT_CTLR_ULL_LOW_PRIO)
|
||||
IRQ_CONNECT(HAL_SWI_JOB_IRQ, CONFIG_BT_CTLR_ULL_LOW_PRIO,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue