Bluetooth: Controller: Default to advertising coding in ACL connection

Change default to using advertising coding in ACL connection
when establishing connections on Coded PHY.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2024-03-18 08:41:42 +01:00 committed by Fabio Baltieri
commit dc56669c31
3 changed files with 9 additions and 4 deletions

View file

@ -1431,6 +1431,7 @@ static void isr_tx_connect_req(void *param)
static void isr_rx_connect_rsp(void *param)
{
struct lll_scan_aux *lll_aux;
uint8_t phy_aux_flags_rx;
struct pdu_adv *pdu_rx;
struct node_rx_pdu *rx;
struct lll_scan *lll;
@ -1455,8 +1456,9 @@ static void isr_rx_connect_rsp(void *param)
irkmatch_ok = 0U;
irkmatch_id = FILTER_IDX_NONE;
}
phy_aux_flags_rx = radio_phy_flags_rx_get();
} else {
crc_ok = irkmatch_ok = 0U;
crc_ok = irkmatch_ok = phy_aux_flags_rx = 0U;
irkmatch_id = FILTER_IDX_NONE;
}
@ -1535,6 +1537,7 @@ static void isr_rx_connect_rsp(void *param)
conn_lll->phy_tx = lll_aux->phy;
conn_lll->phy_tx_time = lll_aux->phy;
conn_lll->phy_flags = phy_aux_flags_rx;
conn_lll->phy_rx = lll_aux->phy;
#endif /* CONFIG_BT_CTLR_PHY */

View file

@ -1036,17 +1036,18 @@ uint8_t ll_adv_enable(uint8_t enable)
conn_lll->empty = 0;
#if defined(CONFIG_BT_CTLR_PHY)
conn_lll->phy_flags = 0;
if (0) {
#if defined(CONFIG_BT_CTLR_ADV_EXT)
} else if (pdu_adv->type == PDU_ADV_TYPE_EXT_IND) {
conn_lll->phy_tx = lll->phy_s;
conn_lll->phy_tx_time = lll->phy_s;
conn_lll->phy_flags = lll->phy_flags;
conn_lll->phy_rx = lll->phy_s;
#endif /* CONFIG_BT_CTLR_ADV_EXT */
} else {
conn_lll->phy_tx = PHY_1M;
conn_lll->phy_tx_time = PHY_1M;
conn_lll->phy_flags = PHY_FLAGS_S8;
conn_lll->phy_rx = PHY_1M;
}
#endif /* CONFIG_BT_CTLR_PHY */

View file

@ -215,11 +215,12 @@ uint8_t ll_create_connection(uint16_t scan_interval, uint16_t scan_window,
#if defined(CONFIG_BT_CTLR_PHY)
/* Use the default 1M PHY, extended connection initiation in LLL will
* update this with the correct PHY.
* update this with the correct PHY and defaults using the coding on
* which the connection is established.
*/
conn_lll->phy_tx = PHY_1M;
conn_lll->phy_flags = 0;
conn_lll->phy_tx_time = PHY_1M;
conn_lll->phy_flags = PHY_FLAGS_S8;
conn_lll->phy_rx = PHY_1M;
#endif /* CONFIG_BT_CTLR_PHY */