+ Jacob
On Mon, Mar 09, 2026 at 03:11:51PM +0100, Przemyslaw Korba wrote:
> Since upstream commit d9f3e9ecc456 ("net: ptp: introduce
> .supported_perout_flags to ptp_clock_info") and commit 7c571ac57d9d ("net:
> ptp: introduce .supported_extts_flags to ptp_clock_info"), kernel core now
> requires that the driver set the .supported_perout_flags and
> .supported_extts_flags fields in PTP clock info. Otherwise, the additional
> flags will be rejected by the kernel automatically.
>
> i40e does not support perout flags, so reject any request with perout
> flags.
>
> Signed-off-by: Przemyslaw Korba <[email protected]>
> ---
> drivers/net/ethernet/intel/i40e/i40e_ptp.c | 12 +++++++++++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> index 7bcea7d9720f..8d7958692235 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> @@ -601,10 +601,18 @@ static int i40e_ptp_feature_enable(struct
> ptp_clock_info *ptp,
> /* TODO: Implement flags handling for EXTTS and PEROUT */
> switch (rq->type) {
> case PTP_CLK_REQ_EXTTS:
> + if (rq->extts.flags & ~(PTP_ENABLE_FEATURE |
> + PTP_RISING_EDGE |
> + PTP_FALLING_EDGE |
> + PTP_STRICT_FLAGS))
> + return -EOPNOTSUPP;
> +
> func = PTP_PF_EXTTS;
> chan = rq->extts.index;
> break;
> case PTP_CLK_REQ_PEROUT:
> + if (rq->perout.flags)
> + return -EOPNOTSUPP;
> func = PTP_PF_PEROUT;
> chan = rq->perout.index;
> break;
I am a little confused.
My understanding of the cited patches is that they add checking
of flags to the code. So code like the above isn't needed in drivers.
> @@ -1340,7 +1348,9 @@ static int i40e_init_pin_config(struct i40e_pf *pf)
> pf->ptp_caps.n_ext_ts = 2;
> pf->ptp_caps.pps = 1;
> pf->ptp_caps.n_per_out = 2;
> -
> + pf->ptp_caps.supported_extts_flags = PTP_RISING_EDGE |
> + PTP_FALLING_EDGE |
> + PTP_STRICT_FLAGS;
> pf->ptp_caps.pin_config = kzalloc_objs(*pf->ptp_caps.pin_config,
> pf->ptp_caps.n_pins);
> if (!pf->ptp_caps.pin_config)
>
> base-commit: d5fbc991435eac7a1ead7cd2ddb5a743528718bb
> --
> 2.43.0
>