Bluetooth: controller: Add data path config for ISO sync receiver

- Assign sync_delay parameters for ISO-AL sink creation
- Store framing information from BIGinfo for use in sink creation
- Set max_octets for sink creation

Signed-off-by: Morten Priess <mtpr@oticon.com>
This commit is contained in:
Morten Priess 2024-02-12 15:41:47 +01:00 committed by Anas Nashif
commit b1bcd799fb
3 changed files with 7 additions and 4 deletions

View file

@ -25,6 +25,7 @@ struct lll_sync_iso {
uint16_t data_chan_remap_idx;
uint64_t payload_count:39;
uint64_t framing:1;
uint64_t enc:1;
uint64_t ctrl:1;
uint64_t cssn_curr:3;

View file

@ -346,11 +346,12 @@ uint8_t ll_setup_iso_path(uint16_t handle, uint8_t path_dir, uint8_t path_id,
iso_interval = lll_iso->iso_interval;
sdu_interval = lll_iso->sdu_interval;
burst_number = lll_iso->bn;
group_sync_delay = ull_big_sync_delay(lll_iso);
stream_sync_delay = group_sync_delay - stream_handle * lll_iso->bis_spacing;
framed = lll_iso->framing;
max_octets = lll_iso->max_pdu;
flush_timeout = 0U; /* Not used for Broadcast ISO */
group_sync_delay = 0U; /* FIXME: */
stream_sync_delay = 0U; /* FIXME: */
framed = 0U; /* FIXME: pick the framing value from context */
max_octets = 0U;
#endif /* CONFIG_BT_CTLR_SYNC_ISO */
} else {

View file

@ -472,6 +472,7 @@ void ull_sync_iso_setup(struct ll_sync_iso_set *sync_iso,
lll->payload_count |= (uint64_t)bi->payload_count_framing[2] << 16;
lll->payload_count |= (uint64_t)bi->payload_count_framing[3] << 24;
lll->payload_count |= (uint64_t)(bi->payload_count_framing[4] & 0x7f) << 32;
lll->framing = (bi->payload_count_framing[4] & 0x80) >> 7;
/* Set establishment event countdown */
lll->establish_events = CONN_ESTAB_COUNTDOWN;