linux/drivers
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
..
accessibility
acpi Merge branch 'acpi-properties' 2021-11-26 19:45:31 +01:00
amba
android binder: use wake_up_pollfree() 2021-12-09 10:49:56 -08:00
ata libata: add horkage for ASMedia 1092 2021-12-09 11:20:47 +09:00
atm
auxdisplay
base regmap: allow to define reg_update_bits for no bus configuration 2021-11-15 13:27:13 +00:00
bcma pci-v5.16-changes 2021-11-06 14:36:12 -07:00
block block-5.16-2021-12-03 2021-12-04 08:38:25 -08:00
bluetooth Bluetooth: vhci: Set HCI_QUIRK_VALID_LE_STATES 2021-12-22 23:01:35 +01:00
bus bus: mhi: core: Add support for forced PM resume 2021-12-09 18:47:05 +01:00
cdrom
char parisc architecture bug and warning fixes for kernel v5.16-rc4 2021-12-05 12:58:18 -08:00
clk clk: Don't parent clks until the parent is fully registered 2021-12-07 19:20:35 -08:00
clocksource clocksource/drivers/arm_arch_timer: Force inlining of erratum_set_next_event_generic() 2021-12-10 17:47:00 +01:00
comedi
connector
counter
cpufreq cpufreq: Fix a comment in cpufreq_policy_free 2021-12-01 20:02:11 +01:00
cpuidle ARM: SoC drivers for 5.16 2021-11-03 17:00:52 -07:00
crypto pci-v5.16-changes 2021-11-06 14:36:12 -07:00
cxl cxl for v5.16 2021-11-08 11:49:48 -08:00
dax
dca
devfreq Merge branches 'pm-opp' and 'pm-cpufreq' 2021-11-10 14:06:51 +01:00
dio
dma dmaengine updates for v5.16-rc1 2021-11-10 11:47:55 -08:00
dma-buf dma-buf: system_heap: Use 'for_each_sgtable_sg' in pages free flow 2021-12-01 15:30:10 +05:30
edac
eisa
extcon
firewire SCSI misc on 20211105 2021-11-05 08:42:02 -07:00
firmware firmware: arm_scpi: Fix string overflow in SCPI genpd driver 2021-12-13 15:17:37 +01:00
fpga
fsi
gnss
gpio gpio: rockchip: needs GENERIC_IRQ_CHIP to fix build errors 2021-11-16 09:41:44 +01:00
gpu drm fixes for 5.16-rc5 2021-12-10 11:29:53 -08:00
greybus
hid HID: Ignore battery for Elan touchscreen on Asus UX550VE 2021-12-08 18:16:07 +01:00
hsi HSI changes for the 5.16 series 2021-11-04 13:56:55 -07:00
hv hv: utils: add PTP_1588_CLOCK to Kconfig to fix build 2021-11-28 21:22:35 +00:00
hwmon hwmon: (pwm-fan) Ensure the fan going on in .probe() 2021-11-30 06:44:18 -08:00
hwspinlock
hwtracing
i2c i2c: mpc: Use atomic read and fix break condition 2021-12-10 22:27:30 +01:00
i3c
idle
iio iio: trigger: stm32-timer: fix MODULE_ALIAS 2021-12-04 15:37:02 +00:00
infiniband Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
input xen: add "not_essential" flag to struct xenbus_driver 2021-11-23 13:41:29 -06:00
interconnect
iommu iommu/vt-d: Fix unmap_pages support 2021-11-26 22:54:47 +01:00
ipack
irqchip irqchip/irq-bcm7120-l2: Add put_device() after of_find_device_by_node() 2021-12-10 13:23:13 +00:00
isdn isdn: cpai: no need to initialise statics to 0 2021-12-13 14:05:00 +00:00
leds
macintosh Merge branch 'akpm' (patches from Andrew) 2021-11-06 14:08:17 -07:00
mailbox
mcb
md - Fix use after free in DM btree remove's rebalance_children(). 2021-12-16 10:05:49 -08:00
media media fixes for v5.16-rc3 2021-11-22 14:58:57 -08:00
memory memory: mtk-smi: Fix a null dereference for the ostd 2021-11-25 14:46:00 +01:00
memstick
message pci-v5.16-changes 2021-11-06 14:36:12 -07:00
mfd chrome platform changes for 5.16 2021-11-10 11:36:43 -08:00
misc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
mmc mmc: mediatek: free the ext_csd when mmc_get_ext_csd success 2021-12-09 10:30:11 +01:00
most
mtd Revert "mtd_blkdevs: don't scan partitions for plain mtdblock" 2021-12-10 11:52:34 -07:00
mux
net Merge branch '1GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next- 2021-12-30 13:13:25 +00:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
ntb
nubus
nvdimm libnvdimm for v5.16 2021-11-10 10:56:02 -08:00
nvme nvmet-tcp: fix possible list corruption for unexpected command failure 2021-12-08 16:36:58 +01:00
nvmem
of of/irq: Add a quirk for controllers with their own definition of interrupt-map 2021-12-03 11:30:22 -06:00
opp
parisc
parport
pci PCI: mt7621: Convert driver into 'bool' 2021-12-13 11:13:32 -08:00
pcmcia pcmcia: hide the MAC address helpers if !NET 2021-11-22 14:02:52 +00:00
perf ACPI updates for 5.16-rc1 2021-11-02 15:58:39 -07:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-12-16 16:13:19 -08:00
pinctrl pinctrl: qcom: sm8350: Correct UFS and SDC offsets 2021-11-16 02:19:15 +01:00
platform platform-drivers-x86 for v5.16-3 2021-12-07 10:10:20 -08:00
pnp
power power: supply: bq25890: Fix initial setting of the F_CONV_RATE field 2021-11-02 16:48:47 +01:00
powercap powercap: DTPM: Drop unused local variable from init_dtpm() 2021-12-03 17:51:59 +01:00
pps
ps3
ptp net_tstamp: add new flag HWTSTAMP_FLAG_BONDED_PHC_INDEX 2021-12-14 12:28:24 +00:00
pwm pwm: vt8500: Rename pwm_busy_wait() to make it obviously driver-specific 2021-11-05 11:57:13 +01:00
rapidio rapidio: avoid bogus __alloc_size warning 2021-11-06 13:30:33 -07:00
ras
regulator - Remove Drivers 2021-11-08 12:07:52 -08:00
remoteproc
reset reset: tegra-bpmp: Revert Handle errors in BPMP response 2021-11-17 17:22:27 +01:00
rpmsg remoteproc updates for v5.16 2021-11-10 09:07:26 -08:00
rtc RTC for 5.16 2021-11-12 11:44:31 -08:00
s390 s390/qeth: remove check for packing mode in qeth_check_outbound_queue() 2021-12-07 22:01:03 -08:00
sbus
scsi SCSI fixes on 20211211 2021-12-11 16:28:27 -08:00
sh
siox
slimbus
soc soc/tegra: Fixes for v5.16-rc6 2021-12-16 15:02:26 +01:00
soundwire
spi spi: Fixes for v5.16 2021-11-18 14:35:41 -08:00
spmi
ssb
staging Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-11-26 13:45:19 -08:00
target scsi: target: configfs: Delete unnecessary checks for NULL 2021-11-18 23:07:02 -05:00
tc
tee tee: amdtee: fix an IS_ERR() vs NULL bug 2021-11-29 09:55:49 +01:00
thermal thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL 2021-12-08 15:29:22 +01:00
thunderbolt
tty TTY/Serial fixes for 5.16-rc4 2021-12-05 09:13:20 -08:00
uio
usb USB fixes for 5.16-rc5 2021-12-12 10:20:57 -08:00
vdpa vdpa: Consider device id larger than 31 2021-12-08 15:41:50 -05:00
vfio vfio/pci: Fix OpRegion read 2021-11-30 11:41:49 -07:00
vhost vdpa: check that offsets are within bounds 2021-12-08 14:53:15 -05:00
video TTY/Serial fixes for 5.16-rc4 2021-12-05 09:13:20 -08:00
virt
virtio virtio_ring: Fix querying of maximum DMA mapping size for virtio device 2021-12-08 15:04:06 -05:00
visorbus
vlynq
vme
w1
watchdog linux-watchdog 5.16-rc1 tag 2021-11-10 09:41:22 -08:00
xen xen: detect uninitialized xenbus in xenbus_init 2021-11-24 08:55:15 -06:00
zorro
Kconfig
Makefile virtio: always enter drivers/virtio/ 2021-12-08 14:53:15 -05:00