sfc: use main datapath for HW timestamps if available
authorMartin Habets <mhabets@solarflare.com>
Thu, 25 Jan 2018 17:25:15 +0000 (17:25 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 25 Jan 2018 21:05:14 +0000 (16:05 -0500)
commit23418dc131464ffe29c9ac2d71cf95bf2883fc4f
tree00d9a768627f0960913a007e371fb840b1345862
parent9c3afb33ae587723d2acda044a352670ec8d5b82
sfc: use main datapath for HW timestamps if available

We can now transmit SKBs in 2 ways:
1. Via the MC (for the 7XXX series and earlier), using
   efx_ptp_xmit_skb_mc().
2. Via the TX queues on the dedicated PTP channel (8XXX series and later),
   using efx_ptp_xmit_skb_queue().
The PTP worker thread uses the method set up at probe time. It never
 checked the return code from the old efx_ptp_xmit_skb(), so it now
 returns void.
We increment the TX dropped counter of the device if the transmit fails.

As a result of the probe per channel the remove gets called multiple times.
 Clean up efx->ptp_data properly to avoid the 2nd call blowing up.

Signed-off-by: Martin Habets <mhabets@solarflare.com>
Signed-off-by: Edward Cree <ecree@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/sfc/ef10.c
drivers/net/ethernet/sfc/ptp.c