Re: [Intel PMC TGPIO Driver 0/5] Add support for Intel PMC Time GPIO Driver with PHC interface changes to support additional H/W Features

From: Jacob Keller
Date: Mon Feb 03 2020 - 13:27:32 EST


On 2/2/2020 8:08 PM, Richard Cochran wrote:
> On Wed, Dec 11, 2019 at 01:48:47PM -0800, christopher.s.hall@xxxxxxxxx wrote:
>> The ART frequency is not adjustable. In order, to implement output
>> adjustments an additional edge-timestamp API is added, as well, as
>> a periodic output frequency adjustment API. Togther, these implement
>> equivalent functionality to the existing SYS_OFFSET_* and frequency
>> adjustment APIs.
>
> I don't see a reason for a custom, new API just for this device.
>
> The TGPIO input clock, the ART, is a free running counter, but you
> want to support frequency adjustments. Use a timecounter cyclecounter
> pair.
>
> Let the user dial a periodic output signal in the normal way.
>
> Let the user change the frequency in the normal way, and during this
> call, adjust the counter values accordingly.
>

To add:

in order to program the pin output correctly, you may need to reverse
the timecounter/cyclecounter calculations. I recall doing something
similar in ixgbe for programming the correct output signal to match.

It may actually be worth adding helper functions to the timecounter
system for doing those kind of reverse calculations for converting from
a time value back into cycles.

> Thanks,
> Richard
>