History log of /seL4-camkes-master/projects/util_libs/libplatsupport/src/mach/nvidia/ltimer.c
Revision Date Author Comments
# 815d9553 02-Oct-2019 Damon Lee <Damon.Lee@data61.csiro.au>

nvidia: Remove call to ltimer_default_describe

The function is intended to be removed and is no longer valid.


# 659d30ec 19-Sep-2019 Damon Lee <Damon.Lee@data61.csiro.au>

nvidia: Fix ltimer periodic behaviour

Instead of relying on a software based approach to managing a periodic
timeout, we delegate this to hardware.


# 71c24e10 15-Sep-2019 Damon Lee <Damon.Lee@data61.csiro.au>

nvidia: Del. get_nth_irq/pmem & related functions

Now that the hard-coded addresses and IRQ numbers are being removed,
these functions are no longer necessary.


# 4fbe8b67 15-Sep-2019 Damon Lee <Damon.Lee@data61.csiro.au>

nvidia: Move timer HW management to driver level

Instead of allocating and managing all resources in the ltimer level,
this commit refactors the related code and moves them into the driver
level. This moves the responsibilities down into a more suitable
abstraction level.


# 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.


# 3410e1dc 16-Apr-2019 Damon Lee <Damon.Lee@data61.csiro.au>

trivial: style nvidia/ltimer.c


# 547ab7a6 14-Apr-2019 Damon Lee <Damon.Lee@data61.csiro.au>

libplatsupport: Change NVIDIA plat default timers

We use TMR1 instead of TMR0 due to the fact that
the IRQ for TMR1 is missing from the DTS file for
TX1. It exists for TX2, but for the sake of
compatibility, we use TMR1 for both.


# 177d4e19 22-Nov-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

platsupport: Refactor TX2 timers to use 4k mapping

The TK1 and TX1 timers we use are all located within a 4k region.
However, on TX2 the timers are each on a separate 64k region. We need to
create multiple mappings to implement a logical timer because of this.
In the timer driver we also can't assume that the mapping is contiguous.


# 2c4524ce 16-Oct-2018 Peter Chubb <Peter.Chubb@data61.csiro.au>

platsupport: Add initial TX2 support

The TX2 uses mostly the same default serial and timer devices. The
differences are:
- Extra interrupt routing for timers
- Different MMIO and interrupt mappings compared to TX1 and TK1


# e12c0245 31-Oct-2018 Kent McLeod <Kent.Mcleod@data61.csiro.au>

platsupport: Split nvidia definitions into plat

This is in preparation for the tx2 build which has the same devices but
with different interrupt and address mappings.


# 679930e3 06-Nov-2017 Kofi Doku Atuah <kofidoku.atuah@data61.csiro.au>

platsupport: TK1 NVTMR: Enable periodic mode support


# 12ef6aa8 25-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

trivial: fix licenses


# ade69180 20-Jul-2017 Anna Lyons <Anna.Lyons@data61.csiro.au>

Add ltimer for nvidia timers