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.
Set supported flags field so we can set extts pins.
Fixes: d9f3e9ecc456 ("net: ptp: introduce .supported_perout_flags to
ptp_clock_info")
Signed-off-by: Przemyslaw Korba <[email protected]>
---
v3:
- remove unnecessary flag checks for newer kernels and update commit
message
v2:
- add fixes tag
- remove old TODO comment
v1:
https://lore.kernel.org/intel-wired-lan/[email protected]/
drivers/net/ethernet/intel/i40e/i40e_ptp.c | 5 +++--
1 file changed, 3 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..e7c4f871beec 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c
@@ -598,7 +598,6 @@ 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:
func = PTP_PF_EXTTS;
@@ -1340,7 +1339,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