Re: [RFC PATCH v2 10/14] m68k: mac: Convert to clocksource API

From: Finn Thain
Date: Tue Nov 20 2018 - 04:00:33 EST


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
>