Re: [net-next 03/15] net/mlx5: Add adjphase function to support hardware-only offset control
From: Jakub Kicinski <kuba@kernel.org>
Date: 2023-01-21 00:06:16
From: Jakub Kicinski <kuba@kernel.org>
Date: 2023-01-21 00:06:16
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?