@ -1067,27 +1067,26 @@ static inline void z_vrfy_k_yield(void)
@@ -1067,27 +1067,26 @@ static inline void z_vrfy_k_yield(void)
# include <zephyr/syscalls/k_yield_mrsh.c>
# endif /* CONFIG_USERSPACE */
static int32_t z_tick_sleep ( k_ticks_t ticks )
static int32_t z_tick_sleep ( k_timeout_t timeout )
{
uint32_t expected_wakeup_ticks ;
__ASSERT ( ! arch_is_in_isr ( ) , " " ) ;
LOG_DBG ( " thread %p for %lu ticks " , _current , ( unsigned long ) ticks ) ;
LOG_DBG ( " thread %p for %lu ticks " , _current , ( unsigned long ) timeout . ti cks ) ;
/* wait of 0 ms is treated as a 'yield' */
if ( ticks = = 0 ) {
/* K_NO_WAIT is treated as a 'yield' */
if ( K_TIMEOUT_EQ ( timeout , K_NO_WAIT ) ) {
k_yield ( ) ;
return 0 ;
}
if ( Z_TICK_ABS ( ticks ) < = 0 ) {
expected_wakeup_ticks = ticks + sys_clock_tick_get_32 ( ) ;
if ( Z_IS_TIMEOUT_RELATIVE ( timeout ) ) {
expected_wakeup_ticks = timeout . ti cks + sys_clock_tick_get_32 ( ) ;
} else {
expected_wakeup_ticks = Z_TICK_ABS ( ticks ) ;
expected_wakeup_ticks = Z_TICK_ABS ( timeout . ti cks ) ;
}
k_timeout_t timeout = Z_TIMEOUT_TICKS ( ticks ) ;
k_spinlock_key_t key = k_spin_lock ( & _sched_spinlock ) ;
# if defined(CONFIG_TIMESLICING) && defined(CONFIG_SWAP_NONATOMIC)
@ -1103,7 +1102,8 @@ static int32_t z_tick_sleep(k_ticks_t ticks)
@@ -1103,7 +1102,8 @@ static int32_t z_tick_sleep(k_ticks_t ticks)
uint32_t left_ticks = expected_wakeup_ticks - sys_clock_tick_get_32 ( ) ;
/* To handle a negative value correctly, once type-cast it to signed 32 bit */
ticks = ( k_ticks_t ) ( int32_t ) left_ticks ;
k_ticks_t ticks = ( k_ticks_t ) ( int32_t ) left_ticks ;
if ( ticks > 0 ) {
return ticks ;
}
@ -1119,9 +1119,7 @@ int32_t z_impl_k_sleep(k_timeout_t timeout)
@@ -1119,9 +1119,7 @@ int32_t z_impl_k_sleep(k_timeout_t timeout)
SYS_PORT_TRACING_FUNC_ENTER ( k_thread , sleep , timeout ) ;
ticks = timeout . ticks ;
ticks = z_tick_sleep ( ticks ) ;
ticks = z_tick_sleep ( timeout ) ;
/* k_sleep() still returns 32 bit milliseconds for compatibility */
int64_t ms = K_TIMEOUT_EQ ( timeout , K_FOREVER ) ? K_TICKS_FOREVER :
@ -1146,7 +1144,7 @@ int32_t z_impl_k_usleep(int32_t us)
@@ -1146,7 +1144,7 @@ int32_t z_impl_k_usleep(int32_t us)
SYS_PORT_TRACING_FUNC_ENTER ( k_thread , usleep , us ) ;
ticks = k_us_to_ticks_ceil64 ( us ) ;
ticks = z_tick_sleep ( ticks ) ;
ticks = z_tick_sleep ( Z_TIMEOUT_TICKS ( ticks ) ) ;
int32_t ret = k_ticks_to_us_ceil64 ( ticks ) ;