diff --git a/samples/bluetooth/bap_broadcast_source/overlay-bt_ll_sw_split.conf b/samples/bluetooth/bap_broadcast_source/overlay-bt_ll_sw_split.conf index 3711a349213..015ccced27a 100644 --- a/samples/bluetooth/bap_broadcast_source/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/bap_broadcast_source/overlay-bt_ll_sw_split.conf @@ -18,3 +18,4 @@ CONFIG_BT_CTLR_ISOAL_SOURCES=2 # packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and # the optional Time_Stamp field, if supplied) CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=155 diff --git a/samples/bluetooth/bap_unicast_client/overlay-bt_ll_sw_split.conf b/samples/bluetooth/bap_unicast_client/overlay-bt_ll_sw_split.conf index 755e7fafa78..722b8c25ef1 100644 --- a/samples/bluetooth/bap_unicast_client/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/bap_unicast_client/overlay-bt_ll_sw_split.conf @@ -8,6 +8,7 @@ CONFIG_BT_CTLR_ISOAL_SINKS=1 # packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and # the optional Time_Stamp field, if supplied) CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=155 CONFIG_BT_CTLR_ADVANCED_FEATURES=y CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y diff --git a/samples/bluetooth/bap_unicast_server/overlay-bt_ll_sw_split.conf b/samples/bluetooth/bap_unicast_server/overlay-bt_ll_sw_split.conf index 8c6d99253a6..fd04f621bfd 100644 --- a/samples/bluetooth/bap_unicast_server/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/bap_unicast_server/overlay-bt_ll_sw_split.conf @@ -8,6 +8,7 @@ CONFIG_BT_CTLR_ISOAL_SINKS=2 # packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and # the optional Time_Stamp field, if supplied) CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=155 # Use the below if the sample is sending stale packet sequence number # CONFIG_BT_CTLR_ADVANCED_FEATURES=y diff --git a/samples/bluetooth/cap_acceptor/overlay-bt_ll_sw_split.conf b/samples/bluetooth/cap_acceptor/overlay-bt_ll_sw_split.conf index fa88804bece..940133b21e5 100644 --- a/samples/bluetooth/cap_acceptor/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/cap_acceptor/overlay-bt_ll_sw_split.conf @@ -9,3 +9,4 @@ CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191 # packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and # the optional Time_Stamp field, if supplied) CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=155 diff --git a/samples/bluetooth/cap_initiator/overlay-bt_ll_sw_split.conf b/samples/bluetooth/cap_initiator/overlay-bt_ll_sw_split.conf index fa88804bece..940133b21e5 100644 --- a/samples/bluetooth/cap_initiator/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/cap_initiator/overlay-bt_ll_sw_split.conf @@ -9,3 +9,4 @@ CONFIG_BT_CTLR_ADV_DATA_LEN_MAX=191 # packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and # the optional Time_Stamp field, if supplied) CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=155 diff --git a/samples/bluetooth/hci_ipc/nrf5340_cpunet_bis-bt_ll_sw_split.conf b/samples/bluetooth/hci_ipc/nrf5340_cpunet_bis-bt_ll_sw_split.conf index 56a405d1c59..e1b91fa381a 100644 --- a/samples/bluetooth/hci_ipc/nrf5340_cpunet_bis-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_ipc/nrf5340_cpunet_bis-bt_ll_sw_split.conf @@ -101,6 +101,7 @@ CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_ISOAL_SOURCES=4 CONFIG_BT_CTLR_ISO_TX_BUFFERS=12 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISO_RX_BUFFERS=8 diff --git a/samples/bluetooth/hci_ipc/nrf5340_cpunet_cis-bt_ll_sw_split.conf b/samples/bluetooth/hci_ipc/nrf5340_cpunet_cis-bt_ll_sw_split.conf index 11413bb7593..c71e29d0b07 100644 --- a/samples/bluetooth/hci_ipc/nrf5340_cpunet_cis-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_ipc/nrf5340_cpunet_cis-bt_ll_sw_split.conf @@ -84,7 +84,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -92,6 +91,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=2 CONFIG_BT_CTLR_ISO_TX_BUFFERS=12 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISO_RX_BUFFERS=8 diff --git a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf index a05016b2c11..f46765492d3 100644 --- a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso-bt_ll_sw_split.conf @@ -120,7 +120,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -128,6 +127,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=2 CONFIG_BT_CTLR_ISO_TX_BUFFERS=8 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=2 diff --git a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_broadcast-bt_ll_sw_split.conf b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_broadcast-bt_ll_sw_split.conf index aee391a0063..c63928dd27c 100644 --- a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_broadcast-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_broadcast-bt_ll_sw_split.conf @@ -41,6 +41,7 @@ CONFIG_BT_CTLR_ISOAL_SOURCES=4 CONFIG_BT_CTLR_ISO_TX_BUFFERS=12 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_ADVANCED_FEATURES=y CONFIG_BT_CTLR_ADV_RESERVE_MAX=n diff --git a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_central-bt_ll_sw_split.conf b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_central-bt_ll_sw_split.conf index 4e606ce9705..90565665e3a 100644 --- a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_central-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_central-bt_ll_sw_split.conf @@ -49,7 +49,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=n CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -57,6 +56,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=2 CONFIG_BT_CTLR_ISO_TX_BUFFERS=12 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=2 diff --git a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_peripheral-bt_ll_sw_split.conf b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_peripheral-bt_ll_sw_split.conf index 712f9aaaacd..9120f517800 100644 --- a/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_peripheral-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_ipc/nrf5340_cpunet_iso_peripheral-bt_ll_sw_split.conf @@ -49,7 +49,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -57,6 +56,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=2 CONFIG_BT_CTLR_ISO_TX_BUFFERS=12 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=2 diff --git a/samples/bluetooth/hci_uart/overlay-all-bt_ll_sw_split.conf b/samples/bluetooth/hci_uart/overlay-all-bt_ll_sw_split.conf index a4054de0934..99a26832b48 100644 --- a/samples/bluetooth/hci_uart/overlay-all-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_uart/overlay-all-bt_ll_sw_split.conf @@ -115,7 +115,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -123,6 +122,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=4 CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=2 diff --git a/samples/bluetooth/hci_uart_3wire/overlay-all-bt_ll_sw_split.conf b/samples/bluetooth/hci_uart_3wire/overlay-all-bt_ll_sw_split.conf index 8a0f9d3364a..af066e6780a 100644 --- a/samples/bluetooth/hci_uart_3wire/overlay-all-bt_ll_sw_split.conf +++ b/samples/bluetooth/hci_uart_3wire/overlay-all-bt_ll_sw_split.conf @@ -114,7 +114,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -122,6 +121,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=4 CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=2 diff --git a/samples/bluetooth/iso_broadcast/overlay-bt_ll_sw_split.conf b/samples/bluetooth/iso_broadcast/overlay-bt_ll_sw_split.conf index 19264a9d041..7f02ae043d0 100644 --- a/samples/bluetooth/iso_broadcast/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/iso_broadcast/overlay-bt_ll_sw_split.conf @@ -14,7 +14,6 @@ CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=4 CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2 CONFIG_BT_CTLR_ISOAL_SOURCES=2 -# Support the highest SDU size required by any BAP LC3 presets (155) + 8 bytes of HCI ISO Data -# packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and -# the optional Time_Stamp field, if supplied) +# Support the highest SDU size required by this sample CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=12 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=4 diff --git a/samples/bluetooth/iso_central/overlay-bt_ll_sw_split.conf b/samples/bluetooth/iso_central/overlay-bt_ll_sw_split.conf index 320c5c352b1..2c91650470d 100644 --- a/samples/bluetooth/iso_central/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/iso_central/overlay-bt_ll_sw_split.conf @@ -13,7 +13,7 @@ CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=1650 CONFIG_BT_CTLR_RX_BUFFERS=9 # Sufficient ISO SDU and PDU length for this sample with ISO_TX_MTU of 247 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 # Number of supported streami sources and sinks diff --git a/samples/bluetooth/pbp_public_broadcast_source/overlay-bt_ll_sw_split.conf b/samples/bluetooth/pbp_public_broadcast_source/overlay-bt_ll_sw_split.conf index 3711a349213..015ccced27a 100644 --- a/samples/bluetooth/pbp_public_broadcast_source/overlay-bt_ll_sw_split.conf +++ b/samples/bluetooth/pbp_public_broadcast_source/overlay-bt_ll_sw_split.conf @@ -18,3 +18,4 @@ CONFIG_BT_CTLR_ISOAL_SOURCES=2 # packet overhead (the Packet_Sequence_Number, ISO_SDU_Length, Packet_Status_Flag fields; and # the optional Time_Stamp field, if supplied) CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=155 diff --git a/subsys/bluetooth/controller/Kconfig b/subsys/bluetooth/controller/Kconfig index 04781a76534..97c7e1a6734 100644 --- a/subsys/bluetooth/controller/Kconfig +++ b/subsys/bluetooth/controller/Kconfig @@ -1071,13 +1071,13 @@ config BT_CTLR_CONN_ISO_PDU_LEN_MAX help Maximum Connected Isochronous Channel PDU Length. -config BT_CTLR_CONN_ISO_SDU_LEN_MAX - int "Maximum Connected Isochronous Channel SDU Length" - depends on BT_CTLR_CONN_ISO +config BT_CTLR_ISO_TX_SDU_LEN_MAX + int "Maximum Isochronous Channel Transmit SDU Length" + depends on BT_CTLR_ADV_ISO || BT_CTLR_CONN_ISO range 1 4095 - default 251 + default 1 help - Maximum Connected Isochronous Channel SDU Length. + Maximum Isochronous Channel Transmit SDU Length. config BT_CTLR_CONN_ISO_STREAMS_MAX_NSE int "LE Connected Isochronous Streams max number of subevents" diff --git a/subsys/bluetooth/controller/ll_sw/ull_iso_internal.h b/subsys/bluetooth/controller/ll_sw/ull_iso_internal.h index 69ccf4dd4ea..395aaec6447 100644 --- a/subsys/bluetooth/controller/ll_sw/ull_iso_internal.h +++ b/subsys/bluetooth/controller/ll_sw/ull_iso_internal.h @@ -4,19 +4,44 @@ * SPDX-License-Identifier: Apache-2.0 */ -#if defined(CONFIG_BT_CTLR_ADV_ISO) || defined(CONFIG_BT_CTLR_CONN_ISO) /* Calculate ISO PDU buffers required considering SDU fragmentation */ -/* FIXME: Calculation considering both Connected and Broadcast ISO PDU - * fragmentation. +#if defined(CONFIG_BT_CTLR_ADV_ISO) || defined(CONFIG_BT_CTLR_CONN_ISO) +/* Internal ISO Tx SDU maximum length. + * A length that is minimum of the resultant combination of the HCI ISO data fragments provided and + * the user configured maximum transmit SDU length (CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX). */ -#if defined(CONFIG_BT_CTLR_CONN_ISO) -#define BT_CTLR_ISO_TX_PDU_BUFFERS (((CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX + \ - CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX - 1U) / \ - CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX) * \ +#define BT_CTLR_ISO_TX_SDU_LEN_MAX MIN(((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE * \ + CONFIG_BT_CTLR_ISO_TX_BUFFERS) - \ + BT_HCI_ISO_SDU_HDR_SIZE), \ + CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX) + +BUILD_ASSERT(BT_CTLR_ISO_TX_SDU_LEN_MAX == CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX, + "Insufficient ISO Buffer Size and Count for the required ISO SDU Length"); + +/* Internal ISO Tx buffers to be allocated. + * Based on the internal ISO Tx SDU maximum length, calculate the required ISO Tx buffers (PDUs) + * required to fragment the SDU into PDU sizes scheduled for transmission. + */ +#if defined(CONFIG_BT_CTLR_ADV_ISO) && defined(CONFIG_BT_CTLR_CONN_ISO) +#define BT_CTLR_ISO_TX_PDU_BUFFERS (DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \ + MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - \ + BT_HCI_ISO_SDU_TS_HDR_SIZE), \ + MIN(CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX, \ + CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX))) * \ CONFIG_BT_CTLR_ISO_TX_BUFFERS) -#else /* !CONFIG_BT_CTLR_CONN_ISO */ -#define BT_CTLR_ISO_TX_PDU_BUFFERS CONFIG_BT_CTLR_ISO_TX_BUFFERS -#endif /* !CONFIG_BT_CTLR_CONN_ISO */ +#elif defined(CONFIG_BT_CTLR_ADV_ISO) +#define BT_CTLR_ISO_TX_PDU_BUFFERS (DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \ + MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - \ + BT_HCI_ISO_SDU_TS_HDR_SIZE), \ + CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX)) * \ + CONFIG_BT_CTLR_ISO_TX_BUFFERS) +#else /* CONFIG_BT_CTLR_CONN_ISO */ +#define BT_CTLR_ISO_TX_PDU_BUFFERS (DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \ + MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - \ + BT_HCI_ISO_SDU_TS_HDR_SIZE), \ + CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX)) * \ + CONFIG_BT_CTLR_ISO_TX_BUFFERS) +#endif /* CONFIG_BT_CTLR_CONN_ISO */ #else /* !CONFIG_BT_CTLR_ADV_ISO && !CONFIG_BT_CTLR_CONN_ISO */ #define BT_CTLR_ISO_TX_PDU_BUFFERS 0 #endif /* !CONFIG_BT_CTLR_ADV_ISO && !CONFIG_BT_CTLR_CONN_ISO */ diff --git a/tests/bsim/bluetooth/audio/overlay-bt_ll_sw_split.conf b/tests/bsim/bluetooth/audio/overlay-bt_ll_sw_split.conf index a8dcadfbca6..26718f348a3 100644 --- a/tests/bsim/bluetooth/audio/overlay-bt_ll_sw_split.conf +++ b/tests/bsim/bluetooth/audio/overlay-bt_ll_sw_split.conf @@ -71,7 +71,6 @@ CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_CONN_ISO_GROUPS=1 CONFIG_BT_CTLR_CONN_ISO_STREAMS=2 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=2 -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y @@ -79,6 +78,7 @@ CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y CONFIG_BT_CTLR_ISOAL_SOURCES=4 CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=4095 # ISO Receptions CONFIG_BT_CTLR_ISOAL_SINKS=4 diff --git a/tests/bsim/bluetooth/audio/overlay-nrf5340_cpunet_iso-bt_ll_sw_split.conf b/tests/bsim/bluetooth/audio/overlay-nrf5340_cpunet_iso-bt_ll_sw_split.conf index 4679eedd1e0..869d43f5fbc 100644 --- a/tests/bsim/bluetooth/audio/overlay-nrf5340_cpunet_iso-bt_ll_sw_split.conf +++ b/tests/bsim/bluetooth/audio/overlay-nrf5340_cpunet_iso-bt_ll_sw_split.conf @@ -5,6 +5,7 @@ CONFIG_BT_ISO_TX_BUF_COUNT=18 CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=4095 CONFIG_BT_CTLR_ADV_ISO_STREAM_COUNT=4 CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=4 diff --git a/tests/bsim/bluetooth/host/iso/bis/prj.conf b/tests/bsim/bluetooth/host/iso/bis/prj.conf index 15eed7dd676..3a757252893 100644 --- a/tests/bsim/bluetooth/host/iso/bis/prj.conf +++ b/tests/bsim/bluetooth/host/iso/bis/prj.conf @@ -23,6 +23,7 @@ CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=4 CONFIG_BT_CTLR_SYNC_ISO=y CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=4 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=208 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=200 CONFIG_BT_CTLR_ISO_TX_BUFFERS=4 CONFIG_BT_CTLR_ISOAL_SOURCES=4 CONFIG_BT_CTLR_ISOAL_SINKS=4 diff --git a/tests/bsim/bluetooth/host/iso/cis/prj.conf b/tests/bsim/bluetooth/host/iso/cis/prj.conf index bfdeab2c4e8..4ad0a0fd319 100644 --- a/tests/bsim/bluetooth/host/iso/cis/prj.conf +++ b/tests/bsim/bluetooth/host/iso/cis/prj.conf @@ -21,6 +21,7 @@ CONFIG_BT_ISO_LOG_LEVEL_DBG=y CONFIG_BT_CTLR_CENTRAL_ISO=y CONFIG_BT_CTLR_PERIPHERAL_ISO=y CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=208 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=200 CONFIG_BT_CTLR_ISO_TX_BUFFERS=4 CONFIG_BT_CTLR_ISOAL_SOURCES=2 CONFIG_BT_CTLR_ISOAL_SINKS=2 diff --git a/tests/bsim/bluetooth/host/iso/frag/prj.conf b/tests/bsim/bluetooth/host/iso/frag/prj.conf index 827ce27ea2c..ef978548977 100644 --- a/tests/bsim/bluetooth/host/iso/frag/prj.conf +++ b/tests/bsim/bluetooth/host/iso/frag/prj.conf @@ -17,3 +17,4 @@ CONFIG_BT_ISO_LOG_LEVEL_DBG=y # Controller ISO configs CONFIG_BT_CTLR_ADV_ISO=y CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=20 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=12 diff --git a/tests/bsim/bluetooth/host/iso/frag_2/prj.conf b/tests/bsim/bluetooth/host/iso/frag_2/prj.conf index 4ae63917a5d..5a7c5e2d33e 100644 --- a/tests/bsim/bluetooth/host/iso/frag_2/prj.conf +++ b/tests/bsim/bluetooth/host/iso/frag_2/prj.conf @@ -22,6 +22,7 @@ CONFIG_BT_ISO_RX_MTU=100 # Controller ISO configs CONFIG_BT_CTLR_ADV_ISO=y CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_ISO_TX_BUFFERS=10 # Controller Extended Advertising configs diff --git a/tests/bsim/bluetooth/ll/bis/prj.conf b/tests/bsim/bluetooth/ll/bis/prj.conf index 48d07dfc695..21239521a56 100644 --- a/tests/bsim/bluetooth/ll/bis/prj.conf +++ b/tests/bsim/bluetooth/ll/bis/prj.conf @@ -17,6 +17,7 @@ CONFIG_BT_CTLR_SYNC_ISO=y CONFIG_BT_CTLR_ISO_TX_BUFFERS=2 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247 CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 diff --git a/tests/bsim/bluetooth/ll/bis/prj_vs_dp.conf b/tests/bsim/bluetooth/ll/bis/prj_vs_dp.conf index 4bf19777993..59bb4623195 100644 --- a/tests/bsim/bluetooth/ll/bis/prj_vs_dp.conf +++ b/tests/bsim/bluetooth/ll/bis/prj_vs_dp.conf @@ -16,6 +16,7 @@ CONFIG_BT_CTLR_ADV_ISO=y CONFIG_BT_CTLR_SYNC_ISO=y CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_SYNC_ISO_PDU_LEN_MAX=251 diff --git a/tests/bsim/bluetooth/ll/cis/prj.conf b/tests/bsim/bluetooth/ll/cis/prj.conf index ebc9296a650..7d703c9481d 100644 --- a/tests/bsim/bluetooth/ll/cis/prj.conf +++ b/tests/bsim/bluetooth/ll/cis/prj.conf @@ -30,7 +30,6 @@ CONFIG_LOG=y CONFIG_BT_LL_SW_SPLIT=y CONFIG_BT_CTLR_CENTRAL_ISO=y CONFIG_BT_CTLR_PERIPHERAL_ISO=y -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_STREAMS=9 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=9 @@ -39,6 +38,7 @@ CONFIG_BT_CTLR_ISOAL_SINKS=9 CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_ISO_RX_BUFFERS=1 CONFIG_BT_CTLR_PHY_CODED=n diff --git a/tests/bsim/bluetooth/ll/cis/sysbuild/hci_ipc/nrf5340_cpunet_iso_acl_group-bt_ll_sw_split.conf b/tests/bsim/bluetooth/ll/cis/sysbuild/hci_ipc/nrf5340_cpunet_iso_acl_group-bt_ll_sw_split.conf index 7ccec95bcee..c9beb293fe3 100644 --- a/tests/bsim/bluetooth/ll/cis/sysbuild/hci_ipc/nrf5340_cpunet_iso_acl_group-bt_ll_sw_split.conf +++ b/tests/bsim/bluetooth/ll/cis/sysbuild/hci_ipc/nrf5340_cpunet_iso_acl_group-bt_ll_sw_split.conf @@ -94,7 +94,6 @@ CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2 # ISO Connection Oriented CONFIG_BT_CTLR_CENTRAL_ISO=y CONFIG_BT_CTLR_PERIPHERAL_ISO=y -CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247 CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251 CONFIG_BT_CTLR_CONN_ISO_STREAMS=4 CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=4 @@ -102,6 +101,7 @@ CONFIG_BT_CTLR_CONN_ISO_STREAMS_PER_GROUP=4 # ISO Transmissions CONFIG_BT_CTLR_ISO_TX_BUFFERS=18 CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255 +CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX=247 CONFIG_BT_CTLR_ISOAL_SOURCES=4 # ISO Receptions