Lines Matching refs:user_op

288 	struct ticker_user_op *user_op; /* Pointer to user operation array */  member
1664 static void ticker_job_op_cb(struct ticker_user_op *user_op, uint8_t status)
1666 user_op->op = TICKER_USER_OP_TYPE_NONE;
1667 user_op->status = status;
1668 if (user_op->fp_op_func) {
1669 user_op->fp_op_func(user_op->status, user_op->op_context);
1689 struct ticker_user_op *user_op,
1708 (user_op->params.update.lazy != 0U)) {
1709 user_op->params.update.lazy--;
1711 (ticker->lazy_current > user_op->params.update.lazy)) {
1721 while (ticker->lazy_current < user_op->params.update.lazy) {
1730 ticker->lazy_periodic = user_op->params.update.lazy;
1735 user_op->params.update.ticks_drift_plus;
1737 user_op->params.update.ticks_drift_minus;
1749 user_op->params.update.ticks_drift_plus -
1750 user_op->params.update.ticks_drift_minus;
1758 ticker->ticks_slot += user_op->params.update.ticks_slot_plus;
1759 if (ticker->ticks_slot > user_op->params.update.ticks_slot_minus) {
1760 ticker->ticks_slot -= user_op->params.update.ticks_slot_minus;
1767 if (user_op->params.update.force != 0U) {
1768 ticker->force = user_op->params.update.force;
1774 if (user_op->params.update.must_expire) {
1776 ticker->must_expire = (user_op->params.update.must_expire - 1);
1781 if (ticker->ext_data && user_op->params.update.expire_info_id != user_op->id) {
1782 if (user_op->params.update.expire_info_id != TICKER_NULL &&
1786 status = ticker_alloc_expire_info(instance, user_op->id);
1790 } else if (user_op->params.update.expire_info_id == TICKER_NULL &&
1792 ticker_free_expire_info(instance, user_op->id);
1796 ticker->ext_data->expire_info_id = user_op->params.update.expire_info_id;
1798 ticker_mark_expire_info_outdated(instance, user_op->id);
1806 *insert_head = user_op->id;
1828 struct ticker_user_op *user_op,
1835 (user_op->op == TICKER_USER_OP_TYPE_UPDATE)) {
1837 ticker->ticks_to_expire = ticker_dequeue(instance, user_op->id);
1840 ticker_job_node_update(instance, ticker, user_op, ticks_now,
1845 ticker_mark_expire_info_outdated(instance, user_op->id);
1854 if (user_op->op != TICKER_USER_OP_TYPE_YIELD_ABS) {
1857 user_op->id);
1861 ticker_free_expire_info(instance, user_op->id);
1865 ticker_mark_expire_info_outdated(instance, user_op->id);
1874 if (instance->ticker_id_slot_previous == user_op->id) {
1879 if (user_op->op != TICKER_USER_OP_TYPE_YIELD_ABS) {
1883 if ((user_op->op == TICKER_USER_OP_TYPE_YIELD_ABS) ||
1884 (user_op->op == TICKER_USER_OP_TYPE_STOP_ABS)) {
1886 user_op->params.yield.ticks_at_yield;
1920 ticker_job_op_cb(user_op, TICKER_STATUS_SUCCESS);
1958 user_ops = &user->user_op[0];
1965 struct ticker_user_op *user_op;
1971 user_op = &user_ops[user->middle];
1981 ticker = &node[user_op->id];
1984 if (user_op->op < TICKER_USER_OP_TYPE_UPDATE) {
1986 if (user_op->op == TICKER_USER_OP_TYPE_START) {
2003 if ((user_op->op > TICKER_USER_OP_TYPE_STOP_ABS) ||
2008 (user_op->op != TICKER_USER_OP_TYPE_YIELD_ABS)) ||
2009 ((user_op->op == TICKER_USER_OP_TYPE_UPDATE) &&
2010 (user_op->params.update.ticks_drift_plus == 0U) &&
2011 (user_op->params.update.ticks_drift_minus == 0U) &&
2013 (user_op->params.update.ticks_slot_plus == 0U) &&
2014 (user_op->params.update.ticks_slot_minus == 0U) &&
2018 user_op->params.update.expire_info_id == user_op->id) &&
2020 (user_op->params.update.lazy == 0U) &&
2021 (user_op->params.update.force == 0U))) {
2022 ticker_job_op_cb(user_op,
2029 (user_op->op == TICKER_USER_OP_TYPE_YIELD_ABS)) {
2031 user_op, ticks_now,
2313 struct ticker_user_op *user_op,
2316 struct ticker_user_op_start *start = (void *)&user_op->params.start;
2340 status = ticker_alloc_expire_info(instance, user_op->id);
2347 ticker_mark_expire_info_outdated(instance, user_op->id);
2862 user_ops = (void *)&user->user_op[0];
2867 struct ticker_user_op *user_op;
2880 user_op = NULL;
2887 user_op = &user_ops[user_ops_first];
2894 id_insert = user_op->id;
2896 if (user_op->op != TICKER_USER_OP_TYPE_START) {
2909 ticker_job_op_cb(user_op,
2915 status = ticker_job_op_start(instance, ticker, user_op,
2925 if (user_op) {
2926 ticker_job_op_cb(user_op, status);
2930 user_op) {
2932 user_op->fp_op_func;
2934 user_op->op_context;
3057 struct ticker_user_op *user_op;
3061 user_op = &user->user_op[0];
3065 ticker_job_op_inquire(instance, &user_op[user->first]);
3394 uint8_t count_user, void *user, uint8_t count_op, void *user_op,
3400 struct ticker_user_op *user_op_ = (void *)user_op;
3428 users[count_user].user_op = user_op_;
3628 struct ticker_user_op *user_op;
3643 user_op = &user->user_op[user->last];
3644 user_op->op = TICKER_USER_OP_TYPE_START;
3645 user_op->id = ticker_id;
3646 user_op->params.start.ticks_at_start = ticks_anchor;
3647 user_op->params.start.ticks_first = ticks_first;
3648 user_op->params.start.ticks_periodic = ticks_periodic;
3651 user_op->params.start.remainder_periodic = remainder_periodic;
3654 user_op->params.start.remainder_first = remainder_first;
3661 user_op->params.start.ticks_slot = ticks_slot;
3663 user_op->params.start.lazy = lazy;
3665 user_op->params.start.ext_data = ext_data;
3667 user_op->params.start.fp_timeout_func = fp_timeout_func;
3668 user_op->params.start.context = context;
3669 user_op->status = TICKER_STATUS_BUSY;
3670 user_op->fp_op_func = fp_op_func;
3671 user_op->op_context = op_context;
3680 return user_op->status;
3757 struct ticker_user_op *user_op;
3772 user_op = &user->user_op[user->last];
3773 user_op->op = TICKER_USER_OP_TYPE_UPDATE;
3774 user_op->id = ticker_id;
3775 user_op->params.update.ticks_drift_plus = ticks_drift_plus;
3776 user_op->params.update.ticks_drift_minus = ticks_drift_minus;
3778 user_op->params.update.ticks_slot_plus = ticks_slot_plus;
3779 user_op->params.update.ticks_slot_minus = ticks_slot_minus;
3781 user_op->params.update.lazy = lazy;
3782 user_op->params.update.force = force;
3785 user_op->params.update.must_expire = must_expire;
3788 user_op->params.update.expire_info_id = expire_info_id;
3791 user_op->status = TICKER_STATUS_BUSY;
3792 user_op->fp_op_func = fp_op_func;
3793 user_op->op_context = op_context;
3802 return user_op->status;
3830 struct ticker_user_op *user_op;
3845 user_op = &user->user_op[user->last];
3846 user_op->op = TICKER_USER_OP_TYPE_YIELD_ABS;
3847 user_op->id = ticker_id;
3848 user_op->params.yield.ticks_at_yield = ticks_at_yield;
3849 user_op->status = TICKER_STATUS_BUSY;
3850 user_op->fp_op_func = fp_op_func;
3851 user_op->op_context = op_context;
3860 return user_op->status;
3885 struct ticker_user_op *user_op;
3900 user_op = &user->user_op[user->last];
3901 user_op->op = TICKER_USER_OP_TYPE_STOP;
3902 user_op->id = ticker_id;
3903 user_op->status = TICKER_STATUS_BUSY;
3904 user_op->fp_op_func = fp_op_func;
3905 user_op->op_context = op_context;
3914 return user_op->status;
3941 struct ticker_user_op *user_op;
3956 user_op = &user->user_op[user->last];
3957 user_op->op = TICKER_USER_OP_TYPE_STOP_ABS;
3958 user_op->id = ticker_id;
3959 user_op->params.yield.ticks_at_yield = ticks_at_stop;
3960 user_op->status = TICKER_STATUS_BUSY;
3961 user_op->fp_op_func = fp_op_func;
3962 user_op->op_context = op_context;
3971 return user_op->status;
4025 struct ticker_user_op *user_op;
4040 user_op = &user->user_op[user->last];
4041 user_op->op = TICKER_USER_OP_TYPE_SLOT_GET;
4042 user_op->id = TICKER_NULL;
4043 user_op->params.slot_get.ticker_id = ticker_id;
4044 user_op->params.slot_get.ticks_current = ticks_current;
4045 user_op->params.slot_get.ticks_to_expire = ticks_to_expire;
4047 user_op->params.slot_get.remainder = remainder;
4050 user_op->params.slot_get.lazy = lazy;
4053 user_op->params.slot_get.fp_match_op_func = fp_match_op_func;
4054 user_op->params.slot_get.match_op_context = match_op_context;
4056 user_op->status = TICKER_STATUS_BUSY;
4057 user_op->fp_op_func = fp_op_func;
4058 user_op->op_context = op_context;
4067 return user_op->status;
4094 struct ticker_user_op *user_op;
4109 user_op = &user->user_op[user->last];
4110 user_op->op = TICKER_USER_OP_TYPE_IDLE_GET;
4111 user_op->id = TICKER_NULL;
4112 user_op->status = TICKER_STATUS_BUSY;
4113 user_op->fp_op_func = fp_op_func;
4114 user_op->op_context = op_context;
4123 return user_op->status;
4156 struct ticker_user_op *user_op;
4171 user_op = &user->user_op[user->last];
4172 user_op->op = TICKER_USER_OP_TYPE_PRIORITY_SET;
4173 user_op->id = ticker_id;
4174 user_op->params.priority_set.priority = priority;
4175 user_op->status = TICKER_STATUS_BUSY;
4176 user_op->fp_op_func = fp_op_func;
4177 user_op->op_context = op_context;
4186 return user_op->status;