Lines Matching refs:conn

81 static uint8_t rp_check_phy(struct ll_conn *conn, struct proc_ctx *ctx,  in rp_check_phy()  argument
102 static void rp_past_complete(struct ll_conn *conn, struct proc_ctx *ctx) in rp_past_complete() argument
104 llcp_rr_complete(conn); in rp_past_complete()
108 static void rp_past_st_idle(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_past_st_idle() argument
124 struct ll_conn *conn = rp_past_resolve_conn; in rp_past_resolve_cb() local
131 ctx = llcp_rr_peek(conn); in rp_past_resolve_cb()
163 static bool rp_past_addr_resolve(struct ll_conn *conn, struct proc_ctx *ctx) in rp_past_addr_resolve() argument
173 rp_past_resolve_conn = conn; in rp_past_addr_resolve()
185 static void rp_past_st_wait_resolve_if(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_past_st_wait_resolve_if() argument
190 if (rp_past_addr_resolve(conn, ctx)) { in rp_past_st_wait_resolve_if()
201 static void rp_past_st_wait_rx(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_past_st_wait_rx() argument
211 if (rp_check_phy(conn, ctx, pdu) != BT_HCI_ERR_SUCCESS) { in rp_past_st_wait_rx()
213 rp_past_complete(conn, ctx); in rp_past_st_wait_rx()
223 if (rp_past_addr_resolve(conn, ctx)) { in rp_past_st_wait_rx()
240 if (conn->lll.role == BT_HCI_ROLE_PERIPHERAL && in rp_past_st_wait_rx()
242 ull_conn_event_counter(conn)) { in rp_past_st_wait_rx()
249 ull_sync_transfer_received(conn, in rp_past_st_wait_rx()
261 rp_past_complete(conn, ctx); in rp_past_st_wait_rx()
269 static void rp_past_st_wait_next_evt(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_past_st_wait_next_evt() argument
279 if (conn->lll.role == BT_HCI_ROLE_PERIPHERAL && in rp_past_st_wait_next_evt()
280 ctx->data.periodic_sync.sync_conn_event_count == ull_conn_event_counter(conn)) { in rp_past_st_wait_next_evt()
286 ull_sync_transfer_received(conn, in rp_past_st_wait_next_evt()
298 rp_past_complete(conn, ctx); in rp_past_st_wait_next_evt()
306 static void rp_past_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_past_execute_fsm() argument
311 rp_past_st_idle(conn, ctx, evt, param); in rp_past_execute_fsm()
314 rp_past_st_wait_rx(conn, ctx, evt, param); in rp_past_execute_fsm()
317 rp_past_st_wait_next_evt(conn, ctx, evt, param); in rp_past_execute_fsm()
321 rp_past_st_wait_resolve_if(conn, ctx, evt, param); in rp_past_execute_fsm()
334 void llcp_rp_past_rx(struct ll_conn *conn, struct proc_ctx *ctx, struct node_rx_pdu *rx) in llcp_rp_past_rx() argument
336 rp_past_execute_fsm(conn, ctx, RP_PAST_EVT_RX, rx->pdu); in llcp_rp_past_rx()
339 void llcp_rp_past_run(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_rp_past_run() argument
341 rp_past_execute_fsm(conn, ctx, RP_PAST_EVT_RUN, param); in llcp_rp_past_run()
374 static void lp_past_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt,
377 static void lp_past_complete(struct ll_conn *conn, struct proc_ctx *ctx) in lp_past_complete() argument
379 llcp_lr_complete(conn); in lp_past_complete()
383 static void lp_past_tx(struct ll_conn *conn, struct proc_ctx *ctx) in lp_past_tx() argument
389 if (conn->lll.role == BT_HCI_ROLE_PERIPHERAL) { in lp_past_tx()
402 tx = llcp_tx_alloc(conn, ctx); in lp_past_tx()
411 llcp_tx_enqueue(conn, tx); in lp_past_tx()
418 void llcp_lp_past_offset_calc_reply(struct ll_conn *conn, struct proc_ctx *ctx) in llcp_lp_past_offset_calc_reply() argument
420 lp_past_execute_fsm(conn, ctx, LP_PAST_EVT_OFFSET_CALC_REPLY, NULL); in llcp_lp_past_offset_calc_reply()
423 static void lp_past_offset_calc_req(struct ll_conn *conn, struct proc_ctx *ctx, in lp_past_offset_calc_req() argument
426 if (llcp_lr_ispaused(conn) || !llcp_tx_alloc_peek(conn, ctx)) { in lp_past_offset_calc_req()
431 ull_conn_past_sender_offset_request(conn); in lp_past_offset_calc_req()
435 static void lp_past_st_wait_tx_req(struct ll_conn *conn, struct proc_ctx *ctx, in lp_past_st_wait_tx_req() argument
440 lp_past_offset_calc_req(conn, ctx, evt, param); in lp_past_st_wait_tx_req()
448 static void lp_past_st_wait_offset_calc(struct ll_conn *conn, struct proc_ctx *ctx, in lp_past_st_wait_offset_calc() argument
453 if (ull_ref_get(&conn->ull)) { in lp_past_st_wait_offset_calc()
458 lp_past_tx(conn, ctx); in lp_past_st_wait_offset_calc()
470 void llcp_lp_past_tx_ack(struct ll_conn *conn, struct proc_ctx *ctx, struct node_tx *tx) in llcp_lp_past_tx_ack() argument
472 lp_past_execute_fsm(conn, ctx, LP_PAST_EVT_ACK, tx->pdu); in llcp_lp_past_tx_ack()
475 void llcp_lp_past_conn_evt_done(struct ll_conn *conn, struct proc_ctx *ctx) in llcp_lp_past_conn_evt_done() argument
478 lp_past_execute_fsm(conn, ctx, LP_PAST_EVT_RX_RECEIVED, NULL); in llcp_lp_past_conn_evt_done()
480 lp_past_execute_fsm(conn, ctx, LP_PAST_EVT_NO_RX_RECEIVED, NULL); in llcp_lp_past_conn_evt_done()
484 static void lp_past_state_wait_evt_done(struct ll_conn *conn, struct proc_ctx *ctx, in lp_past_state_wait_evt_done() argument
500 lp_past_tx(conn, ctx); in lp_past_state_wait_evt_done()
509 static void lp_past_st_idle(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_past_st_idle() argument
516 if (feature_peer_periodic_sync_recv(conn)) { in lp_past_st_idle()
517 lp_past_offset_calc_req(conn, ctx, evt, param); in lp_past_st_idle()
522 lp_past_complete(conn, ctx); in lp_past_st_idle()
531 static void lp_past_st_wait_tx_ack(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_past_st_wait_tx_ack() argument
537 lp_past_complete(conn, ctx); in lp_past_st_wait_tx_ack()
545 static void lp_past_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_past_execute_fsm() argument
550 lp_past_st_idle(conn, ctx, evt, param); in lp_past_execute_fsm()
553 lp_past_st_wait_tx_req(conn, ctx, evt, param); in lp_past_execute_fsm()
556 lp_past_st_wait_offset_calc(conn, ctx, evt, param); in lp_past_execute_fsm()
559 lp_past_st_wait_tx_ack(conn, ctx, evt, param); in lp_past_execute_fsm()
562 lp_past_state_wait_evt_done(conn, ctx, evt, param); in lp_past_execute_fsm()
571 void llcp_lp_past_run(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_lp_past_run() argument
573 lp_past_execute_fsm(conn, ctx, LP_PAST_EVT_RUN, param); in llcp_lp_past_run()