linux/drivers/net/ethernet
David S. Miller a1f18c5fe5 Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-
queue

Tony Nguyen says:

====================
1GbE Intel Wired LAN Driver Updates 2021-12-29

Ruud Bos says:

The igb driver provides support for PEROUT and EXTTS pin functions that
allow adapter external use of timing signals. At Hottinger Bruel & Kjaer we
are using the PEROUT function to feed a PTP corrected 1pps signal into an
FPGA as cross system synchronized time source.

Support for the PEROUT and EXTTS SDP functions is currently limited to
i210/i211 based adapters. This patch series enables these functions also
for 82580/i354/i350 based ones. Because the time registers of these
adapters do not have the nice split in second rollovers as the i210 has,
the implementation is slightly more complex compared to the i210
implementation.

The PEROUT function has been successfully tested on an i350 based ethernet
adapter. Using the following user space code excerpt, the driver outputs a
PTP corrected 1pps signal on the SDP0 pin of an i350:

    struct ptp_pin_desc desc;
    memset(&desc, 0, sizeof(desc));
    desc.index = 0;
    desc.func = PTP_PF_PEROUT;
    desc.chan = 0;
    if (ioctl(fd, PTP_PIN_SETFUNC, &desc) == 0) {
        struct timespec ts;
        if (clock_gettime(clkid, &ts) == 0) {
            struct ptp_perout_request rq;
            memset(&rq, 0, sizeof(rq));
            rq.index = 0;
            rq.start.sec = ts.tv_sec + 1;
            rq.start.nsec = 500000000;
            rq.period.sec  = 1;
            rq.period.nsec = 0;
            if (ioctl(fd, PTP_PEROUT_REQUEST, &rq) == 0) {
                /* 1pps signal is now available on SDP0 */
            }
        }
    }

The added EXTTS function has not been tested. However, looking at the data
sheets, the layout of the registers involved match the i210 exactly except
for the time registers mentioned before. Hence the almost identical
implementation.

---
Note: I made changes to fix RCT and checkpatch messages regarding
unnecessary parenthesis.
====================

Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-12-30 13:13:25 +00:00
..
3com ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
8390 8390: wd: use eth_hw_addr_set() 2021-11-19 11:05:21 +00:00
actions
adaptec
aeroflex
agere
alacritech
allwinner sun4i-emac.c: add dma support 2021-12-29 17:51:36 -08:00
alteon
altera net: altera: set a couple error code in probe() 2021-12-03 14:23:11 +00:00
amazon ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
amd net: amd-xgbe: Disable the CDR workaround path for Yellow Carp Devices 2021-12-20 18:42:40 -08:00
apm net: annotate accesses to queue->trans_start 2021-11-17 14:56:16 +00:00
apple apple: macmace: use eth_hw_addr_set() 2021-11-19 11:05:21 +00:00
aquantia net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
arc
asix Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
atheros net: ag71xx: remove unnecessary legacy methods 2021-12-09 11:21:04 -08:00
broadcom bnxt_en: Use page frag RX buffers for better software GRO performance 2021-12-27 12:00:28 +00:00
brocade net: bna: Update supported link modes 2021-12-10 19:50:40 -08:00
cadence net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
calxeda
cavium net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
chelsio net: cxgb: fix a typo in kernel doc 2021-11-30 12:18:08 +00:00
cirrus cirrus: mac89x0: use eth_hw_addr_set() 2021-11-19 11:05:21 +00:00
cisco ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
cortina ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
davicom
dec net: ethernet: dec: tulip: de4x5: fix possible array overflows in type3_infoblock() 2021-11-18 12:03:17 +00:00
dlink
emulex ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
engleder tsnep: Fix s390 devm_ioremap_resource warning 2021-12-17 19:22:57 -08:00
ezchip
faraday ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
freescale fsl/fman: Use platform_get_irq() to get the interrupt 2021-12-27 12:22:19 +00:00
fujitsu
google gve: Correct order of processing device options 2021-12-20 18:47:56 -08:00
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
huawei Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-09 13:23:02 -08:00
i825xx 82596: use eth_hw_addr_set() 2021-11-20 12:25:56 +00:00
ibm ibmvnic: remove unused defines 2021-12-14 12:58:02 +00:00
intel igb: support EXTTS on 82580/i354/i350 2021-12-29 10:01:04 -08:00
litex
marvell net: marvell: prestera: Implement initial inetaddr notifiers 2021-12-30 13:12:09 +00:00
mediatek net: ethernet: mtk_eth_soc: delete some dead code 2021-12-17 19:24:38 -08:00
mellanox mlxsw: spectrum_flower: Make vlan_id limitation more specific 2021-12-22 17:14:32 -08:00
micrel Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
microchip net: lan966x: Fix the vlan used by host ports 2021-12-27 12:16:30 +00:00
microsoft net: mana: Add RX fencing 2021-12-16 20:27:32 -08:00
moxa
mscc flow_offload: add index to flow_action_entry structure 2021-12-19 14:08:47 +00:00
myricom ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
natsemi Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-02 11:44:56 -08:00
neterion net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
netronome flow_offload: reject to offload tc actions in offload drivers 2021-12-19 14:08:47 +00:00
ni nixge: fix mac address error handling again 2021-11-22 15:05:48 +00:00
nvidia ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
nxp
oki-semi net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
packetengines
pasemi ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
pensando ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
qlogic Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
qualcomm ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
rdc
realtek r8169: don't use pci_irq_vector() in atomic context 2021-12-28 15:59:05 -08:00
renesas net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
rocker net: remove .ndo_change_proto_down 2021-11-23 12:18:48 +00:00
samsung
seeq
sfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
sgi
silan
sis ethernet: sis900: fix indentation 2021-11-12 20:13:28 -08:00
smsc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
socionext ethernet: netsec: Use platform_get_irq() to get the interrupt 2021-12-27 12:22:19 +00:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-23 16:09:58 -08:00
sun
synopsys
tehuti ethtool: extend ringparam setting/getting API with rx_buf_len 2021-11-22 12:31:49 +00:00
ti net: ethernet: ti: davinci_emac: Use platform_get_irq() to get the interrupt 2021-12-27 12:22:19 +00:00
toshiba net: spider_net: Use non-atomic bitmap API when applicable 2021-12-01 18:45:46 -08:00
tundra
vertexcom net: vertexcom: remove unneeded semicolon 2021-12-16 20:26:25 -08:00
via
wiznet
xilinx net: xilinx: emaclite: Use platform_get_irq() to get the interrupt 2021-12-27 12:22:19 +00:00
xircom
xscale net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethoc: Use platform_get_irq() to get the interrupt 2021-12-27 12:22:19 +00:00
fealnx.c
jme.c
jme.h
Kconfig net: vertexcom: Add MSE102x SPI support 2021-12-13 14:15:41 +00:00
korina.c
lantiq_etop.c net: lantiq_etop: add blank line after declaration 2021-12-28 16:00:08 -08:00
lantiq_xrx200.c net: lantiq_xrx200: increase buffer reservation 2021-12-17 19:18:29 -08:00
Makefile net: vertexcom: Add MSE102x SPI support 2021-12-13 14:15:41 +00:00