Subject: Re: [net-next 03/15] net/mlx5: Add adjphase function to support hardware-only offset control

From: Jakub Kicinski <[email-masked]>
Date: Fri, 20 Jan 2023 16:06:09 -0800

On Fri, 20 Jan 2023 15:58:25 -0800 Jacob Keller wrote:
> Sure. I guess what I don't understand is why or when one would want to
> use adjphase instead of just performing frequency adjustment via the
> .adjfine operation...
> 
> Especially since "gradual adjustment over time" means it will still be
> slow to converge (just like adjusting frequency is today).
> 
> We should definitely improve the doc to explain the diff between them
> and make sure that its more clear to driver implementations.

Fair point, I assumed that the adjustment is precise (as in the device
is programmed with both the extra addend and number of cycles over
which to use it). Yielding an exact adjustment.

But then again, I also thought that .adjtime is supposed to be a precise
single-shot nudge, while most drivers just do:

time = read_time()
time += delta
write_time(time)

:S  So yeah, let's document..

> It also makes it harder to justify mapping small .adjtime to .adjphase,
> as it seems like .adjphase isn't required to adjust the offset
> immediately. Perhaps the adjustment size is small enough that isn't a
> big problem?