On Tue, 20 Nov 2018, Linus Walleij wrote:
On Mon, Nov 19, 2018 at 2:22 AM Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> wrote:
Add a platform clocksource by adapting the existing arch_gettimeoffset
implementation.
Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
Acked-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
Tested-by: Stan Johnson <userm57@xxxxxxxxx>
As noted for the Amiga CIA (which is pretty much a sibling to this MOS
6522 VIA) this chip also has two counters and could use one as
clocksource and the other as clock event.
Again I bet this is just using one timer out of habit.
It will be an easy feat to make a clean clocksource+clock event for this
hardware as well once this refactoring is complete.
Right. Both timer 1 and timer 2 have a timed interrupt mode, and either
could probably serve as a clock event device or a clocksource. Some Mac
models have a second VIA with two more timers, but not all.
(As clock event devices, the longest interval you can program is about 83
ms. As 783360 Hz, 16-bit clocksources, they wrap about 12 times every
second.)
If you use one timer as a clock event device and the other as a
clocksource, there are no timers left to run the existing
timer_interrupt() handler. So this arrangement would require
GENERIC_CLOCKEVENTS=y, right?
Then, wouldn't all relevant platforms have to support
GENERIC_CLOCKEVENTS=y, if a single binary was to support all of those
platforms?
--
Yours,
Linus Walleij