diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2017-08-07 12:33:08 -0400 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2017-08-08 00:27:28 -0400 |
commit | 2c272f99a3fac49d8acd4b49a1aa3302225f17b8 (patch) | |
tree | 07998c722ed20fa812de26e1941daf57a030271f /src/pru/main.c | |
parent | a9982beacf184ccdc4bf1221852c900b0809537d (diff) | |
download | kutter-2c272f99a3fac49d8acd4b49a1aa3302225f17b8.tar.gz kutter-2c272f99a3fac49d8acd4b49a1aa3302225f17b8.tar.xz kutter-2c272f99a3fac49d8acd4b49a1aa3302225f17b8.zip |
sched: Implement generic sleep mechanism based on tasks pending
Track when tasks are pending and spin in irq_wait() when no tasks are
pending. This improves the mechanism for sleeping the processor -
it's simpler for the board specific code and it reduces the
possibility of the processor sleeping when tasks are busy.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/pru/main.c')
-rw-r--r-- | src/pru/main.c | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/src/pru/main.c b/src/pru/main.c index 04d440df..45eb8274 100644 --- a/src/pru/main.c +++ b/src/pru/main.c @@ -49,6 +49,7 @@ void irq_wait(void) { asm("slp 1"); + irq_poll(); } // Set the next timer wake up time @@ -58,13 +59,6 @@ timer_set(uint32_t value) CT_IEP.TMR_CMP0 = value; } -// Return the next scheduled wake up time -uint32_t -timer_get_next(void) -{ - return CT_IEP.TMR_CMP0; -} - // Return the current time (in absolute clock ticks). uint32_t timer_read_time(void) |