On Mon, Jan 30, 2023 at 11:24:19PM -0800, Matt Corallo wrote:
I have a device with two separate PPS time sources wired up to two of the
Software Defined Pins on an Intel i211 NIC (ala
https://blog.dan.drown.org/apu2-ntp-server-2/). This works great with chrony
4.0 (and even better in 4.3, thanks!) on Linux 5.10.
However, I just tried to upgrade to 6.1 and the second PPS went silent. The
testptp utility in the kernel tree shows the first pin working fine, but
when I hook the fourth pin up to channel two (as chrony does as well), I get
radio silence.
I suspect it was broken in commit cf99c1dd7b77 ("igb: move PEROUT
and EXTTS isr logic to separate functions"), which seems to confused
the number of timestamping channels with number of pins.
Can you please try it with this change?
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -6874,7 +6874,7 @@ static void igb_extts(struct igb_adapter *adapter, int tsintr_tt)
struct ptp_clock_event event;
struct timespec64 ts;
- if (pin < 0 || pin >= IGB_N_EXTTS)
+ if (pin < 0 || pin >= IGB_N_SDP)
return;
if (hw->mac.type == e1000_82580 ||
If that works, I'll submit it as a proper patch.