Lines Matching refs:pdu
72 struct pdu_adv *pdu);
75 struct pdu_adv *pdu);
91 struct pdu_adv *pdu);
94 struct pdu_adv *pdu);
101 const struct pdu_adv *pdu);
118 static struct pdu_adv_sync_info *sync_info_get(struct pdu_adv *pdu);
135 struct pdu_adv *pdu_prev, *pdu; in ll_adv_sync_param_set() local
213 err = ull_adv_sync_pdu_alloc(adv, ULL_ADV_PDU_EXTRA_DATA_ALLOC_IF_EXIST, &pdu_prev, &pdu, in ll_adv_sync_param_set()
227 err = ull_adv_sync_duplicate(pdu_prev, pdu); in ll_adv_sync_param_set()
257 struct pdu_adv *pdu_prev, *pdu; in ll_adv_sync_ad_data_set() local
312 &pdu_prev, &pdu, &extra_data_prev, in ll_adv_sync_ad_data_set()
328 err = ull_adv_sync_update_adi(lll_sync, pdu_prev, pdu); in ll_adv_sync_ad_data_set()
332 err = ull_adv_sync_ad_replace(lll_sync, pdu_prev, pdu, data, len); in ll_adv_sync_ad_data_set()
334 err = ull_adv_sync_ad_add(lll_sync, pdu_prev, pdu, data, len); in ll_adv_sync_ad_data_set()
348 (pdu->len == pdu->adv_ext_ind.ext_hdr_len + 1U) || in ll_adv_sync_ad_data_set()
356 if (pdu_prev == pdu) { in ll_adv_sync_ad_data_set()
365 err = ull_adv_sync_time_update(sync, pdu); in ll_adv_sync_ad_data_set()
457 struct pdu_adv *pdu_prev, *pdu; in ll_adv_sync_enable() local
460 &pdu_prev, &pdu, &extra_data_prev, in ll_adv_sync_enable()
467 ter_pdu = pdu; in ll_adv_sync_enable()
478 ull_adv_sync_add_adi(lll_sync, pdu_prev, pdu); in ll_adv_sync_enable()
480 ull_adv_sync_remove_adi(lll_sync, pdu_prev, pdu); in ll_adv_sync_enable()
793 struct pdu_adv *pdu) in ull_adv_sync_evt_init() argument
801 if (!pdu) { in ull_adv_sync_evt_init()
802 pdu = lll_adv_sync_data_peek(&sync->lll, NULL); in ull_adv_sync_evt_init()
805 time_us = sync_time_get(sync, pdu); in ull_adv_sync_evt_init()
871 struct pdu_adv *pdu) in ull_adv_sync_time_update() argument
876 time_us = sync_time_get(sync, pdu); in ull_adv_sync_time_update()
932 struct pdu_adv *pdu; in ull_adv_sync_chm_complete() local
938 pdu = NULL; in ull_adv_sync_chm_complete()
942 &pdu_prev, &pdu, NULL, NULL, &ter_idx); in ull_adv_sync_chm_complete()
945 err = ull_adv_sync_remove_from_acad(lll_sync, pdu_prev, pdu, in ull_adv_sync_chm_complete()
988 void ull_adv_sync_pdu_init(struct pdu_adv *pdu, uint8_t ext_hdr_flags, in ull_adv_sync_pdu_init() argument
1001 pdu->type = PDU_ADV_TYPE_AUX_SYNC_IND; in ull_adv_sync_pdu_init()
1002 pdu->rfu = 0U; in ull_adv_sync_pdu_init()
1003 pdu->chan_sel = 0U; in ull_adv_sync_pdu_init()
1005 pdu->tx_addr = 0U; in ull_adv_sync_pdu_init()
1006 pdu->rx_addr = 0U; in ull_adv_sync_pdu_init()
1008 com_hdr = &pdu->adv_ext_ind; in ull_adv_sync_pdu_init()
1051 pdu->len = len; in ull_adv_sync_pdu_init()
1058 offs_us = PDU_AC_US(pdu->len, phy_s, phy_flags) + in ull_adv_sync_pdu_init()
1138 static void ull_adv_sync_add_to_header(struct pdu_adv *pdu, argument
1142 struct pdu_adv_com_ext_adv *hdr = &pdu->adv_ext_ind;
1175 if (pdu->len > hdr->ext_hdr_len + 1U) {
1176 if (pdu->len > PDU_AC_EXT_PAYLOAD_SIZE_MAX - delta) {
1180 *overflow_len = delta - (PDU_AC_EXT_PAYLOAD_SIZE_MAX - pdu->len);
1182 pdu->payload + PDU_AC_EXT_PAYLOAD_SIZE_MAX - *overflow_len,
1184 pdu->len -= *overflow_len;
1187 dptr = pdu->payload + hdr->ext_hdr_len + 1U;
1189 dptr, pdu->len - hdr->ext_hdr_len - 1U);
1192 pdu->len += delta;
1272 static void ull_adv_sync_remove_from_header(struct pdu_adv *pdu, argument
1276 struct pdu_adv_com_ext_adv *hdr = &pdu->adv_ext_ind;
1353 if (pdu->len > orig_hdr_len + 1U) {
1356 pdu->len - orig_hdr_len - 1U);
1360 pdu->len -= orig_hdr_len - hdr->ext_hdr_len;
1471 static void ull_adv_sync_update_pdu_adi(struct lll_adv_sync *lll_sync, struct pdu_adv *pdu, argument
1474 struct pdu_adv_com_ext_adv *hdr = &pdu->adv_ext_ind;
1502 static void ull_adv_sync_add_aux_ptr(struct pdu_adv *pdu, uint8_t *ad_overflow, argument
1508 ull_adv_sync_add_to_header(pdu, &fields, ad_overflow, overflow_len);
1511 static void ull_adv_sync_update_aux_ptr(struct lll_adv_sync *lll_sync, struct pdu_adv *pdu) argument
1513 struct pdu_adv_com_ext_adv *hdr = &pdu->adv_ext_ind;
1548 offs_us = PDU_AC_US(pdu->len, adv->lll.phy_s, adv->lll.phy_flags) + EVENT_SYNC_B2B_MAFS_US;
1561 static uint8_t ull_adv_sync_append_ad_data(struct lll_adv_sync *lll_sync, struct pdu_adv *pdu, argument
1575 ext_hdr_len = pdu->adv_ext_ind.ext_hdr_len + 1U;
1576 pdu_ad_len = pdu->len - ext_hdr_len;
1586 PDU_AC_EXT_PAYLOAD_SIZE_MAX - pdu->len < ad_len) {
1593 ull_adv_sync_add_aux_ptr(pdu, ad_overflow, &overflow_len);
1596 PDU_AC_EXT_PAYLOAD_SIZE_MAX - pdu->len));
1600 dptr = pdu->payload + pdu->len;
1606 pdu->len += overflow_len;
1614 pdu->len += pdu_add_len;
1624 ull_adv_sync_update_aux_ptr(lll_sync, pdu);
1635 ull_adv_sync_copy_pdu_header(pdu_chain, pdu, &skip_fields, true);
1638 lll_adv_pdu_linked_append(pdu_chain, pdu);
1640 pdu = pdu_chain;
1649 struct pdu_adv *pdu)
1651 if (pdu == pdu_prev) {
1656 pdu->type = pdu_prev->type;
1657 pdu->rfu = 0U;
1658 pdu->chan_sel = 0U;
1659 pdu->tx_addr = 0U;
1660 pdu->rx_addr = 0U;
1661 pdu->len = pdu_prev->len;
1664 memcpy(pdu->payload, pdu_prev->payload, pdu_prev->len);
1669 struct pdu_adv *pdu)
1672 if (pdu == pdu_prev) {
1680 ull_adv_sync_copy_pdu(pdu_prev, pdu);
1683 pdu_chain = lll_adv_pdu_linked_next_get(pdu);
1692 lll_adv_pdu_linked_append(pdu_chain, pdu);
1693 pdu = pdu_chain;
1834 struct pdu_adv *pdu) argument
1853 err = ull_adv_sync_duplicate_chain(pdu_prev, pdu);
1860 while (pdu) {
1861 last_pdu = pdu;
1866 ull_adv_sync_add_to_header(pdu, &add_fields,
1869 ull_adv_sync_update_pdu_adi(lll_sync, pdu, did);
1870 pdu = lll_adv_pdu_linked_next_get(pdu);
1871 if (pdu) {
1874 uint8_t pdu_avail = PDU_AC_EXT_PAYLOAD_SIZE_MAX - pdu->len;
1878 if (!pdu->adv_ext_ind.ext_hdr.adi) {
1881 if (pdu->adv_ext_ind.ext_hdr_len == 0U) {
1891 pdu->payload + (pdu->len - overflow_tmp_len),
1893 pdu->len -= overflow_tmp_len;
1897 dptr = pdu->payload + pdu->adv_ext_ind.ext_hdr_len + 1U;
1899 pdu->len - pdu->adv_ext_ind.ext_hdr_len - 1U +
1901 pdu->len += total_overflow_len;
1914 ull_adv_sync_append_ad_data(lll_sync, pdu, ad_overflow, total_overflow_len,
1919 if (pdu->len > PDU_AC_EXT_PAYLOAD_SIZE_MAX - sizeof(struct pdu_adv_adi)) {
1925 pdu->type = pdu_prev->type;
1926 pdu->rfu = 0U;
1927 pdu->chan_sel = 0U;
1928 pdu->tx_addr = 0U;
1929 pdu->rx_addr = 0U;
1930 pdu->len = pdu_prev->len;
1933 memcpy(pdu->payload, pdu_prev->payload, pdu_prev->len);
1936 ull_adv_sync_add_to_header(pdu, &add_fields, NULL, NULL);
1937 ull_adv_sync_update_pdu_adi(lll_sync, pdu, did);
1944 struct pdu_adv *pdu) argument
1954 err = ull_adv_sync_duplicate_chain(pdu_prev, pdu);
1960 while (pdu) {
1961 ull_adv_sync_remove_from_header(pdu, &remove_fields, false);
1962 if (pdu->adv_ext_ind.ext_hdr_len && pdu->adv_ext_ind.ext_hdr.aux_ptr) {
1963 ull_adv_sync_update_aux_ptr(lll_sync, pdu);
1965 pdu = lll_adv_pdu_linked_next_get(pdu);
1968 ull_adv_sync_remove_from_header(pdu, &remove_fields, false);
1975 uint8_t *ull_adv_sync_get_acad(struct pdu_adv *pdu, uint8_t *acad_len) argument
1977 struct pdu_adv_com_ext_adv *hdr = &pdu->adv_ext_ind;
2021 struct pdu_adv *pdu, argument
2032 err = ull_adv_sync_duplicate_chain(pdu_prev, pdu);
2037 ull_adv_sync_copy_pdu(pdu_prev, pdu);
2040 acad = ull_adv_sync_get_acad(pdu, &acad_len);
2070 (void)memmove(ad, ad + ad_len, pdu->len - ((ad + ad_len) - pdu->payload));
2073 pdu->len -= ad_len;
2074 pdu->adv_ext_ind.ext_hdr_len -= ad_len;
2081 struct pdu_adv *pdu, argument
2091 err = ull_adv_sync_duplicate_chain(pdu_prev, pdu);
2096 ull_adv_sync_copy_pdu(pdu_prev, pdu);
2100 if (pdu->adv_ext_ind.ext_hdr_len == 0U) {
2105 if (pdu->len > PDU_AC_EXT_PAYLOAD_SIZE_MAX - delta) {
2109 dptr = pdu->payload + pdu->adv_ext_ind.ext_hdr_len + 1U;
2112 ad_len = pdu->len - pdu->adv_ext_ind.ext_hdr_len - 1U;
2117 if (pdu->adv_ext_ind.ext_hdr_len == 0U) {
2127 pdu->len += delta;
2128 pdu->adv_ext_ind.ext_hdr_len += delta;
2134 static void ull_adv_sync_update_pdu_cteinfo(struct lll_adv_sync *lll_sync, struct pdu_adv *pdu, argument
2137 struct pdu_adv_com_ext_adv *hdr = &pdu->adv_ext_ind;
2156 struct pdu_adv *pdu, argument
2164 struct pdu_adv *last_pdu = pdu;
2172 err = ull_adv_sync_duplicate_chain(pdu_prev, pdu);
2179 while (pdu && cte_count) {
2180 last_pdu = pdu;
2185 ull_adv_sync_add_to_header(pdu, &add_fields,
2188 ull_adv_sync_update_pdu_cteinfo(lll_sync, pdu, cte_info);
2192 ull_adv_sync_update_aux_ptr(lll_sync, pdu);
2194 pdu = lll_adv_pdu_linked_next_get(pdu);
2195 if (pdu) {
2198 uint8_t pdu_avail = PDU_AC_EXT_PAYLOAD_SIZE_MAX - pdu->len;
2202 if (!pdu->adv_ext_ind.ext_hdr.cte_info) {
2205 if (pdu->adv_ext_ind.ext_hdr_len == 0U) {
2215 pdu->payload + (pdu->len - overflow_tmp_len),
2217 pdu->len -= overflow_tmp_len;
2221 dptr = pdu->payload + pdu->adv_ext_ind.ext_hdr_len + 1U;
2223 pdu->len - pdu->adv_ext_ind.ext_hdr_len - 1U +
2225 pdu->len += total_overflow_len;
2238 pdu = last_pdu;
2241 ull_adv_sync_append_ad_data(lll_sync, pdu, ad_overflow, total_overflow_len,
2261 lll_adv_pdu_linked_append(pdu_chain, pdu);
2264 ull_adv_sync_copy_pdu_header(pdu_chain, pdu, &skip_fields, true);
2267 ull_adv_sync_add_aux_ptr(pdu, ad_overflow, &overflow_len);
2268 ull_adv_sync_update_aux_ptr(lll_sync, pdu);
2275 pdu = pdu_chain;
2282 if (pdu->len > PDU_AC_EXT_PAYLOAD_SIZE_MAX - sizeof(struct pdu_cte_info)) {
2288 pdu->type = pdu_prev->type;
2289 pdu->rfu = 0U;
2290 pdu->chan_sel = 0U;
2291 pdu->tx_addr = 0U;
2292 pdu->rx_addr = 0U;
2293 pdu->len = pdu_prev->len;
2296 memcpy(pdu->payload, pdu_prev->payload, pdu_prev->len);
2299 ull_adv_sync_add_to_header(pdu, &add_fields, NULL, NULL);
2300 ull_adv_sync_update_pdu_cteinfo(lll_sync, pdu, cte_info);
2307 struct pdu_adv *pdu) argument
2317 err = ull_adv_sync_duplicate_chain(pdu_prev, pdu);
2323 while (pdu) {
2326 ull_adv_sync_remove_from_header(pdu, &remove_fields, false);
2328 if (pdu->adv_ext_ind.ext_hdr_len && pdu->adv_ext_ind.ext_hdr.aux_ptr) {
2329 ull_adv_sync_update_aux_ptr(lll_sync, pdu);
2332 pdu_chain = lll_adv_pdu_linked_next_get(pdu);
2340 ull_adv_sync_remove_from_header(pdu, &remove_fields, false);
2342 lll_adv_pdu_linked_append(NULL, pdu);
2346 pdu = pdu_chain;
2349 ull_adv_sync_remove_from_header(pdu, &remove_fields, false);
2458 const struct pdu_adv *pdu) argument
2468 len = pdu->len - pdu->adv_ext_ind.ext_hdr_len -
2542 struct pdu_adv *pdu; local
2567 &pdu_prev, &pdu, NULL, NULL, &ter_idx);
2583 err = ull_adv_sync_add_to_acad(lll_sync, pdu_prev, pdu, ad, sizeof(*chm_upd_ind) + 2U);
2618 void ull_adv_sync_lll_syncinfo_fill(struct pdu_adv *pdu, struct lll_adv_aux *lll_aux) argument
2626 si = sync_info_get(pdu);
2684 struct pdu_adv *pdu; local
2743 pdu = lll_adv_aux_data_latest_peek(adv->lll.aux);
2744 si = sync_info_get(pdu);
2804 static struct pdu_adv_sync_info *sync_info_get(struct pdu_adv *pdu) argument
2810 p = (void *)&pdu->adv_ext_ind;