Bluetooth: controller: LLL refactoring of openisa for API changes
Update openisa LLL to match common LLL changes and make CI pass. Signed-off-by: Morten Priess <mtpr@oticon.com>
This commit is contained in:
parent
772a77718e
commit
cc46dee7d0
@ -49,10 +49,7 @@ static struct {
|
||||
static const struct device *dev_entropy;
|
||||
|
||||
static int init_reset(void);
|
||||
static int 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, uint8_t is_resume);
|
||||
static int resume_enqueue(lll_prepare_cb_t resume_cb, int resume_prio);
|
||||
static int resume_enqueue(lll_prepare_cb_t resume_cb);
|
||||
|
||||
#if !defined(CONFIG_BT_CTLR_LOW_LAT)
|
||||
static void ticker_start_op_cb(uint32_t status, void *param);
|
||||
@ -193,24 +190,6 @@ int lll_reset(void)
|
||||
return 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)
|
||||
{
|
||||
return prepare(is_abort_cb, abort_cb, prepare_cb, prio, prepare_param,
|
||||
0);
|
||||
}
|
||||
|
||||
void lll_resume(void *param)
|
||||
{
|
||||
struct lll_event *next = param;
|
||||
int ret;
|
||||
|
||||
ret = prepare(next->is_abort_cb, next->abort_cb, next->prepare_cb,
|
||||
next->prio, &next->prepare_param, next->is_resume);
|
||||
LL_ASSERT(!ret || ret == -EINPROGRESS);
|
||||
}
|
||||
|
||||
void lll_disable(void *param)
|
||||
{
|
||||
/* LLL disable of current event, done is generated */
|
||||
@ -305,8 +284,7 @@ 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)
|
||||
int lll_is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb)
|
||||
{
|
||||
return -ECANCELED;
|
||||
}
|
||||
@ -440,9 +418,10 @@ static int init_reset(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int 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, uint8_t is_resume)
|
||||
int lll_prepare_resolve(lll_is_abort_cb_t is_abort_cb, lll_abort_cb_t abort_cb,
|
||||
lll_prepare_cb_t prepare_cb,
|
||||
struct lll_prepare_param *prepare_param,
|
||||
uint8_t is_resume, uint8_t is_dequeue)
|
||||
{
|
||||
uint8_t idx = UINT8_MAX;
|
||||
struct lll_event *p;
|
||||
@ -469,7 +448,7 @@ static int prepare(lll_is_abort_cb_t is_abort_cb, lll_abort_cb_t abort_cb,
|
||||
|
||||
/* Store the next prepare for deferred call */
|
||||
ret = ull_prepare_enqueue(is_abort_cb, abort_cb, prepare_param,
|
||||
prepare_cb, prio, is_resume);
|
||||
prepare_cb, is_resume);
|
||||
LL_ASSERT(!ret);
|
||||
|
||||
#if !defined(CONFIG_BT_CTLR_LOW_LAT)
|
||||
@ -499,11 +478,11 @@ static int prepare(lll_is_abort_cb_t is_abort_cb, lll_abort_cb_t abort_cb,
|
||||
if (next) {
|
||||
/* check if resume requested by curr */
|
||||
ret = event.curr.is_abort_cb(NULL, 0, event.curr.param,
|
||||
&resume_cb, &resume_prio);
|
||||
&resume_cb);
|
||||
LL_ASSERT(ret);
|
||||
|
||||
if (ret == -EAGAIN) {
|
||||
ret = resume_enqueue(resume_cb, resume_prio);
|
||||
ret = resume_enqueue(resume_cb);
|
||||
LL_ASSERT(!ret);
|
||||
} else {
|
||||
LL_ASSERT(ret == -ECANCELED);
|
||||
@ -527,7 +506,7 @@ static int prepare(lll_is_abort_cb_t is_abort_cb, lll_abort_cb_t abort_cb,
|
||||
return err;
|
||||
}
|
||||
|
||||
static int resume_enqueue(lll_prepare_cb_t resume_cb, int resume_prio)
|
||||
static int resume_enqueue(lll_prepare_cb_t resume_cb)
|
||||
{
|
||||
struct lll_prepare_param prepare_param;
|
||||
|
||||
@ -535,7 +514,7 @@ static int resume_enqueue(lll_prepare_cb_t resume_cb, int resume_prio)
|
||||
event.curr.param = NULL;
|
||||
|
||||
return ull_prepare_enqueue(event.curr.is_abort_cb, event.curr.abort_cb,
|
||||
&prepare_param, resume_cb, resume_prio, 1);
|
||||
&prepare_param, resume_cb, 1);
|
||||
}
|
||||
|
||||
#if !defined(CONFIG_BT_CTLR_LOW_LAT)
|
||||
@ -598,7 +577,6 @@ static void preempt(void *param)
|
||||
struct lll_event *next = ull_prepare_dequeue_get();
|
||||
lll_prepare_cb_t resume_cb;
|
||||
uint8_t idx = UINT8_MAX;
|
||||
int resume_prio;
|
||||
int ret;
|
||||
|
||||
if (!event.curr.abort_cb || !event.curr.param) {
|
||||
@ -618,9 +596,9 @@ static void preempt(void *param)
|
||||
return;
|
||||
}
|
||||
|
||||
ret = event.curr.is_abort_cb(next->prepare_param.param, next->prio,
|
||||
ret = event.curr.is_abort_cb(next->prepare_param.param,
|
||||
event.curr.param,
|
||||
&resume_cb, &resume_prio);
|
||||
&resume_cb);
|
||||
if (!ret) {
|
||||
/* Let LLL know about the cancelled prepare */
|
||||
next->is_aborted = 1;
|
||||
@ -647,7 +625,7 @@ static void preempt(void *param)
|
||||
iter = ull_prepare_dequeue_iter(&iter_idx);
|
||||
}
|
||||
|
||||
ret = resume_enqueue(resume_cb, resume_prio);
|
||||
ret = resume_enqueue(resume_cb);
|
||||
LL_ASSERT(!ret);
|
||||
} else {
|
||||
LL_ASSERT(ret == -ECANCELED);
|
||||
|
||||
@ -46,8 +46,7 @@
|
||||
|
||||
static int init_reset(void);
|
||||
static int prepare_cb(struct lll_prepare_param *prepare_param);
|
||||
static int is_abort_cb(void *next, int prio, void *curr,
|
||||
lll_prepare_cb_t *resume_cb, int *resume_prio);
|
||||
static int is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb);
|
||||
static void abort_cb(struct lll_prepare_param *prepare_param, void *param);
|
||||
static void isr_tx(void *param);
|
||||
static void isr_rx(void *param);
|
||||
@ -447,8 +446,7 @@ static int resume_prepare_cb(struct lll_prepare_param *p)
|
||||
}
|
||||
#endif /* CONFIG_BT_PERIPHERAL */
|
||||
|
||||
static int is_abort_cb(void *next, int prio, void *curr,
|
||||
lll_prepare_cb_t *resume_cb, int *resume_prio)
|
||||
static int is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb)
|
||||
{
|
||||
#if defined(CONFIG_BT_PERIPHERAL)
|
||||
struct lll_adv *lll = curr;
|
||||
@ -464,7 +462,6 @@ static int is_abort_cb(void *next, int prio, void *curr,
|
||||
|
||||
/* wrap back after the pre-empter */
|
||||
*resume_cb = resume_prepare_cb;
|
||||
*resume_prio = 0; /* TODO: */
|
||||
|
||||
/* Retain HF clk */
|
||||
err = lll_clk_on();
|
||||
|
||||
@ -4,14 +4,10 @@
|
||||
* 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);
|
||||
int lll_is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb);
|
||||
void lll_abort_cb(struct lll_prepare_param *prepare_param, void *param);
|
||||
|
||||
int lll_clk_on(void);
|
||||
|
||||
@ -41,8 +41,7 @@
|
||||
|
||||
static int init_reset(void);
|
||||
static int prepare_cb(struct lll_prepare_param *prepare_param);
|
||||
static int is_abort_cb(void *next, int prio, void *curr,
|
||||
lll_prepare_cb_t *resume_cb, int *resume_prio);
|
||||
static int is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb);
|
||||
static void abort_cb(struct lll_prepare_param *prepare_param, void *param);
|
||||
static void ticker_stop_cb(uint32_t ticks_at_expire, uint32_t remainder, uint16_t lazy,
|
||||
uint8_t force, void *param);
|
||||
@ -276,8 +275,7 @@ static int resume_prepare_cb(struct lll_prepare_param *p)
|
||||
return prepare_cb(p);
|
||||
}
|
||||
|
||||
static int is_abort_cb(void *next, int prio, void *curr,
|
||||
lll_prepare_cb_t *resume_cb, int *resume_prio)
|
||||
static int is_abort_cb(void *next, void *curr, lll_prepare_cb_t *resume_cb)
|
||||
{
|
||||
struct lll_scan *lll = curr;
|
||||
|
||||
@ -287,7 +285,6 @@ static int is_abort_cb(void *next, int prio, void *curr,
|
||||
|
||||
/* wrap back after the pre-empter */
|
||||
*resume_cb = resume_prepare_cb;
|
||||
*resume_prio = 0; /* TODO: */
|
||||
|
||||
/* Retain HF clk */
|
||||
err = lll_clk_on();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user