zephyr/subsys/bluetooth/controller/ll_sw
Erik Brockhoff 6dbc446342 Bluetooth: controller: use RX node piggy-back for NTF when possible
When possible re-use the already allocated RX node for notifications.
Store (retain) RX node and Link element on RX if NTF could occur.
Pass link element to LLCP (ull_cp_rx()) together with RX node.
New RX node type RETAIN introduced to signal retention

When no RX node is available allocate one and hold off TX on procedures
until such time that a node is available for NTF.

In case waiting for NTF buffer avail is needed, allocate and store TX
node to use for TX once NTF becomes available.

CIS Established (incl. timeout handling) is now handled entirely as a
specific event driven by ull_conn_iso - ie removal of procedure check
of cis->established and cis->expire, as this is doubling mechanism
in the conn_iso context.

Unit test and helpers updated to handle new node type.
Function ull_cp_release_ntf() was used only in unit test, so moved to
helper context.
Updating release_ntf to handle the fact that with piggy-backing in test
context the node used for NTF can be from two different memory pools

Signed-off-by: Erik Brockhoff <erbr@oticon.com>
2023-03-06 09:35:10 +01:00
..
nordic Bluetooth: Controller: Fix extended scanning for BT_CTLR_LOW_LAT 2023-03-02 13:46:59 +01:00
openisa Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
isoal.c Bluetooth: controller: Enable CIS establishment in same ACL instant 2023-02-10 15:28:35 +01:00
isoal.h Bluetooth: controller: Enable CIS establishment in same ACL instant 2023-02-10 15:28:35 +01:00
ll_addr.c Bluetooth: Controller: Broadcast ISO encryption support 2023-01-26 13:25:11 +01:00
ll_feat.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ll_settings.c Bluetooth: Use Zephyr standard log system instead of bluetooth/common/log 2022-11-25 17:08:36 +01:00
ll_test.h
ll_tx_pwr.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
lll_adv_aux.h
lll_adv_iso.h
lll_adv_sync.h
lll_adv.h Bluetooth: Controller: Integrate ISOAL for ISO Broadcast 2023-01-27 23:04:45 +09:00
lll_central_iso.h
lll_central.h
lll_chan.c Bluetooth: Controller: Fix channel indices calculaton cond compile 2023-01-27 23:04:45 +09:00
lll_chan.h
lll_clock.h
lll_common.c Bluetooth: Use Zephyr standard log system instead of bluetooth/common/log 2022-11-25 17:08:36 +01:00
lll_conn_iso.h Bluetooth: Controller: Initial CIG with 1 CIS support in LLL 2023-01-27 23:04:45 +09:00
lll_conn.h Bluetooth: Controller: Add LLL required ULL interfaces 2023-01-27 23:04:45 +09:00
lll_df.h
lll_filter.h bluetooth: controller: Expose prpa cache for LLL use 2022-08-04 15:05:41 +02:00
lll_iso_tx.h
lll_peripheral_iso.h
lll_peripheral.h
lll_scan_aux.h
lll_scan.h Bluetooth: Controller: Fix Periodic Adv Sync from preemption 2022-08-03 12:02:47 +02:00
lll_sched.h
lll_sync_iso.h Bluetooth: Controller: Broadcast ISO encryption support 2023-01-26 13:25:11 +01:00
lll_sync.h Bluetooth: df: Add ntf of insufficient resources for IQ samples 2022-09-22 18:04:00 +02:00
lll.h Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
nrf.cmake Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
openisa.cmake Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
pdu_df.h Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
pdu.h Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_adv_aux.c Bluetooth: Controller: Fix auxiliary PDU time reservation calculation 2023-02-10 15:09:02 +01:00
ull_adv_internal.h Bluetooth: Controller: Fix Periodic Advertising time reservation 2023-02-10 15:09:02 +01:00
ull_adv_iso.c Bluetooth: Controller: Schedule BIG event after Periodic Advertising 2023-02-10 15:09:02 +01:00
ull_adv_sync.c Bluetooth: Controller: Fix AUX_ADV_IND AUX_SYNC_IND radio utilization 2023-02-20 13:18:12 +01:00
ull_adv_types.h Bluetooth: Controller: Broadcast ISO encryption support 2023-01-26 13:25:11 +01:00
ull_adv.c Bluetooth: Controller: Fix AUX_ADV_IND AUX_SYNC_IND radio utilization 2023-02-20 13:18:12 +01:00
ull_central_internal.h
ull_central_iso_internal.h Bluetooth: controller: CIS Central fixes from EBQ run 2022-11-18 12:48:13 +01:00
ull_central_iso.c Bluetooth: Controller: Fix uninitialized CIS LLL member variables 2023-02-10 15:09:02 +01:00
ull_central.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_chan_internal.h
ull_chan.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_conn_internal.h Bluetooth: controller: integrating SCA procedure and adding HCI API 2022-11-08 10:44:54 +01:00
ull_conn_iso_internal.h Bluetooth: Controller: Use instant_latency to detect event skipped 2023-01-27 23:04:45 +09:00
ull_conn_iso_types.h Bluetooth: Controller: Minor refactor of Connected ISO group and stream 2023-01-27 23:04:45 +09:00
ull_conn_iso.c Bluetooth: controller: Enable CIS establishment in same ACL instant 2023-02-10 15:28:35 +01:00
ull_conn_types.h Bluetooth: controller: removed unused code 2023-03-06 09:35:10 +01:00
ull_conn.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_df_internal.h
ull_df_types.h
ull_df.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_filter.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_filter.h
ull_internal.h Bluetooth: controller: refactor ll_rx_put/sched 2022-12-09 12:44:39 +01:00
ull_iso_internal.h Bluetooth: Controller: Define a internal BT_CTLR_ISO_TX_BUFFERS 2023-01-27 23:04:45 +09:00
ull_iso_types.h Bluetooth: Controller: Workaround datapath field access after release 2023-01-27 23:04:45 +09:00
ull_iso.c Bluetooth: Remove BT_HCI_DATAPATH_ID_DISABLED define 2023-01-27 23:04:45 +09:00
ull_llcp_cc.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_chmu.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_llcp_common.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_conn_upd.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_enc.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_features.h Bluetooth: controller: Implement local CIS Creation procedure 2022-11-18 12:48:13 +01:00
ull_llcp_internal.h Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_local.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_pdu.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_llcp_phy.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp_remote.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_llcp.h Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00
ull_peripheral_internal.h Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_peripheral_iso_internal.h Bluetooth: controller: Enable CIS establishment in same ACL instant 2023-02-10 15:28:35 +01:00
ull_peripheral_iso.c Bluetooth: controller: Enable CIS establishment in same ACL instant 2023-02-10 15:28:35 +01:00
ull_peripheral.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_scan_aux.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_scan_internal.h
ull_scan_types.h Bluetooth: Controller: Fix addr type in PA sync established event 2023-02-03 02:26:42 +09:00
ull_scan.c Bluetooth: Controller: Make PDU octet3 vendor specific 2023-01-26 13:25:11 +01:00
ull_sched_internal.h
ull_sched.c Bluetooth: Controller: Fix AUX_ADV_IND AUX_SYNC_IND radio utilization 2023-02-20 13:18:12 +01:00
ull_sync_internal.h
ull_sync_iso_internal.h
ull_sync_iso.c Bluetooth: Controller: Fix assertion scheduling first BIG event 2023-02-10 15:09:02 +01:00
ull_sync_types.h Bluetooth: Controller: Broadcast ISO encryption support 2023-01-26 13:25:11 +01:00
ull_sync.c Bluetooth: Controller: Fix addr type in PA sync established event 2023-02-03 02:26:42 +09:00
ull_tx_queue.c
ull_tx_queue.h
ull.c Bluetooth: controller: use RX node piggy-back for NTF when possible 2023-03-06 09:35:10 +01:00