Commit 2c6306d0 authored by Vinayak Kariappa Chettimada's avatar Vinayak Kariappa Chettimada Committed by Carles Cufi
Browse files

Bluetooth: Controller: BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU



Derive BT_CTLR_ISO_TX_BUFFER_SIZE from BT_ISO_TX_MTU to have
optimal Controller memory allocations.
BT_CTLR_ISO_TX_BUFFER_SIZE can be set lower than
BT_ISO_TX_MTU in which case upper layer can send fragmented
SDU to the Controller.

Signed-off-by: default avatarVinayak Kariappa Chettimada <vich@nordicsemi.no>
parent 3997479b
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -14,11 +14,7 @@ CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=155
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2
CONFIG_BT_CTLR_ISOAL_SOURCES=2

# FIXME: Host needs CONFIG_BT_ISO_TX_MTU + 4 bytes for sequence number, and  optionally
# additional + 4 bytes for timestamp when not using BT_ISO_TIMESTAMP_NONE in bt_iso_chan_send(),
# otherwise Host tries to fragment ISO data.
# When Host is fixed, CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE can inherit the
# CONFIG_BT_ISO_TX_MTU value.
#
# Supports the highest SDU size required by any BAP LC3 presets (155)
# 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)
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=163
+33 −0
Original line number Diff line number Diff line
# Zephyr Bluetooth Controller
CONFIG_BT_LL_SW_SPLIT=y

# Zephyr Bluetooth LE Controller needs 16 event buffers to generate Extended
# Advertising Report for receiving the complete 1650 bytes of data
CONFIG_BT_BUF_EVT_RX_COUNT=16

# Set maximum scan data length for Extended Scanning in Bluetooth LE Controller
CONFIG_BT_CTLR_SCAN_DATA_LEN_MAX=1650

# Increase Zephyr Bluetooth LE Controller Rx buffer to receive complete chain
# of PDUs
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_CONN_ISO_PDU_LEN_MAX=251

# Number of supported streami sources and sinks
CONFIG_BT_CTLR_ISOAL_SOURCES=2
CONFIG_BT_CTLR_ISOAL_SINKS=1

# Support the highest SDU size required by this sample 247 + 8 bytes of HCI ISO Data
# packet overhead (timestamp and HCI ISO Data packet header)
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255
CONFIG_BT_CTLR_ISO_TX_BUFFERS=4

# Use Low Latency Connected ISO policy
CONFIG_BT_CTLR_ADVANCED_FEATURES=y
CONFIG_BT_CTLR_CONN_ISO_LOW_LATENCY_POLICY=y

# Use the below if the sample is sending stale packet sequence number
# CONFIG_BT_CTLR_ISOAL_SN_STRICT=n
+11 −0
Original line number Diff line number Diff line
@@ -8,3 +8,14 @@ tests:
    integration_platforms:
      - qemu_x86
    tags: bluetooth
  sample.bluetooth.central_iso.bt_ll_sw_split:
    harness: bluetooth
    platform_allow:
      - qemu_cortex_m3
      - qemu_x86
      - nrf52_bsim
      - nrf52833dk/nrf52833
    integration_platforms:
      - nrf52833dk/nrf52833
    extra_args: OVERLAY_CONFIG=overlay-bt_ll_sw_split.conf
    tags: bluetooth
+2 −2
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=6
CONFIG_BT_CTLR_ADV_EXT=y
CONFIG_BT_CTLR_ADV_PERIODIC=y
CONFIG_BT_CTLR_ADV_ISO=y
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=251
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX=247
CONFIG_BT_CTLR_ADV_ISO_STREAM_MAX=2

# ISO Receive Controller
@@ -89,7 +89,7 @@ CONFIG_BT_CTLR_SYNC_ISO_STREAM_MAX=2

# ISO Transmissions
CONFIG_BT_CTLR_ISO_TX_BUFFERS=8
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=251
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255
CONFIG_BT_CTLR_ISOAL_SOURCES=2

# ISO Receptions
+2 −2
Original line number Diff line number Diff line
@@ -77,12 +77,12 @@ CONFIG_BT_CTLR_LLCP_LOCAL_PROC_CTX_BUF_NUM=6
# ISO Connection Oriented
CONFIG_BT_CTLR_CENTRAL_ISO=y
CONFIG_BT_CTLR_PERIPHERAL_ISO=y
CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=251
CONFIG_BT_CTLR_CONN_ISO_SDU_LEN_MAX=247
CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX=251

# ISO Transmissions
CONFIG_BT_CTLR_ISO_TX_BUFFERS=8
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=251
CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE=255
CONFIG_BT_CTLR_ISOAL_SOURCES=2

# ISO Receptions
Loading