Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
2389990
[nrf fromtree] Bluetooth: controller: Fix ISO broadcaster pre-transmi…
mtpr-ot Aug 22, 2024
6ada1fb
[nrf fromtree] Bluetooth: Controller: Add back the use of pre-transmi…
cvinayak Jan 8, 2025
c6ed049
[nrf fromtree] Bluetooth: controller: Fixup Broadcast ISO pre-transmi…
cvinayak Jan 8, 2025
3ac037a
[nrf fromtree] Bluetooth: Controller: Fix radio_tmr_start_us for sing…
cvinayak Dec 25, 2024
aab3172
[nrf fromtree] Bluetooth: Controller: Fix single timer s/w switch whe…
cvinayak Jan 1, 2025
af9ac98
[nrf fromtree] Bluetooth: Controller: Fix single timer s/w switch bas…
cvinayak Jan 1, 2025
5154398
[nrf fromtree] Bluetooth: Controller: Add radio_sim_nrf54l.h file
cvinayak Jan 15, 2025
f316cad
[nrf fromtree] Bluetooth: Controller: Fix nRF5 radio and event timer …
cvinayak Jan 1, 2025
7b017e5
[nrf fromtree] Bluetooth: Controller: Restrict ISO Sync Receiver sube…
cvinayak Jan 3, 2025
2128d80
[nrf fromtree] Revert "Bluetooth: Controller: Fix ext conn create whe…
cvinayak Jan 2, 2025
43ed487
[nrf fromtree] Bluetooth: Controller: Single timer use Extended Adver…
cvinayak Jul 6, 2024
0519567
[nrf fromtree] Bluetooth: Controller: Single timer use Extended Scann…
cvinayak Dec 29, 2024
df3a06c
[nrf fromtree] Bluetooth: Controller: Single timer use Conn Schedulin…
cvinayak Dec 29, 2024
551cb64
[nrf fromtree] Bluetooth: Controller: Single timer use Periodic Adv S…
cvinayak Dec 29, 2024
5c47bf7
[nrf fromtree] Bluetooth: Controller: Single timer use ISO Receive nR…
cvinayak Dec 29, 2024
93bd71a
[nrf fromtree] Bluetooth: Controller: Single timer use ISO Central nR…
cvinayak Dec 29, 2024
5b78203
[nrf fromtree] Bluetooth: Controller: Single timer use ISO Peripheral…
cvinayak Dec 29, 2024
cc96500
[nrf fromtree] Bluetooth: Controller: Minor fix defines and condition…
cvinayak Dec 25, 2024
2cd6873
[nrf fromtree] Bluetooth: Controller: Align DDPI usage with nRF54L po…
cvinayak Dec 25, 2024
c05103e
[nrf fromtree] Bluetooth: Controller: Add NRF_CCM support in nRF54L15…
cvinayak Sep 23, 2024
a034d03
[nrf fromtree] Bluetooth: Controller: BUILD_ASSERT ticker nodes excee…
cvinayak Dec 28, 2024
9a544d4
[nrf fromtree] Bluetooth: Controller: Fix regression in connection up…
cvinayak Jan 17, 2025
e950fdc
[nrf fromtree] Bluetooth: Controller: Fix reset of drift_skip count
cvinayak Jan 17, 2025
84b27e2
[nrf fromtree] Bluetooth: Controller: Fix uninitialized is_aborted in…
cvinayak Jan 18, 2025
9cf33ff
[nrf fromtree] Bluetooth: Controller: Fix regression in Code PHY S2 R…
cvinayak Jan 20, 2025
2781dca
[nrf fromtree] Bluetooth: Controller: Fix connection event busy check
cvinayak Jan 25, 2025
ec094f1
[nrf fromtree] Bluetooth: Controller: Fix incorrect drift comp on PHY…
cvinayak Jan 25, 2025
ae9cc6a
[nrf fromtree] Bluetooth: Controller: Workaround HCTO for BabbleSIM
cvinayak Jan 26, 2025
0d0644b
[nrf fromtree] Bluetooth: Controller: Fix Central ISO related to elap…
cvinayak Jan 28, 2025
a48c468
[nrf fromtree] Bluetooth: Controller: Fix Connected ISO to use accumu…
cvinayak Jan 28, 2025
9dc86e2
[nrf fromtree] Bluetooth: Controller: Fix incorrect event_count when …
cvinayak Jan 28, 2025
ceefb46
[nrf fromtree] Bluetooth: Controller: Fix coverity issue for cis == NULL
Thalley Feb 4, 2025
88a57be
[nrf fromtree] Bluetooth: Controller: Fix LE Create BIG Complete even…
MariuszSkamra Feb 6, 2025
f4e520d
[nrf fromtree] Bluetooth: Controller: Fix casting in radio_aa_set for…
Thalley Feb 4, 2025
dd266a3
[nrf fromtree] Bluetooth: Controller: Fix BT_CTLR_LOW_LAT_ULL conditi…
cvinayak Oct 4, 2024
0df58c1
[nrf fromtree] Bluetooth: Controller: Fix device address in Periodic …
cvinayak Jan 30, 2025
c758863
[nrf fromtree] Bluetooth: Controller: Fix sync_delay and latency in L…
cvinayak Feb 7, 2025
e567c81
[nrf fromtree] Bluetooth: Controller: Fix Periodic Sync for multiple …
cvinayak Feb 7, 2025
afcf38f
[nrf fromtree] Bluetooth: Controller: Fix assertion terminating Perio…
cvinayak Feb 7, 2025
2078488
[nrf fromtree] Bluetooth: Controller: Fix to release aux context stor…
cvinayak Feb 7, 2025
65b738e
[nrf fromtree] Bluetooth: Controller: Fix regression in scan aux release
cvinayak Feb 13, 2025
f41ecd4
[nrf fromtree] Bluetooth: Controller: Fix redundant reset of sync aux…
cvinayak Feb 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions subsys/bluetooth/controller/Kconfig.ll_sw_split
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ config BT_LLL_VENDOR_NORDIC
select BT_CTLR_CRYPTO_SUPPORT
select BT_CTLR_LE_ENC_SUPPORT if BT_CTLR_CRYPTO_SUPPORT && \
!BT_CTLR_DATA_LENGTH_CLEAR && \
!BT_CTLR_PHY_2M_NRF && \
!SOC_COMPATIBLE_NRF54LX
!BT_CTLR_PHY_2M_NRF
select BT_CTLR_PRIVACY_SUPPORT if BT_CTLR_CRYPTO_SUPPORT && \
!SOC_SERIES_NRF51X && \
!SOC_COMPATIBLE_NRF54LX
Expand All @@ -31,6 +30,7 @@ config BT_LLL_VENDOR_NORDIC
select BT_CTLR_PER_INIT_FEAT_XCHG_SUPPORT
select BT_CTLR_DATA_LEN_UPDATE_SUPPORT if !BT_CTLR_LE_ENC_SUPPORT || \
HAS_HW_NRF_CCM_LFLEN_8BIT || \
SOC_COMPATIBLE_NRF54LX || \
BT_CTLR_DATA_LENGTH_CLEAR
select BT_CTLR_EXT_SCAN_FP_SUPPORT
select BT_CTLR_PHY_2M_SUPPORT if HAS_HW_NRF_RADIO_BLE_2M || \
Expand All @@ -43,7 +43,7 @@ config BT_LLL_VENDOR_NORDIC
select BT_CTLR_SYNC_PERIODIC_SUPPORT
select BT_CTLR_ADV_ISO_SUPPORT
select BT_CTLR_SYNC_ISO_SUPPORT
select BT_CTLR_BROADCAST_ISO_ENC_SUPPORT if !SOC_COMPATIBLE_NRF54LX
select BT_CTLR_BROADCAST_ISO_ENC_SUPPORT
select BT_CTLR_CENTRAL_ISO_SUPPORT
select BT_CTLR_PERIPHERAL_ISO_SUPPORT
select BT_CTLR_DF_SUPPORT if HAS_HW_NRF_RADIO_DFE
Expand Down
37 changes: 34 additions & 3 deletions subsys/bluetooth/controller/hci/hci.c
Original file line number Diff line number Diff line change
Expand Up @@ -8152,8 +8152,11 @@ static void le_big_complete(struct pdu_data *pdu_data,
struct net_buf *buf)
{
struct bt_hci_evt_le_big_complete *sep;
uint32_t transport_latency_big;
struct ll_adv_iso_set *adv_iso;
uint32_t iso_interval_us;
struct lll_adv_iso *lll;
uint32_t big_sync_delay;
size_t evt_size;

adv_iso = node_rx->rx_ftr.param;
Expand All @@ -8170,16 +8173,44 @@ static void le_big_complete(struct pdu_data *pdu_data,
return;
}

/* FIXME: Fill sync delay and latency */
sys_put_le24(0, sep->sync_delay);
sys_put_le24(0, sep->latency);
/* BT Core v5.4 - Vol 6, Part B, Section 4.4.6.4:
* BIG_Sync_Delay = (Num_BIS – 1) × BIS_Spacing + (NSE – 1) × Sub_Interval + MPT.
*
* BT Core v5.4 - Vol 6, Part G, Section 3.2.1: (Framed)
* Transport_Latenct_BIG = BIG_Sync_Delay + PTO × (NSE / BN – IRC) * ISO_Interval +
* ISO_Interval + SDU_Interval
*
* BT Core v5.4 - Vol 6, Part G, Section 3.2.2: (Unframed)
* Transport_Latenct_BIG = BIG_Sync_Delay + (PTO × (NSE / BN – IRC) + 1) * ISO_Interval -
* SDU_Interval
*/
iso_interval_us = lll->iso_interval * ISO_INT_UNIT_US;
big_sync_delay = ull_iso_big_sync_delay(lll->num_bis, lll->bis_spacing, lll->nse,
lll->sub_interval, lll->phy, lll->max_pdu,
lll->enc);
sys_put_le24(big_sync_delay, sep->sync_delay);

if (lll->framing) {
/* Framed */
transport_latency_big = big_sync_delay +
lll->pto * (lll->nse / lll->bn - lll->irc) *
iso_interval_us + iso_interval_us + lll->sdu_interval;
} else {
/* Unframed */
transport_latency_big = big_sync_delay +
(lll->pto * (lll->nse / lll->bn - lll->irc) + 1) *
iso_interval_us - lll->sdu_interval;
}

sys_put_le24(transport_latency_big, sep->latency);

sep->phy = find_lsb_set(lll->phy);
sep->nse = lll->nse;
sep->bn = lll->bn;
sep->pto = lll->pto;
sep->irc = lll->irc;
sep->max_pdu = sys_cpu_to_le16(lll->max_pdu);
sep->iso_interval = sys_cpu_to_le16(lll->iso_interval);
sep->num_bis = lll->num_bis;

/* Connection handle list of all BISes in the BIG */
Expand Down
12 changes: 8 additions & 4 deletions subsys/bluetooth/controller/ll_sw/lll_conn.h
Original file line number Diff line number Diff line change
Expand Up @@ -86,10 +86,14 @@ struct lll_conn {

#if defined(CONFIG_BT_PERIPHERAL)
struct {
uint8_t initiated:1;
uint8_t cancelled:1;
uint8_t forced:1;
uint8_t latency_enabled:1;
uint8_t initiated:1;
uint8_t cancelled:1;
uint8_t forced:1;
uint8_t latency_enabled:1;

#if defined(CONFIG_BT_CTLR_PHY)
uint8_t phy_rx_event:3;
#endif /* CONFIG_BT_CTLR_PHY */

uint32_t window_widening_periodic_us;
uint32_t window_widening_max_us;
Expand Down
3 changes: 2 additions & 1 deletion subsys/bluetooth/controller/ll_sw/lll_conn_iso.h
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ struct lll_conn_iso_stream {
struct lll_conn_iso_stream_rxtx tx; /* TX parameters */

/* Event and payload counters */
uint64_t event_count:39; /* cisEventCount */
uint64_t event_count_prepare:39; /* cisEventCount in overlapping CIG prepare */
uint64_t event_count:39; /* cisEventCount in current CIG event */

/* Acknowledgment and flow control */
uint8_t sn:1; /* Sequence number */
Expand Down
Loading