mirror of
https://github.com/apache/nuttx.git
synced 2026-05-25 18:27:56 +08:00
nuttx/arch: merge tickless and tick process
merge nxsched_timer_expiration() into nxsched_process_timer()
to improve code efficient
Signed-off-by: Chengdong Wang <wangchengdong@lixiang.com>
This commit is contained in:
committed by
Xiang Xiao
parent
9f44bff3cc
commit
15f6e399b8
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
* NOTE
|
||||
@@ -183,7 +183,7 @@ static void imxrt_interval_handler(void)
|
||||
|
||||
g_tickless.pending = false;
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -477,7 +477,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Name: up_alarm_start
|
||||
*
|
||||
* Description:
|
||||
* Start the alarm. nxsched_timer_expiration() will be called when the
|
||||
* Start the alarm. nxsched_process_timer() will be called when the
|
||||
* alarm occurs (unless up_alaram_cancel is called to stop it).
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
@@ -485,7 +485,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Input Parameters:
|
||||
* ts - The time in the future at the alarm is expected to occur. When
|
||||
* the alarm occurs the timer logic will call
|
||||
* nxsched_timer_expiration().
|
||||
* nxsched_process_timer().
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) is returned on success; a negated errno value is returned on
|
||||
@@ -553,7 +553,7 @@ int up_alarm_start(const struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the alarm and return the time of cancellation of the alarm.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the alarm is
|
||||
* nxsched_process_timer() will not be called unless the alarm is
|
||||
* restarted with up_alarm_start().
|
||||
*
|
||||
* If, as a race condition, the alarm has already expired when this
|
||||
|
||||
@@ -86,7 +86,7 @@ static int lpc43_rit_isr(int irq, void *context, void *arg)
|
||||
{
|
||||
/* handle expired alarm */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
leave_critical_section(flags);
|
||||
|
||||
@@ -496,7 +496,7 @@ static inline void lpc43_tl_alarm(uint32_t curr)
|
||||
lpc43_tl_init_timer_vars();
|
||||
lpc43_tl_set_default_compare(curr);
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/* Interrupt handler */
|
||||
|
||||
@@ -539,7 +539,7 @@ static inline void lpc54_tl_alarm(uint64_t curr)
|
||||
lpc54_init_timer_vars();
|
||||
lpc54_set_default_compare(curr);
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/* Interrupt handler */
|
||||
|
||||
@@ -246,7 +246,7 @@ static int rtc_handler(int irq, void *context, void *arg)
|
||||
|
||||
/* let scheduler now of alarm firing */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
leave_critical_section(flags);
|
||||
@@ -357,5 +357,5 @@ void up_timer_initialize(void)
|
||||
|
||||
/* kick off alarm scheduling */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
@@ -244,7 +244,7 @@ static int rtc_handler(int irq, void *context, void *arg)
|
||||
|
||||
/* let scheduler now of alarm firing */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
leave_critical_section(flags);
|
||||
@@ -355,5 +355,5 @@ void up_timer_initialize(void)
|
||||
|
||||
/* kick off alarm scheduling */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
@@ -240,7 +240,7 @@ static int rtc_handler(int irq, void *context, void *arg)
|
||||
|
||||
/* let scheduler now of alarm firing */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
leave_critical_section(flags);
|
||||
@@ -351,5 +351,5 @@ void up_timer_initialize(void)
|
||||
|
||||
/* kick off alarm scheduling */
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -188,7 +188,7 @@ static struct sam_tickless_s g_tickless;
|
||||
static void sam_oneshot_handler(void *arg)
|
||||
{
|
||||
tmrinfo("Expired...\n");
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -323,7 +323,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -365,14 +365,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -200,7 +200,7 @@ static struct sam_tickless_s g_tickless;
|
||||
static void sam_oneshot_handler(void *arg)
|
||||
{
|
||||
tmrinfo("Expired...\n");
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -335,7 +335,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -377,14 +377,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -198,7 +198,7 @@ static struct sam_tickless_s g_tickless;
|
||||
static void sam_oneshot_handler(void *arg)
|
||||
{
|
||||
tmrinfo("Expired...\n");
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -333,7 +333,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -375,14 +375,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -212,7 +212,7 @@ static struct sam_tickless_s g_tickless;
|
||||
static void sam_oneshot_handler(void *arg)
|
||||
{
|
||||
tmrinfo("Expired...\n");
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -321,7 +321,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -363,14 +363,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -318,7 +318,7 @@ static void stm32_interval_handler(void)
|
||||
|
||||
g_tickless.pending = false;
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -746,7 +746,7 @@ void up_timer_getmask(clock_t *mask)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -883,14 +883,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -54,7 +54,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -322,7 +322,7 @@ static void stm32_interval_handler(void)
|
||||
|
||||
g_tickless.pending = false;
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -787,7 +787,7 @@ void up_timer_getmask(clock_t *mask)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -926,14 +926,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -309,7 +309,7 @@ static void stm32_interval_handler(void)
|
||||
|
||||
g_tickless.pending = false;
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -761,7 +761,7 @@ void up_timer_getmask(clock_t *mask)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -900,14 +900,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -144,7 +144,7 @@ static struct stm32l4_tickless_s g_tickless;
|
||||
static void stm32l4_oneshot_handler(void *arg)
|
||||
{
|
||||
tmrinfo("Expired...\n");
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -273,7 +273,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -312,14 +312,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -272,7 +272,7 @@ static void stm32wb_interval_handler(void)
|
||||
|
||||
g_tickless.pending = false;
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -612,7 +612,7 @@ void up_timer_getmask(clock_t *mask)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -749,14 +749,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
* NOTE
|
||||
@@ -150,7 +150,7 @@ static void xmc4_interval_handler(void *arg)
|
||||
putreg32(CCU4_CC4_TCCLR_TRBC_MASK, XMC4_CCU41_CC40TCCLR);
|
||||
|
||||
g_tickless.pending = false;
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -385,7 +385,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Name: up_alarm_start
|
||||
*
|
||||
* Description:
|
||||
* Start the alarm. nxsched_timer_expiration() will be called when the
|
||||
* Start the alarm. nxsched_process_timer() will be called when the
|
||||
* alarm occurs (unless up_alaram_cancel is called to stop it).
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
@@ -393,7 +393,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Input Parameters:
|
||||
* ts - The time in the future at the alarm is expected to occur. When
|
||||
* the alarm occurs the timer logic will call
|
||||
* nxsched_timer_expiration().
|
||||
* nxsched_process_timer().
|
||||
*
|
||||
* Returned Value:
|
||||
* Zero (OK) is returned on success; a negated errno value is returned on
|
||||
@@ -466,7 +466,7 @@ int up_timer_start(const struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the alarm and return the time of cancellation of the alarm.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the alarm is
|
||||
* nxsched_process_timer() will not be called unless the alarm is
|
||||
* restarted with up_alarm_start().
|
||||
*
|
||||
* If, as a race condition, the alarm has already expired when this
|
||||
|
||||
@@ -269,7 +269,7 @@ static void avrdx_check_alarm_expired(uint8_t context)
|
||||
* context. Remove non-interrupt flags from the context before
|
||||
* using it.
|
||||
*
|
||||
* Deactivate alarm first. Call to nxsched_timer_expiration()
|
||||
* Deactivate alarm first. Call to nxsched_process_timer()
|
||||
* in turns calls up_timer_gettick(), that one calls
|
||||
* up_timer_gettime() which calls this method through
|
||||
* avrdx_increment_uptime(), causing a recursion loop.
|
||||
@@ -283,7 +283,7 @@ static void avrdx_check_alarm_expired(uint8_t context)
|
||||
*/
|
||||
|
||||
avrdx_deactivate_alarm();
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -97,7 +97,7 @@ static int esp_tickless_isr(int irq, void *context, void *arg)
|
||||
systimer_ll_clear_alarm_int(systimer_hal.dev,
|
||||
SYSTIMER_ALARM_OS_TICK_CORE0);
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -235,7 +235,7 @@ int IRAM_ATTR up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -325,14 +325,14 @@ int IRAM_ATTR up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -281,7 +281,7 @@ static void IRAM_ATTR up_timer_expire(int irq, void *regs, void *arg)
|
||||
{
|
||||
g_timer_started = false;
|
||||
setbits(SYS_TIMER_TARGET0_INT_CLR, SYS_TIMER_SYSTIMER_INT_CLR_REG);
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -343,7 +343,7 @@ int IRAM_ATTR up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -420,14 +420,14 @@ int IRAM_ATTR up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -79,7 +79,7 @@ static int up_timer_expire(int irq, void *regs, void *arg)
|
||||
{
|
||||
g_timer_started = false;
|
||||
putreg32(1 << LITEX_TIMER0_TIMEOUT_EV_OFFSET, LITEX_TIMER0_EV_PENDING);
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -272,14 +272,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
* The RTOS will provide the following interfaces for use by the platform-
|
||||
* specific interval timer implementation:
|
||||
*
|
||||
* void nxsched_timer_expiration(void): Called by the platform-specific
|
||||
* void nxsched_process_timer(void): Called by the platform-specific
|
||||
* logic when the interval timer expires.
|
||||
*
|
||||
****************************************************************************/
|
||||
@@ -144,7 +144,7 @@ static struct bm3803_tickless_s g_tickless;
|
||||
static void bm3803_oneshot_handler(void *arg)
|
||||
{
|
||||
tmrinfo("Expired...\n");
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
@@ -273,7 +273,7 @@ int up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -312,14 +312,14 @@ int up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -270,7 +270,7 @@ static int up_timer_expire(int irq, void *regs, void *arg)
|
||||
if (do_sched)
|
||||
{
|
||||
up_timer_cancel(NULL);
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -340,7 +340,7 @@ int IRAM_ATTR up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -415,14 +415,14 @@ int IRAM_ATTR up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
@@ -255,7 +255,7 @@ static int IRAM_ATTR tickless_isr(int irq, void *context, void *arg)
|
||||
return OK;
|
||||
}
|
||||
|
||||
nxsched_timer_expiration();
|
||||
nxsched_process_timer();
|
||||
|
||||
return OK;
|
||||
}
|
||||
@@ -319,7 +319,7 @@ int IRAM_ATTR up_timer_gettime(struct timespec *ts)
|
||||
* Description:
|
||||
* Cancel the interval timer and return the time remaining on the timer.
|
||||
* These two steps need to be as nearly atomic as possible.
|
||||
* nxsched_timer_expiration() will not be called unless the timer is
|
||||
* nxsched_process_timer() will not be called unless the timer is
|
||||
* restarted with up_timer_start().
|
||||
*
|
||||
* If, as a race condition, the timer has already expired when this
|
||||
@@ -397,14 +397,14 @@ int IRAM_ATTR up_timer_cancel(struct timespec *ts)
|
||||
* Name: up_timer_start
|
||||
*
|
||||
* Description:
|
||||
* Start the interval timer. nxsched_timer_expiration() will be
|
||||
* Start the interval timer. nxsched_process_timer() will be
|
||||
* called at the completion of the timeout (unless up_timer_cancel
|
||||
* is called to stop the timing.
|
||||
*
|
||||
* Provided by platform-specific code and called from the RTOS base code.
|
||||
*
|
||||
* Input Parameters:
|
||||
* ts - Provides the time interval until nxsched_timer_expiration() is
|
||||
* ts - Provides the time interval until nxsched_process_timer() is
|
||||
* called.
|
||||
*
|
||||
* Returned Value:
|
||||
|
||||
Reference in New Issue
Block a user