Lines Matching refs:conn

145 static void pu_prep_update_ind(struct ll_conn *conn, struct proc_ctx *ctx)  in pu_prep_update_ind()  argument
150 if (ctx->data.pu.tx != conn->lll.phy_tx) { in pu_prep_update_ind()
155 if (ctx->data.pu.rx != conn->lll.phy_rx) { in pu_prep_update_ind()
164 static uint8_t pu_select_phy_timing_restrict(struct ll_conn *conn, uint8_t phy_tx) in pu_select_phy_timing_restrict() argument
173 struct lll_conn *lll = &conn->lll; in pu_select_phy_timing_restrict()
180 static void pu_set_timing_restrict(struct ll_conn *conn, uint8_t phy_tx) in pu_set_timing_restrict() argument
182 struct lll_conn *lll = &conn->lll; in pu_set_timing_restrict()
187 static void pu_reset_timing_restrict(struct ll_conn *conn) in pu_reset_timing_restrict() argument
189 pu_set_timing_restrict(conn, conn->lll.phy_tx); in pu_reset_timing_restrict()
201 static uint8_t pu_check_update_ind(struct ll_conn *conn, struct proc_ctx *ctx) in pu_check_update_ind() argument
221 ull_conn_event_counter(conn))) { in pu_check_update_ind()
230 static uint8_t pu_apply_phy_update(struct ll_conn *conn, struct proc_ctx *ctx) in pu_apply_phy_update() argument
232 struct lll_conn *lll = &conn->lll; in pu_apply_phy_update()
285 static uint8_t pu_update_eff_times(struct ll_conn *conn, struct proc_ctx *ctx) in pu_update_eff_times() argument
287 struct lll_conn *lll = &conn->lll; in pu_update_eff_times()
292 ull_dle_max_time_get(conn, &max_rx_time, &max_tx_time); in pu_update_eff_times()
321 static inline void pu_set_preferred_phys(struct ll_conn *conn, struct proc_ctx *ctx) in pu_set_preferred_phys() argument
323 conn->phy_pref_rx = ctx->data.pu.rx; in pu_set_preferred_phys()
324 conn->phy_pref_tx = ctx->data.pu.tx; in pu_set_preferred_phys()
331 conn->lll.phy_flags = ctx->data.pu.flags; in pu_set_preferred_phys()
334 static inline void pu_combine_phys(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t tx, in pu_combine_phys() argument
352 if (conn->lll.role == BT_HCI_ROLE_CENTRAL && (!ctx->data.pu.rx || !ctx->data.pu.tx)) { in pu_combine_phys()
359 static void pu_prepare_instant(struct ll_conn *conn, struct proc_ctx *ctx) in pu_prepare_instant() argument
365 ctx->data.pu.instant = ull_conn_event_counter(conn) + conn->lll.latency + in pu_prepare_instant()
377 static void lp_pu_tx(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_pu_tx() argument
386 (conn->lll.role == BT_HCI_ROLE_CENTRAL))) { in lp_pu_tx()
405 pu_set_preferred_phys(conn, ctx); in lp_pu_tx()
407 llcp_tx_pause_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_tx()
412 pu_prep_update_ind(conn, ctx); in lp_pu_tx()
413 pu_prepare_instant(conn, ctx); in lp_pu_tx()
424 llcp_tx_enqueue(conn, tx); in lp_pu_tx()
427 llcp_lr_prt_restart(conn); in lp_pu_tx()
430 static void pu_ntf(struct ll_conn *conn, struct proc_ctx *ctx) in pu_ntf() argument
443 ntf->hdr.handle = conn->lll.handle; in pu_ntf()
447 pdu->rx = conn->lll.phy_rx; in pu_ntf()
448 pdu->tx = conn->lll.phy_tx; in pu_ntf()
460 static void pu_dle_ntf(struct ll_conn *conn, struct proc_ctx *ctx) in pu_dle_ntf() argument
482 ntf->hdr.handle = conn->lll.handle; in pu_dle_ntf()
485 llcp_ntf_encode_length_change(conn, pdu); in pu_dle_ntf()
496 static void lp_pu_complete_finalize(struct ll_conn *conn, struct proc_ctx *ctx) in lp_pu_complete_finalize() argument
498 llcp_lr_complete(conn); in lp_pu_complete_finalize()
499 llcp_rr_set_paused_cmd(conn, PROC_NONE); in lp_pu_complete_finalize()
503 static void lp_pu_tx_ntf(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_pu_tx_ntf() argument
505 pu_ntf(conn, ctx); in lp_pu_tx_ntf()
507 pu_dle_ntf(conn, ctx); in lp_pu_tx_ntf()
509 lp_pu_complete_finalize(conn, ctx); in lp_pu_tx_ntf()
512 static void lp_pu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_pu_complete() argument
514 pu_reset_timing_restrict(conn); in lp_pu_complete()
524 static void lp_pu_send_phy_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_pu_send_phy_req() argument
526 if (llcp_lr_ispaused(conn) || llcp_rr_get_collision(conn) || in lp_pu_send_phy_req()
527 !llcp_tx_alloc_peek(conn, ctx) || in lp_pu_send_phy_req()
528 (llcp_rr_get_paused_cmd(conn) == PROC_PHY_UPDATE)) { in lp_pu_send_phy_req()
531 llcp_rr_set_incompat(conn, INCOMPAT_RESOLVABLE); in lp_pu_send_phy_req()
532 llcp_rr_set_paused_cmd(conn, PROC_CTE_REQ); in lp_pu_send_phy_req()
536 ctx->node_ref.tx = llcp_tx_alloc(conn, ctx); in lp_pu_send_phy_req()
537 lp_pu_tx(conn, ctx, evt, param); in lp_pu_send_phy_req()
542 static void lp_pu_send_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_send_phy_update_ind() argument
545 if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { in lp_pu_send_phy_update_ind()
551 ctx->node_ref.tx = llcp_tx_alloc(conn, ctx); in lp_pu_send_phy_update_ind()
552 lp_pu_tx(conn, ctx, evt, param); in lp_pu_send_phy_update_ind()
557 static void lp_pu_st_idle(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_pu_st_idle() argument
561 lp_pu_send_phy_req(conn, ctx, evt, param); in lp_pu_st_idle()
569 static void lp_pu_st_wait_tx_phy_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_tx_phy_req() argument
574 lp_pu_send_phy_req(conn, ctx, evt, param); in lp_pu_st_wait_tx_phy_req()
583 static void lp_pu_st_wait_rx_phy_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_rx_phy_rsp() argument
588 llcp_rr_set_incompat(conn, INCOMPAT_RESERVED); in lp_pu_st_wait_rx_phy_rsp()
595 llcp_tx_pause_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_st_wait_rx_phy_rsp()
597 pu_combine_phys(conn, ctx, tx_pref, rx_pref); in lp_pu_st_wait_rx_phy_rsp()
602 lp_pu_send_phy_update_ind(conn, ctx, evt, param); in lp_pu_st_wait_rx_phy_rsp()
605 llcp_rr_set_incompat(conn, INCOMPAT_NO_COLLISION); in lp_pu_st_wait_rx_phy_rsp()
609 feature_unmask_features(conn, LL_FEAT_BIT_PHY_2M | LL_FEAT_BIT_PHY_CODED); in lp_pu_st_wait_rx_phy_rsp()
616 lp_pu_complete(conn, ctx, evt, param); in lp_pu_st_wait_rx_phy_rsp()
617 llcp_tx_resume_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_st_wait_rx_phy_rsp()
626 static void lp_pu_st_wait_tx_ack_phy_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_tx_ack_phy_req() argument
631 switch (conn->lll.role) { in lp_pu_st_wait_tx_ack_phy_req()
642 conn, pu_select_phy_timing_restrict(conn, ctx->data.pu.tx)); in lp_pu_st_wait_tx_ack_phy_req()
645 llcp_tx_resume_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_st_wait_tx_ack_phy_req()
661 static void lp_pu_st_wait_tx_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_tx_phy_update_ind() argument
666 lp_pu_send_phy_update_ind(conn, ctx, evt, param); in lp_pu_st_wait_tx_phy_update_ind()
674 static void lp_pu_st_wait_tx_ack_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, in lp_pu_st_wait_tx_ack_phy_update_ind() argument
679 LL_ASSERT(conn->lll.role == BT_HCI_ROLE_CENTRAL); in lp_pu_st_wait_tx_ack_phy_update_ind()
684 pu_set_timing_restrict(conn, ctx->data.pu.c_to_p_phy); in lp_pu_st_wait_tx_ack_phy_update_ind()
690 llcp_lr_prt_stop(conn); in lp_pu_st_wait_tx_ack_phy_update_ind()
695 llcp_rr_set_incompat(conn, INCOMPAT_NO_COLLISION); in lp_pu_st_wait_tx_ack_phy_update_ind()
698 lp_pu_complete(conn, ctx, evt, param); in lp_pu_st_wait_tx_ack_phy_update_ind()
700 llcp_tx_resume_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_st_wait_tx_ack_phy_update_ind()
710 static void lp_pu_st_wait_rx_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_rx_phy_update_ind() argument
715 LL_ASSERT(conn->lll.role == BT_HCI_ROLE_PERIPHERAL); in lp_pu_st_wait_rx_phy_update_ind()
716 llcp_rr_set_incompat(conn, INCOMPAT_RESERVED); in lp_pu_st_wait_rx_phy_update_ind()
718 const uint8_t end_procedure = pu_check_update_ind(conn, ctx); in lp_pu_st_wait_rx_phy_update_ind()
726 pu_set_timing_restrict(conn, ctx->data.pu.p_to_c_phy); in lp_pu_st_wait_rx_phy_update_ind()
732 llcp_lr_prt_stop(conn); in lp_pu_st_wait_rx_phy_update_ind()
736 llcp_rr_set_incompat(conn, INCOMPAT_NO_COLLISION); in lp_pu_st_wait_rx_phy_update_ind()
739 conn->llcp_terminate.reason_final = ctx->data.pu.error; in lp_pu_st_wait_rx_phy_update_ind()
742 lp_pu_complete(conn, ctx, evt, param); in lp_pu_st_wait_rx_phy_update_ind()
744 llcp_tx_resume_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_st_wait_rx_phy_update_ind()
751 llcp_rr_set_incompat(conn, INCOMPAT_NO_COLLISION); in lp_pu_st_wait_rx_phy_update_ind()
753 feature_unmask_features(conn, LL_FEAT_BIT_PHY_2M | LL_FEAT_BIT_PHY_CODED); in lp_pu_st_wait_rx_phy_update_ind()
760 lp_pu_complete(conn, ctx, evt, param); in lp_pu_st_wait_rx_phy_update_ind()
761 llcp_tx_resume_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in lp_pu_st_wait_rx_phy_update_ind()
770 static void lp_pu_check_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_check_instant() argument
773 uint16_t event_counter = ull_conn_event_counter_at_prepare(conn); in lp_pu_check_instant()
776 const uint8_t phy_changed = pu_apply_phy_update(conn, ctx); in lp_pu_check_instant()
779 ctx->data.pu.ntf_dle = pu_update_eff_times(conn, ctx); in lp_pu_check_instant()
782 llcp_rr_set_incompat(conn, INCOMPAT_NO_COLLISION); in lp_pu_check_instant()
785 lp_pu_complete(conn, ctx, evt, param); in lp_pu_check_instant()
789 static void lp_pu_st_wait_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_instant() argument
794 lp_pu_check_instant(conn, ctx, evt, param); in lp_pu_st_wait_instant()
802 static void lp_pu_st_wait_instant_on_air(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_instant_on_air() argument
807 lp_pu_tx_ntf(conn, ctx, evt, param); in lp_pu_st_wait_instant_on_air()
816 static void lp_pu_st_wait_ntf_avail(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_pu_st_wait_ntf_avail() argument
821 lp_pu_tx(conn, ctx, evt, param); in lp_pu_st_wait_ntf_avail()
830 static void lp_pu_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_pu_execute_fsm() argument
834 lp_pu_st_idle(conn, ctx, evt, param); in lp_pu_execute_fsm()
837 lp_pu_st_wait_tx_phy_req(conn, ctx, evt, param); in lp_pu_execute_fsm()
840 lp_pu_st_wait_tx_ack_phy_req(conn, ctx, evt, param); in lp_pu_execute_fsm()
844 lp_pu_st_wait_rx_phy_rsp(conn, ctx, evt, param); in lp_pu_execute_fsm()
847 lp_pu_st_wait_tx_phy_update_ind(conn, ctx, evt, param); in lp_pu_execute_fsm()
850 lp_pu_st_wait_tx_ack_phy_update_ind(conn, ctx, evt, param); in lp_pu_execute_fsm()
855 lp_pu_st_wait_rx_phy_update_ind(conn, ctx, evt, param); in lp_pu_execute_fsm()
859 lp_pu_st_wait_instant(conn, ctx, evt, param); in lp_pu_execute_fsm()
862 lp_pu_st_wait_instant_on_air(conn, ctx, evt, param); in lp_pu_execute_fsm()
866 lp_pu_st_wait_ntf_avail(conn, ctx, evt, param); in lp_pu_execute_fsm()
875 void llcp_lp_pu_rx(struct ll_conn *conn, struct proc_ctx *ctx, struct node_rx_pdu *rx) in llcp_lp_pu_rx() argument
882 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_PHY_RSP, pdu); in llcp_lp_pu_rx()
887 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_PHY_UPDATE_IND, pdu); in llcp_lp_pu_rx()
891 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_UNKNOWN, pdu); in llcp_lp_pu_rx()
894 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_REJECT, pdu); in llcp_lp_pu_rx()
899 conn->llcp_terminate.reason_final = BT_HCI_ERR_LMP_PDU_NOT_ALLOWED; in llcp_lp_pu_rx()
900 llcp_lr_complete(conn); in llcp_lp_pu_rx()
906 void llcp_lp_pu_run(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_lp_pu_run() argument
908 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_RUN, param); in llcp_lp_pu_run()
911 void llcp_lp_pu_tx_ack(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_lp_pu_tx_ack() argument
913 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_ACK, param); in llcp_lp_pu_tx_ack()
916 void llcp_lp_pu_tx_ntf(struct ll_conn *conn, struct proc_ctx *ctx) in llcp_lp_pu_tx_ntf() argument
918 lp_pu_execute_fsm(conn, ctx, LP_PU_EVT_NTF, NULL); in llcp_lp_pu_tx_ntf()
929 static void rp_pu_tx(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_pu_tx() argument
956 llcp_pdu_encode_phy_rsp(conn, pdu); in rp_pu_tx()
963 pu_prep_update_ind(conn, ctx); in rp_pu_tx()
964 pu_prepare_instant(conn, ctx); in rp_pu_tx()
975 llcp_tx_enqueue(conn, tx); in rp_pu_tx()
978 llcp_rr_prt_restart(conn); in rp_pu_tx()
981 static void rp_pu_complete_finalize(struct ll_conn *conn, struct proc_ctx *ctx) in rp_pu_complete_finalize() argument
983 llcp_rr_complete(conn); in rp_pu_complete_finalize()
984 llcp_rr_set_paused_cmd(conn, PROC_NONE); in rp_pu_complete_finalize()
988 static void rp_pu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_pu_complete() argument
990 pu_reset_timing_restrict(conn); in rp_pu_complete()
999 static void rp_pu_tx_ntf(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_pu_tx_ntf() argument
1001 pu_ntf(conn, ctx); in rp_pu_tx_ntf()
1003 pu_dle_ntf(conn, ctx); in rp_pu_tx_ntf()
1005 rp_pu_complete_finalize(conn, ctx); in rp_pu_tx_ntf()
1009 static void rp_pu_send_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_send_phy_update_ind() argument
1012 if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx) || in rp_pu_send_phy_update_ind()
1013 (llcp_rr_get_paused_cmd(conn) == PROC_PHY_UPDATE) || in rp_pu_send_phy_update_ind()
1014 !ull_is_lll_tx_queue_empty(conn)) { in rp_pu_send_phy_update_ind()
1017 llcp_rr_set_paused_cmd(conn, PROC_CTE_REQ); in rp_pu_send_phy_update_ind()
1019 ctx->node_ref.tx = llcp_tx_alloc(conn, ctx); in rp_pu_send_phy_update_ind()
1020 rp_pu_tx(conn, ctx, evt, param); in rp_pu_send_phy_update_ind()
1027 static void rp_pu_send_phy_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_pu_send_phy_rsp() argument
1029 if (llcp_rr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx) || in rp_pu_send_phy_rsp()
1030 (llcp_rr_get_paused_cmd(conn) == PROC_PHY_UPDATE)) { in rp_pu_send_phy_rsp()
1033 llcp_rr_set_paused_cmd(conn, PROC_CTE_REQ); in rp_pu_send_phy_rsp()
1035 ctx->node_ref.tx = llcp_tx_alloc(conn, ctx); in rp_pu_send_phy_rsp()
1036 rp_pu_tx(conn, ctx, evt, param); in rp_pu_send_phy_rsp()
1041 static void rp_pu_st_idle(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_pu_st_idle() argument
1053 static void rp_pu_st_wait_rx_phy_req(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_rx_phy_req() argument
1058 pu_combine_phys(conn, ctx, conn->phy_pref_tx, conn->phy_pref_rx); in rp_pu_st_wait_rx_phy_req()
1059 llcp_tx_pause_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in rp_pu_st_wait_rx_phy_req()
1063 switch (conn->lll.role) { in rp_pu_st_wait_rx_phy_req()
1068 rp_pu_send_phy_update_ind(conn, ctx, evt, param); in rp_pu_st_wait_rx_phy_req()
1073 rp_pu_send_phy_rsp(conn, ctx, evt, param); in rp_pu_st_wait_rx_phy_req()
1088 static void rp_pu_st_wait_tx_phy_rsp(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_tx_phy_rsp() argument
1093 rp_pu_send_phy_rsp(conn, ctx, evt, param); in rp_pu_st_wait_tx_phy_rsp()
1102 static void rp_pu_st_wait_tx_ack_phy(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_tx_ack_phy() argument
1110 LL_ASSERT(conn->lll.role == BT_HCI_ROLE_PERIPHERAL); in rp_pu_st_wait_tx_ack_phy()
1113 conn, pu_select_phy_timing_restrict(conn, ctx->data.pu.tx)); in rp_pu_st_wait_tx_ack_phy()
1119 LL_ASSERT(conn->lll.role == BT_HCI_ROLE_CENTRAL); in rp_pu_st_wait_tx_ack_phy()
1127 pu_set_timing_restrict(conn, ctx->data.pu.c_to_p_phy); in rp_pu_st_wait_tx_ack_phy()
1131 rp_pu_complete(conn, ctx, evt, param); in rp_pu_st_wait_tx_ack_phy()
1137 llcp_tx_resume_data(conn, LLCP_TX_QUEUE_PAUSE_DATA_PHY_UPDATE); in rp_pu_st_wait_tx_ack_phy()
1146 static void rp_pu_st_wait_tx_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_tx_phy_update_ind() argument
1151 rp_pu_send_phy_update_ind(conn, ctx, evt, param); in rp_pu_st_wait_tx_phy_update_ind()
1161 static void rp_pu_st_wait_rx_phy_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_rx_phy_update_ind() argument
1167 const uint8_t end_procedure = pu_check_update_ind(conn, ctx); in rp_pu_st_wait_rx_phy_update_ind()
1176 llcp_rr_prt_stop(conn); in rp_pu_st_wait_rx_phy_update_ind()
1181 conn->llcp_terminate.reason_final = BT_HCI_ERR_INSTANT_PASSED; in rp_pu_st_wait_rx_phy_update_ind()
1183 rp_pu_complete(conn, ctx, evt, param); in rp_pu_st_wait_rx_phy_update_ind()
1193 static void rp_pu_check_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_check_instant() argument
1196 uint16_t event_counter = ull_conn_event_counter_at_prepare(conn); in rp_pu_check_instant()
1200 const uint8_t phy_changed = pu_apply_phy_update(conn, ctx); in rp_pu_check_instant()
1203 ctx->data.pu.ntf_dle = pu_update_eff_times(conn, ctx); in rp_pu_check_instant()
1208 rp_pu_complete(conn, ctx, evt, param); in rp_pu_check_instant()
1212 static void rp_pu_st_wait_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_instant() argument
1217 rp_pu_check_instant(conn, ctx, evt, param); in rp_pu_st_wait_instant()
1225 static void rp_pu_st_wait_instant_on_air(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_instant_on_air() argument
1230 rp_pu_tx_ntf(conn, ctx, evt, param); in rp_pu_st_wait_instant_on_air()
1239 static void rp_pu_st_wait_ntf_avail(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_pu_st_wait_ntf_avail() argument
1244 rp_pu_tx(conn, ctx, evt, param); in rp_pu_st_wait_ntf_avail()
1253 static void rp_pu_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_pu_execute_fsm() argument
1257 rp_pu_st_idle(conn, ctx, evt, param); in rp_pu_execute_fsm()
1260 rp_pu_st_wait_rx_phy_req(conn, ctx, evt, param); in rp_pu_execute_fsm()
1264 rp_pu_st_wait_tx_phy_rsp(conn, ctx, evt, param); in rp_pu_execute_fsm()
1267 rp_pu_st_wait_tx_ack_phy(conn, ctx, evt, param); in rp_pu_execute_fsm()
1270 rp_pu_st_wait_rx_phy_update_ind(conn, ctx, evt, param); in rp_pu_execute_fsm()
1275 rp_pu_st_wait_tx_phy_update_ind(conn, ctx, evt, param); in rp_pu_execute_fsm()
1278 rp_pu_st_wait_tx_ack_phy(conn, ctx, evt, param); in rp_pu_execute_fsm()
1282 rp_pu_st_wait_instant(conn, ctx, evt, param); in rp_pu_execute_fsm()
1285 rp_pu_st_wait_instant_on_air(conn, ctx, evt, param); in rp_pu_execute_fsm()
1289 rp_pu_st_wait_ntf_avail(conn, ctx, evt, param); in rp_pu_execute_fsm()
1298 void llcp_rp_pu_rx(struct ll_conn *conn, struct proc_ctx *ctx, struct node_rx_pdu *rx) in llcp_rp_pu_rx() argument
1304 rp_pu_execute_fsm(conn, ctx, RP_PU_EVT_PHY_REQ, pdu); in llcp_rp_pu_rx()
1308 rp_pu_execute_fsm(conn, ctx, RP_PU_EVT_PHY_UPDATE_IND, pdu); in llcp_rp_pu_rx()
1314 conn->llcp_terminate.reason_final = BT_HCI_ERR_LMP_PDU_NOT_ALLOWED; in llcp_rp_pu_rx()
1315 llcp_rr_complete(conn); in llcp_rp_pu_rx()
1321 void llcp_rp_pu_run(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_rp_pu_run() argument
1323 rp_pu_execute_fsm(conn, ctx, RP_PU_EVT_RUN, param); in llcp_rp_pu_run()
1326 void llcp_rp_pu_tx_ack(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_rp_pu_tx_ack() argument
1328 rp_pu_execute_fsm(conn, ctx, RP_PU_EVT_ACK, param); in llcp_rp_pu_tx_ack()
1331 void llcp_rp_pu_tx_ntf(struct ll_conn *conn, struct proc_ctx *ctx) in llcp_rp_pu_tx_ntf() argument
1333 rp_pu_execute_fsm(conn, ctx, RP_PU_EVT_NTF, NULL); in llcp_rp_pu_tx_ntf()