Bluetooth: controller: split: Port openisa files

Port OpenISA LLL files to reflect some of the changes done
in Nordic LLL.

Signed-off-by: Vinayak Kariappa Chettimada <vich@nordicsemi.no>
This commit is contained in:
Vinayak Kariappa Chettimada 2020-03-17 19:04:00 +05:30 committed by Carles Cufí
commit fa91a80f28
8 changed files with 38 additions and 15 deletions

View file

@ -293,6 +293,12 @@ bool lll_is_done(void *param)
return !event.curr.abort_cb;
}
int lll_is_abort_cb(void *next, int prio, void *curr,
lll_prepare_cb_t *resume_cb, int *resume_prio)
{
return -ECANCELED;
}
int lll_clk_on(void)
{
int err;
@ -406,6 +412,16 @@ uint32_t lll_radio_is_idle(void)
return radio_is_idle();
}
uint32_t lll_radio_tx_ready_delay_get(uint8_t phy, uint8_t flags)
{
return radio_tx_ready_delay_get(phy, flags);
}
uint32_t lll_radio_rx_ready_delay_get(uint8_t phy, uint8_t flags)
{
return radio_rx_ready_delay_get(phy, flags);
}
static int init_reset(void)
{

View file

@ -740,9 +740,8 @@ static inline int isr_rx_pdu(struct lll_adv *lll,
ftr = &(rx->hdr.rx_ftr);
ftr->param = lll;
ftr->ticks_anchor = radio_tmr_start_get();
ftr->us_radio_end = radio_tmr_end_get() -
ftr->radio_end_us = radio_tmr_end_get() -
radio_tx_chain_delay_get(0, 0);
ftr->us_radio_rdy = radio_rx_ready_delay_get(0, 0);
#if defined(CONFIG_BT_CTLR_PRIVACY)
ftr->rl_idx = irkmatch_ok ? rl_idx : FILTER_IDX_NONE;

View file

@ -99,12 +99,6 @@ void lll_conn_prepare_reset(void)
#endif /* CONFIG_BT_CTLR_LE_ENC */
}
int lll_conn_is_abort_cb(void *next, int prio, void *curr,
lll_prepare_cb_t *resume_cb, int *resume_prio)
{
return -ECANCELED;
}
void lll_conn_abort_cb(struct lll_prepare_param *prepare_param, void *param)
{
int err;

View file

@ -4,9 +4,22 @@
* SPDX-License-Identifier: Apache-2.0
*/
int lll_prepare(lll_is_abort_cb_t is_abort_cb, lll_abort_cb_t abort_cb,
lll_prepare_cb_t prepare_cb, int prio,
struct lll_prepare_param *prepare_param);
int lll_prepare_done(void *param);
int lll_done(void *param);
bool lll_is_done(void *param);
int lll_is_abort_cb(void *next, int prio, void *curr,
lll_prepare_cb_t *resume_cb, int *resume_prio);
static inline int lll_is_stop(void *lll)
{
struct lll_hdr *hdr = lll;
return !!hdr->is_stop;
}
int lll_clk_on(void);
int lll_clk_on_wait(void);
int lll_clk_off(void);

View file

@ -76,8 +76,7 @@ void lll_master_prepare(void *param)
lll->latency_prepare += elapsed;
/* Invoke common pipeline handling of prepare */
err = lll_prepare(lll_conn_is_abort_cb, lll_conn_abort_cb, prepare_cb,
0, p);
err = lll_prepare(lll_is_abort_cb, lll_conn_abort_cb, prepare_cb, 0, p);
LL_ASSERT(!err || err == -EINPROGRESS);
}

View file

@ -846,9 +846,8 @@ static inline uint32_t isr_rx_pdu(struct lll_scan *lll, uint8_t devmatch_ok,
ftr->param = lll;
ftr->ticks_anchor = radio_tmr_start_get();
ftr->us_radio_end = conn_space_us -
ftr->radio_end_us = conn_space_us -
radio_tx_chain_delay_get(0, 0);
ftr->us_radio_rdy = radio_tx_ready_delay_get(0, 0);
#if defined(CONFIG_BT_CTLR_PRIVACY)
ftr->rl_idx = irkmatch_ok ? rl_idx : FILTER_IDX_NONE;

View file

@ -39,9 +39,13 @@ struct lll_scan {
uint32_t ticks_window;
};
struct lll_scan_aux {
struct lll_hdr hdr;
};
int lll_scan_init(void);
int lll_scan_reset(void);
void lll_scan_prepare(void *param);
extern uint16_t ull_scan_lll_handle_get(struct lll_scan *lll);
extern uint8_t ull_scan_lll_handle_get(struct lll_scan *lll);

View file

@ -85,8 +85,7 @@ void lll_slave_prepare(void *param)
}
/* Invoke common pipeline handling of prepare */
err = lll_prepare(lll_conn_is_abort_cb, lll_conn_abort_cb, prepare_cb,
0, p);
err = lll_prepare(lll_is_abort_cb, lll_conn_abort_cb, prepare_cb, 0, p);
LL_ASSERT(!err || err == -EINPROGRESS);
}