#
0723c601 |
|
03-Jul-2020 |
Michael Yoo <Michael.Yoo@data61.csiro.au> |
libplatsupport: fix rockpro64,hikey ltimer Fixes an issue discovered by running sel4bench. First, correctly map secondary timer's IRQ Second, correctly free secondary timer's mapping
|
#
ef1dfb7d |
|
20-May-2020 |
Michael Yoo <michael.yoo@data61.csiro.au> |
libplatsupport: refactor more timers - The following platforms are changed: am335x, fvp, hikey, rockpro64 - All platforms pass build - Except for fvp which doesn't have a machine handy, the other 3 platforms pass sel4test - For each platform, the ltimer.c and device-specific code is more intertwined than I would have liked, including things like device code branching on `LTIMER` constants, but I think cleaning the interface is a project for later
|
#
ef47d09d |
|
08-Aug-2019 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libplatsupport: Refactor the internal handle_irq Now that the handle_irq functions are no longer externally visible, this commits refactors the handle_irq functions so that they can be accessed internally. Also add logic to invoke the user supplied callbacks after handling the timer IRQ.
|
#
80c6eb35 |
|
08-Aug-2019 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libplatsupport: Remove handle_irq from ltimers The 'handle_irq' function is no longer necessary and shouldn't be called externally as the IRQs will be managed by the IRQ handling functions of the IRQ interface.
|
#
6e800582 |
|
08-Aug-2019 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libplatsupport: Allow user callbacks for ltimer With the IRQ changes to the ltimer, IRQs are now managed internally. This poses a problem with the management of the time manager and other services which rely on having known that an interrupt arrived for the timers. This also isn't a good idea as it presents a leaky abstraction in that the services infers events based on interrupts received. This commit adds the ability to allow users to supply a callback that'll be called when certain events occur for the timer, e.g. timeouts and etc.
|
#
0431e3a2 |
|
01-Aug-2019 |
Damon Lee <Damon.Lee@data61.csiro.au> |
libplatsupport: Add IRQ register logic to ltimers This commit adds IRQ registration logic to the ltimer driver level. Instead of treating interrupt allocation being a OS/environment specific thing, this commit now uses the OS/environment agnostic IRQ interface to register these interrupts. Also fix bugs/clean-up the logic of the init and destroy functions.
|
#
72e08733 |
|
06-Dec-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
hikey ltimer: drop rtc, only use dmt for timestamps The previous approach of using the RTC and a dm timer for sub second values was resulting in incorrect absolute time due to these timers not being synced. To solve this we drop the RTC and just use a dm timer and program it to overflow as well as interrupt on overflow to get an absolute timestamp.
|
#
52da2a1d |
|
05-Dec-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Fix unchecked error in hikey ltimer
|
#
6267aec7 |
|
03-Dec-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Fixes for hikey timers - fix get_time, multiply by NS_IN_S rather than incorrect shift - convert to and from milliseconds in dmtimer calculations to avoid accuracy loss - don't round down, irqs are allowe to come in early
|
#
3fa00c41 |
|
21-Jul-2017 |
Anna Lyons <Anna.Lyons@data61.csiro.au> |
Add ltimer implementation for hikey - uses same approach as previous virtual upcounter - RTC to count seconds, 1 DMT for counting subseconds - 1 DMT for timeouts
|