Lines Matching refs:conn
85 static void lp_chmu_tx(struct ll_conn *conn, struct proc_ctx *ctx) in lp_chmu_tx() argument
91 tx = llcp_tx_alloc(conn, ctx); in lp_chmu_tx()
102 llcp_tx_enqueue(conn, tx); in lp_chmu_tx()
105 static void lp_chmu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in lp_chmu_complete() argument
107 ull_conn_chan_map_set(conn, ctx->data.chmu.chm); in lp_chmu_complete()
108 llcp_lr_complete(conn); in lp_chmu_complete()
112 static void lp_chmu_send_channel_map_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, in lp_chmu_send_channel_map_update_ind() argument
115 if (llcp_lr_ispaused(conn) || llcp_rr_get_collision(conn) || in lp_chmu_send_channel_map_update_ind()
116 !llcp_tx_alloc_peek(conn, ctx)) { in lp_chmu_send_channel_map_update_ind()
119 llcp_rr_set_incompat(conn, INCOMPAT_RESOLVABLE); in lp_chmu_send_channel_map_update_ind()
121 ctx->data.chmu.instant = ull_conn_event_counter(conn) + conn->lll.latency + in lp_chmu_send_channel_map_update_ind()
124 lp_chmu_tx(conn, ctx); in lp_chmu_send_channel_map_update_ind()
130 static void lp_chmu_st_wait_tx_chan_map_ind(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_chmu_st_wait_tx_chan_map_ind() argument
135 lp_chmu_send_channel_map_update_ind(conn, ctx, evt, param); in lp_chmu_st_wait_tx_chan_map_ind()
143 static void lp_chmu_check_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_chmu_check_instant() argument
146 uint16_t event_counter = ull_conn_event_counter_at_prepare(conn); in lp_chmu_check_instant()
149 llcp_rr_set_incompat(conn, INCOMPAT_NO_COLLISION); in lp_chmu_check_instant()
150 lp_chmu_complete(conn, ctx, evt, param); in lp_chmu_check_instant()
154 static void lp_chmu_st_wait_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_chmu_st_wait_instant() argument
159 lp_chmu_check_instant(conn, ctx, evt, param); in lp_chmu_st_wait_instant()
167 static void lp_chmu_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in lp_chmu_execute_fsm() argument
176 lp_chmu_st_wait_tx_chan_map_ind(conn, ctx, evt, param); in lp_chmu_execute_fsm()
179 lp_chmu_st_wait_instant(conn, ctx, evt, param); in lp_chmu_execute_fsm()
187 void llcp_lp_chmu_rx(struct ll_conn *conn, struct proc_ctx *ctx, struct node_rx_pdu *rx) in llcp_lp_chmu_rx() argument
195 conn->llcp_terminate.reason_final = BT_HCI_ERR_LMP_PDU_NOT_ALLOWED; in llcp_lp_chmu_rx()
196 llcp_lr_complete(conn); in llcp_lp_chmu_rx()
202 void llcp_lp_chmu_run(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_lp_chmu_run() argument
204 lp_chmu_execute_fsm(conn, ctx, LP_CHMU_EVT_RUN, param); in llcp_lp_chmu_run()
217 static void rp_chmu_complete(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_chmu_complete() argument
219 ull_conn_chan_map_set(conn, ctx->data.chmu.chm); in rp_chmu_complete()
220 llcp_rr_complete(conn); in rp_chmu_complete()
224 static void rp_chmu_st_idle(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, void *param) in rp_chmu_st_idle() argument
236 static void rp_chmu_st_wait_rx_channel_map_update_ind(struct ll_conn *conn, struct proc_ctx *ctx, in rp_chmu_st_wait_rx_channel_map_update_ind() argument
243 ull_conn_event_counter(conn))) { in rp_chmu_st_wait_rx_channel_map_update_ind()
247 conn->llcp_terminate.reason_final = BT_HCI_ERR_INSTANT_PASSED; in rp_chmu_st_wait_rx_channel_map_update_ind()
248 llcp_rr_complete(conn); in rp_chmu_st_wait_rx_channel_map_update_ind()
258 static void rp_chmu_check_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_chmu_check_instant() argument
261 uint16_t event_counter = ull_conn_event_counter_at_prepare(conn); in rp_chmu_check_instant()
264 rp_chmu_complete(conn, ctx, evt, param); in rp_chmu_check_instant()
268 static void rp_chmu_st_wait_instant(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_chmu_st_wait_instant() argument
273 rp_chmu_check_instant(conn, ctx, evt, param); in rp_chmu_st_wait_instant()
281 static void rp_chmu_execute_fsm(struct ll_conn *conn, struct proc_ctx *ctx, uint8_t evt, in rp_chmu_execute_fsm() argument
286 rp_chmu_st_idle(conn, ctx, evt, param); in rp_chmu_execute_fsm()
289 rp_chmu_st_wait_rx_channel_map_update_ind(conn, ctx, evt, param); in rp_chmu_execute_fsm()
292 rp_chmu_st_wait_instant(conn, ctx, evt, param); in rp_chmu_execute_fsm()
300 void llcp_rp_chmu_rx(struct ll_conn *conn, struct proc_ctx *ctx, struct node_rx_pdu *rx) in llcp_rp_chmu_rx() argument
306 rp_chmu_execute_fsm(conn, ctx, RP_CHMU_EVT_RX_CHAN_MAP_IND, pdu); in llcp_rp_chmu_rx()
311 conn->llcp_terminate.reason_final = BT_HCI_ERR_LMP_PDU_NOT_ALLOWED; in llcp_rp_chmu_rx()
312 llcp_rr_complete(conn); in llcp_rp_chmu_rx()
318 void llcp_rp_chmu_run(struct ll_conn *conn, struct proc_ctx *ctx, void *param) in llcp_rp_chmu_run() argument
320 rp_chmu_execute_fsm(conn, ctx, RP_CHMU_EVT_RUN, param); in llcp_rp_chmu_run()