> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of Przemyslaw Korba
> Sent: Wednesday, March 11, 2026 2:06 PM
> To: [email protected]
> Cc: [email protected]; Nguyen, Anthony L
> <[email protected]>; Kitszel, Przemyslaw
> <[email protected]>; Korba, Przemyslaw
> <[email protected]>
> Subject: [Intel-wired-lan] [PATCH iwl-next v2] i40e: PTP: set
> supported flags in ptp_clock_info
> 
> 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.
> 
> Fixes: d9f3e9ecc456 ("net: ptp: introduce .supported_perout_flags to
> ptp_clock_info")
> Signed-off-by: Przemyslaw Korba <[email protected]>
> ---
> v2:
> - add fixes tag
> - remove old TODO comment
> v1: https://lore.kernel.org/intel-wired-lan/20260309141220.343224-1-
> [email protected]/
> 
>  drivers/net/ethernet/intel/i40e/i40e_ptp.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> index 7bcea7d9720f..41ae6d78aacb 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
> @@ -598,13 +598,20 @@ static int i40e_ptp_feature_enable(struct
> ptp_clock_info *ptp,
>       enum ptp_pin_function func;
>       unsigned int chan;
> 
> -     /* 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;
> @@ -1340,7 +1347,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

Reviewed-by: Aleksandr Loktionov <[email protected]>

Reply via email to