cederom commented on code in PR #15929: URL: https://github.com/apache/nuttx/pull/15929#discussion_r1989991756
########## arch/risc-v/src/common/riscv_mtimer.c: ########## @@ -290,6 +377,59 @@ static int riscv_mtimer_cancel(struct oneshot_lowerhalf_s *lower, return 0; } +/**************************************************************************** + * Name: riscv_mtimer_tick_cancel + * + * Description: + * Cancel the oneshot timer and return the time remaining on the timer. + * + * NOTE: This function may execute at a high rate with no timer running (as + * when pre-emption is enabled and disabled). + * + * Input Parameters: + * lower Caller allocated instance of the oneshot state structure. This + * structure must have been previously initialized via a call to + * oneshot_initialize(); + * ticks The location in which to return the time remaining on the + * oneshot timer. A time of zero is returned if the timer is + * not running. + * + * Returned Value: + * Zero (OK) is returned on success. A call to up_timer_cancel() when + * the timer is not active should also return success; a negated errno + * value is returned on any failure. + * + ****************************************************************************/ + +static int riscv_mtimer_tick_cancel(struct oneshot_lowerhalf_s *lower, + clock_t *ticks) +{ + struct riscv_mtimer_lowerhalf_s *priv = + (struct riscv_mtimer_lowerhalf_s *)lower; + uint64_t mtime; + uint64_t alarm; + irqstate_t flags; + + flags = up_irq_save(); + + alarm = priv->alarm; + + mtime = riscv_mtimer_get_mtime(priv); + + riscv_mtimer_set_mtimecmp(priv, mtime + UINT64_MAX); Review Comment: Thank you @pussuw ! If you think a PR may break things and need an update please mark "request changes" review so its not merged with the problems :-) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org