Lines Matching refs:aux

54 static inline void aux_release(struct ll_adv_aux_set *aux);
55 static uint32_t aux_time_get(const struct ll_adv_aux_set *aux,
58 static uint32_t aux_time_min_get(const struct ll_adv_aux_set *aux);
59 static uint8_t aux_time_update(struct ll_adv_aux_set *aux, struct pdu_adv *pdu,
222 if (!err && adv->lll.aux) { in ll_adv_aux_ad_data_set()
257 pdu_prev = lll_adv_aux_data_alloc(adv->lll.aux, in ll_adv_aux_ad_data_set()
270 lll_adv_aux_data_alloc(adv->lll.aux, in ll_adv_aux_ad_data_set()
318 pdu_prev = lll_adv_aux_data_peek(adv->lll.aux); in ll_adv_aux_ad_data_set()
321 pdu = lll_adv_aux_data_alloc(adv->lll.aux, in ll_adv_aux_ad_data_set()
357 lll_adv_aux_data_enqueue(adv->lll.aux, in ll_adv_aux_ad_data_set()
389 if (!adv->lll.aux) {
587 lll_adv_aux_data_enqueue(adv->lll.aux,
607 lll_adv_aux_data_enqueue(adv->lll.aux, sec_idx);
650 struct ll_adv_aux_set *aux; local
654 aux = HDR_LLL2ULL(adv->lll.aux);
655 if (!aux->is_started) {
668 aux->interval =
687 ull_adv_aux_evt_init(aux, &ticks_anchor);
689 ret = ull_adv_aux_start(aux, ticks_anchor,
699 aux->is_started = 1;
712 lll_adv_aux_data_enqueue(adv->lll.aux, sec_idx);
784 LL_ASSERT(lll->aux); in ll_adv_aux_sr_data_set()
787 sec_pdu_prev = lll_adv_aux_data_peek(lll->aux); in ll_adv_aux_sr_data_set()
1252 lll_adv_aux_data_enqueue(adv->lll.aux, sr_idx); in ll_adv_aux_sr_data_set()
1300 lll_adv_aux_data_enqueue(adv->lll.aux, sec_idx); in ll_adv_aux_sr_data_set()
1384 if (lll->aux) { in ll_adv_aux_set_remove()
1385 struct ll_adv_aux_set *aux; in ll_adv_aux_set_remove() local
1387 aux = HDR_LLL2ULL(lll->aux); in ll_adv_aux_set_remove()
1388 lll->aux = NULL; in ll_adv_aux_set_remove()
1390 ull_adv_aux_release(aux); in ll_adv_aux_set_remove()
1458 struct ll_adv_aux_set *aux; in ull_adv_aux_chm_update() local
1463 if (!adv || !adv->lll.aux) { in ull_adv_aux_chm_update()
1467 aux = HDR_LLL2ULL(adv->lll.aux); in ull_adv_aux_chm_update()
1468 if (aux->chm_last != aux->chm_first) { in ull_adv_aux_chm_update()
1476 chm_last = aux->chm_last + 1; in ull_adv_aux_chm_update()
1480 aux->chm[chm_last].data_chan_count = in ull_adv_aux_chm_update()
1481 ull_chan_map_get(aux->chm[chm_last].data_chan_map); in ull_adv_aux_chm_update()
1482 aux->chm_last = chm_last; in ull_adv_aux_chm_update()
1484 if (IS_ENABLED(CONFIG_BT_TICKER_EXT_EXPIRE_INFO) && !aux->is_started) { in ull_adv_aux_chm_update()
1489 aux->chm_first = aux->chm_last; in ull_adv_aux_chm_update()
1519 struct ll_adv_aux_set *aux; in ull_adv_aux_hdr_set_clear() local
1578 lll_aux = lll->aux; in ull_adv_aux_hdr_set_clear()
1580 aux = ull_adv_aux_acquire(lll); in ull_adv_aux_hdr_set_clear()
1581 if (!aux) { in ull_adv_aux_hdr_set_clear()
1587 lll_aux = &aux->lll; in ull_adv_aux_hdr_set_clear()
1595 aux = HDR_LLL2ULL(lll_aux); in ull_adv_aux_hdr_set_clear()
1887 lll_adv_aux_data_enqueue(adv->lll.aux, *sec_idx); in ull_adv_aux_hdr_set_clear()
2054 if (aux->is_started) { in ull_adv_aux_hdr_set_clear()
2059 err = aux_time_update(aux, sec_pdu, pdu_scan); in ull_adv_aux_hdr_set_clear()
2505 inline uint8_t ull_adv_aux_handle_get(struct ll_adv_aux_set *aux) in ull_adv_aux_handle_get() argument
2507 return mem_index_get(aux, ll_adv_aux_pool, in ull_adv_aux_handle_get()
2516 uint32_t ull_adv_aux_evt_init(struct ll_adv_aux_set *aux, in ull_adv_aux_evt_init() argument
2522 time_us = aux_time_min_get(aux); in ull_adv_aux_evt_init()
2525 aux->ull.ticks_active_to_start = 0; in ull_adv_aux_evt_init()
2526 aux->ull.ticks_prepare_to_start = in ull_adv_aux_evt_init()
2528 aux->ull.ticks_preempt_to_start = in ull_adv_aux_evt_init()
2530 aux->ull.ticks_slot = HAL_TICKER_US_TO_TICKS_CEIL(time_us); in ull_adv_aux_evt_init()
2533 ticks_slot_overhead = MAX(aux->ull.ticks_active_to_start, in ull_adv_aux_evt_init()
2534 aux->ull.ticks_prepare_to_start); in ull_adv_aux_evt_init()
2545 time_us = ull_adv_aux_time_get(aux, PDU_AC_PAYLOAD_SIZE_MAX, in ull_adv_aux_evt_init()
2549 ticks_slot = aux->ull.ticks_slot; in ull_adv_aux_evt_init()
2569 void ull_adv_sync_started_stopped(struct ll_adv_aux_set *aux) in ull_adv_sync_started_stopped() argument
2571 if (aux->is_started) { in ull_adv_sync_started_stopped()
2572 struct lll_adv_sync *lll_sync = aux->lll.adv->sync; in ull_adv_sync_started_stopped()
2579 aux_handle = ull_adv_aux_handle_get(aux); in ull_adv_sync_started_stopped()
2586 ticker_update_op_cb, aux, 0, in ull_adv_sync_started_stopped()
2591 ticker_update_op_cb, aux, 0, in ull_adv_sync_started_stopped()
2598 uint32_t ull_adv_aux_start(struct ll_adv_aux_set *aux, uint32_t ticks_anchor, in ull_adv_aux_start() argument
2606 ull_hdr_init(&aux->ull); in ull_adv_aux_start()
2607 aux_handle = ull_adv_aux_handle_get(aux); in ull_adv_aux_start()
2608 interval_us = aux->interval * PERIODIC_INT_UNIT_US; in ull_adv_aux_start()
2612 ULL_ADV_RANDOM_DELAY + aux->ull.ticks_slot; in ull_adv_aux_start()
2617 if (aux->lll.adv->sync) { in ull_adv_aux_start()
2618 const struct ll_adv_sync_set *sync = HDR_LLL2ULL(aux->lll.adv->sync); in ull_adv_aux_start()
2649 (aux->ull.ticks_slot + ticks_slot_overhead), in ull_adv_aux_start()
2650 ticker_cb, aux, in ull_adv_aux_start()
2666 int ull_adv_aux_stop(struct ll_adv_aux_set *aux) in ull_adv_aux_stop() argument
2671 aux_handle = ull_adv_aux_handle_get(aux); in ull_adv_aux_stop()
2674 aux, &aux->lll); in ull_adv_aux_stop()
2680 aux->is_started = 0U; in ull_adv_aux_stop()
2688 struct ll_adv_aux_set *aux; in ull_adv_aux_acquire() local
2692 aux = aux_acquire(); in ull_adv_aux_acquire()
2693 if (!aux) { in ull_adv_aux_acquire()
2694 return aux; in ull_adv_aux_acquire()
2697 lll_aux = &aux->lll; in ull_adv_aux_acquire()
2698 lll->aux = lll_aux; in ull_adv_aux_acquire()
2712 lll_csrand_get(&aux->data_chan_id, sizeof(aux->data_chan_id)); in ull_adv_aux_acquire()
2713 chm_last = aux->chm_first; in ull_adv_aux_acquire()
2714 aux->chm_last = chm_last; in ull_adv_aux_acquire()
2715 aux->chm[chm_last].data_chan_count = in ull_adv_aux_acquire()
2716 ull_chan_map_get(aux->chm[chm_last].data_chan_map); in ull_adv_aux_acquire()
2720 lll_hdr_init(lll_aux, aux); in ull_adv_aux_acquire()
2722 aux->is_started = 0U; in ull_adv_aux_acquire()
2724 return aux; in ull_adv_aux_acquire()
2727 void ull_adv_aux_release(struct ll_adv_aux_set *aux) in ull_adv_aux_release() argument
2729 lll_adv_data_release(&aux->lll.data); in ull_adv_aux_release()
2730 aux_release(aux); in ull_adv_aux_release()
2742 uint32_t ull_adv_aux_time_get(const struct ll_adv_aux_set *aux, uint8_t pdu_len, in ull_adv_aux_time_get() argument
2747 pdu = lll_adv_aux_data_peek(&aux->lll); in ull_adv_aux_time_get()
2749 return aux_time_get(aux, pdu, pdu_len, pdu_scan_len); in ull_adv_aux_time_get()
2826 struct ll_adv_aux_set *aux; in ull_adv_aux_done() local
2830 aux = CONTAINER_OF(done->param, struct ll_adv_aux_set, ull); in ull_adv_aux_done()
2831 lll_aux = &aux->lll; in ull_adv_aux_done()
2997 static inline void aux_release(struct ll_adv_aux_set *aux) in aux_release() argument
2999 mem_release(aux, &adv_aux_free); in aux_release()
3002 static uint32_t aux_time_get(const struct ll_adv_aux_set *aux, in aux_time_get() argument
3010 lll_aux = &aux->lll; in aux_time_get()
3061 static uint32_t aux_time_min_get(const struct ll_adv_aux_set *aux) in aux_time_min_get() argument
3070 lll_aux = &aux->lll; in aux_time_min_get()
3086 return aux_time_get(aux, pdu, pdu_len, pdu_scan_len); in aux_time_min_get()
3089 static uint8_t aux_time_update(struct ll_adv_aux_set *aux, struct pdu_adv *pdu, in aux_time_update() argument
3095 time_us = aux_time_min_get(aux); in aux_time_update()
3104 if (aux->ull.ticks_slot > time_ticks) { in aux_time_update()
3105 ticks_minus = aux->ull.ticks_slot - time_ticks; in aux_time_update()
3107 } else if (aux->ull.ticks_slot < time_ticks) { in aux_time_update()
3109 ticks_plus = time_ticks - aux->ull.ticks_slot; in aux_time_update()
3118 ull_adv_aux_handle_get(aux)), in aux_time_update()
3127 aux->ull.ticks_slot = time_ticks; in aux_time_update()
3135 struct lll_adv_aux *lll_aux = adv->aux; in ull_adv_aux_lll_auxptr_fill()
3137 struct ll_adv_aux_set *aux; in ull_adv_aux_lll_auxptr_fill() local
3144 aux = HDR_LLL2ULL(lll_aux); in ull_adv_aux_lll_auxptr_fill()
3163 interval_us = aux->interval * PERIODIC_INT_UNIT_US; in ull_adv_aux_lll_auxptr_fill()
3177 data_chan_map = aux->chm[aux->chm_first].data_chan_map; in ull_adv_aux_lll_auxptr_fill()
3178 data_chan_count = aux->chm[aux->chm_first].data_chan_count; in ull_adv_aux_lll_auxptr_fill()
3180 aux->data_chan_id, in ull_adv_aux_lll_auxptr_fill()
3189 struct ll_adv_aux_set *aux; in mfy_aux_offset_get() local
3208 lll_aux = adv->lll.aux; in mfy_aux_offset_get()
3209 aux = HDR_LLL2ULL(lll_aux); in mfy_aux_offset_get()
3210 ticker_id = TICKER_ID_ADV_AUX_BASE + ull_adv_aux_handle_get(aux); in mfy_aux_offset_get()
3296 interval_us = aux->interval * PERIODIC_INT_UNIT_US; in mfy_aux_offset_get()
3316 if (aux->chm_first != aux->chm_last) { in mfy_aux_offset_get()
3318 aux->chm_first = aux->chm_last; in mfy_aux_offset_get()
3322 data_chan_map = aux->chm[aux->chm_first].data_chan_map; in mfy_aux_offset_get()
3323 data_chan_count = aux->chm[aux->chm_first].data_chan_count; in mfy_aux_offset_get()
3325 aux->data_chan_id, in mfy_aux_offset_get()
3352 struct ll_adv_aux_set *aux = context->context; in ticker_cb() local
3354 struct ll_adv_aux_set *aux = param; in ticker_cb() local
3362 lll = &aux->lll; in ticker_cb()
3365 ref = ull_ref_inc(&aux->ull); in ticker_cb()
3409 if (aux->chm_first != aux->chm_last) { in ticker_cb()
3411 aux->chm_first = aux->chm_last; in ticker_cb()