Skip to content

Commit 17d695a

Browse files
cvinayakThalley
authored andcommitted
Bluetooth: Controller: Simplify required ISO PDU length and buffer count
Simplify the defines calculating the minimum required ISO PDU length and the buffer count. Co-authored-by: Emil Gydesen <emil.gydesen@nordicsemi.no> Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
1 parent 662acab commit 17d695a

File tree

1 file changed

+16
-20
lines changed

1 file changed

+16
-20
lines changed

subsys/bluetooth/controller/ll_sw/ull_iso_internal.h

Lines changed: 16 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,22 @@ BUILD_ASSERT(BT_CTLR_ISO_TX_SDU_LEN_MAX == CONFIG_BT_CTLR_ISO_TX_SDU_LEN_MAX,
2222
* Based on the internal ISO Tx SDU maximum length, calculate the required ISO Tx buffers (PDUs)
2323
* required to fragment the SDU into PDU sizes scheduled for transmission.
2424
*/
25-
#if defined(CONFIG_BT_CTLR_ADV_ISO) && defined(CONFIG_BT_CTLR_CONN_ISO)
26-
#define BT_CTLR_ISO_TX_PDU_BUFFERS (DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \
27-
MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - \
28-
BT_HCI_ISO_SDU_TS_HDR_SIZE), \
29-
MIN(CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX, \
30-
CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX))) * \
31-
CONFIG_BT_CTLR_ISO_TX_BUFFERS)
32-
#elif defined(CONFIG_BT_CTLR_ADV_ISO)
33-
#define BT_CTLR_ISO_TX_PDU_BUFFERS (DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \
34-
MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - \
35-
BT_HCI_ISO_SDU_TS_HDR_SIZE), \
36-
CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX)) * \
37-
CONFIG_BT_CTLR_ISO_TX_BUFFERS)
38-
#else /* CONFIG_BT_CTLR_CONN_ISO */
39-
#define BT_CTLR_ISO_TX_PDU_BUFFERS (DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \
40-
MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - \
41-
BT_HCI_ISO_SDU_TS_HDR_SIZE), \
42-
CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX)) * \
43-
CONFIG_BT_CTLR_ISO_TX_BUFFERS)
44-
#endif /* CONFIG_BT_CTLR_CONN_ISO */
25+
/* Defines the minimum required PDU length to help calculate the number of PDU buffers required
26+
* At least one of CONFIG_BT_CTLR_ADV_ISO or CONFIG_BT_CTLR_CONN_ISO will always be enabled,
27+
* so if either of them is not defined, it can default to the other
28+
*/
29+
#define BT_CTLR_ISO_TX_MIN_PDU_LEN \
30+
MIN(COND_CODE_1(IS_ENABLED(CONFIG_BT_CTLR_ADV_ISO), \
31+
(CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX), \
32+
(CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX)), \
33+
COND_CODE_1(IS_ENABLED(CONFIG_BT_CTLR_CONN_ISO), \
34+
(CONFIG_BT_CTLR_CONN_ISO_PDU_LEN_MAX), \
35+
(CONFIG_BT_CTLR_ADV_ISO_PDU_LEN_MAX)))
36+
#define BT_CTLR_ISO_TX_PDU_BUFFERS \
37+
(DIV_ROUND_UP(BT_CTLR_ISO_TX_SDU_LEN_MAX, \
38+
MIN((CONFIG_BT_CTLR_ISO_TX_BUFFER_SIZE - BT_HCI_ISO_SDU_TS_HDR_SIZE), \
39+
BT_CTLR_ISO_TX_MIN_PDU_LEN)) * \
40+
CONFIG_BT_CTLR_ISO_TX_BUFFERS)
4541
#else /* !CONFIG_BT_CTLR_ADV_ISO && !CONFIG_BT_CTLR_CONN_ISO */
4642
#define BT_CTLR_ISO_TX_PDU_BUFFERS 0
4743
#endif /* !CONFIG_BT_CTLR_ADV_ISO && !CONFIG_BT_CTLR_CONN_ISO */

0 commit comments

Comments
 (0)