Skip to content

Commit 468b600

Browse files
cvinayakfabiobaltieri
authored andcommitted
Bluetooth: Controller: Introduce BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX
Introduce BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX Kconfig option so that disabling this option will use minimum time reservation and exercise the peripheral ISO connection event continuation using is_abort_cb mechanism. Signed-off-by: Vinayak Kariappa Chettimada <[email protected]>
1 parent cadef5a commit 468b600

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ CONFIG_BT_CTLR_SCAN_AUX_SET=1
7373
CONFIG_BT_CTLR_ADV_RESERVE_MAX=n
7474
CONFIG_BT_CTLR_CENTRAL_RESERVE_MAX=n
7575
CONFIG_BT_CTLR_PERIPHERAL_RESERVE_MAX=n
76+
CONFIG_BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX=n
7677
CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX=y
7778
CONFIG_BT_CTLR_SLOT_RESERVATION_UPDATE=n
7879
CONFIG_BT_CTLR_SCAN_UNRESERVED=y

subsys/bluetooth/controller/Kconfig.ll_sw_split

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -767,6 +767,17 @@ config BT_CTLR_PERIPHERAL_RESERVE_MAX
767767
the is_abort_cb mechanism to decide on continuation of the connection
768768
event.
769769

770+
config BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX
771+
bool "Use maximum data PDU size time reservation for Peripheral"
772+
depends on BT_CTLR_PERIPHERAL_ISO
773+
default y
774+
help
775+
Use the maximum Peripheral CIG event time reservation.
776+
777+
If maximum Peripheral CIG event time reservation is not enabled, then
778+
only time required to transmit or receive the burst number of CIS PDUs
779+
is reserved.
780+
770781
config BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX
771782
bool "Reserve maximum event overhead in time reservations"
772783
default y

subsys/bluetooth/controller/ll_sw/ull_conn_iso.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1032,7 +1032,11 @@ void ull_conn_iso_start(struct ll_conn *conn, uint16_t cis_handle,
10321032

10331033
/* FIXME: Time reservation for interleaved packing */
10341034
/* Below is time reservation for sequential packing */
1035-
slot_us = cis->lll.sub_interval * cis->lll.nse;
1035+
if (IS_ENABLED(CONFIG_BT_CTLR_PERIPHERAL_ISO_RESERVE_MAX)) {
1036+
slot_us = cis->lll.sub_interval * cis->lll.nse;
1037+
} else {
1038+
slot_us = cis->lll.sub_interval * MAX(cis->lll.tx.bn, cis->lll.rx.bn);
1039+
}
10361040

10371041
if (IS_ENABLED(CONFIG_BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX)) {
10381042
slot_us += EVENT_OVERHEAD_START_US + EVENT_OVERHEAD_END_US;

0 commit comments

Comments
 (0)