linux/drivers/net/ethernet
Jacob Keller fe88bda9e6 i40e: don't enable PTP support on more than one PF per port
Resolve an issue related to images with multiple PFs per physical
port. We cannot fully support 1588 PTP features, since only one port
should control (ie: write) the registers at a time. Doing so can cause
interference of functionality.

It may be possible to partially implement the API for only those
features without side effects. However, this at minimum means non
controlling PFs lose Tx timestamps, frequency atunement, and possibly
SYSTIME adjustment. There may be further impact I did not discover.
Since the API in the kernel expects these features to work, it is
simpler and less dangerous to just disable PTP features on all PFs not
identified as the controlling PF in PRTTSYN_CTL0.PF_ID.

This change also removes the warning printed when hwtstaml IOCTL is
called on the wrong PF. This is actually meaningless now, since only one
PF per port will support it. In addition, the ethtool get_ts_info IOCTL
was updated so that only the controlling port will even indicate support
(so as not to confuse users).

The overall downside is complete loss of functionality on non
controlling PF, vs the possible gain of partial support. The biggest
factor for choosing this approach is simplicity and ensuring that the
main PF will work. There could easily be other portions of the 1588
logic with side effects I am not aware, and the reduced functionality
that might be made available is significantly less useful. In addition,
the API does not allow for proper indication of why particular features
are not supported. These reasons are enough to decide for the simpler
approach to resolving this issue.

Change-ID: If4696bae686fc18aef6552b67dd417213d987c16
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Tested-by: Jim Young <jamesx.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2014-12-06 03:47:15 -08:00
..
3com net: typhoon: Remove redundant casts 2014-10-24 00:41:31 -04:00
8390
adaptec
adi
aeroflex
agere
allwinner
alteon
altera
amd amd-xgbe: Add support for the skb->xmit_more flag 2014-11-21 15:19:11 -05:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-06 22:01:18 -05:00
apple
arc
atheros
broadcom net: rename netdev_phys_port_id to more generic name 2014-12-02 20:01:19 -08:00
brocade bna: use netdev_rss_key_fill() helper 2014-11-16 15:59:11 -05:00
cadence
calxeda
chelsio cxgb4/cxgb4vf/csiostor: Add T4/T5 PCI ID Table 2014-11-25 14:06:55 -05:00
cirrus cirrus/mac89x0: Remove superfluous interrupt disable/restore 2014-10-24 00:43:28 -04:00
cisco enic: use netdev_rss_key_fill() helper 2014-11-23 21:01:42 -05:00
davicom
dec
dlink
emulex bridge: add brport flags to dflt bridge_getlink 2014-12-02 20:01:24 -08:00
faraday
freescale net: fec: init maximum receive buffer size for ring1 and ring2 2014-11-24 15:22:57 -05:00
fujitsu
hisilicon
hp
i825xx
ibm IBM-EMAC: Deletion of unnecessary checks before the function call "of_dev_put" 2014-11-21 15:14:12 -05:00
icplus
intel i40e: don't enable PTP support on more than one PF per port 2014-12-06 03:47:15 -08:00
marvell sky2: Fix crash inside sky2_rx_clean 2014-11-26 15:16:40 -05:00
mellanox net: rename netdev_phys_port_id to more generic name 2014-12-02 20:01:19 -08:00
micrel net: ks8842: use dmaengine_terminate_all() API 2014-10-15 21:31:00 +05:30
microchip
moxa
myricom
natsemi natsemi/macsonic: Remove superfluous interrupt disable/restore 2014-10-24 00:43:28 -04:00
neterion
nuvoton
nvidia
nxp
octeon
oki-semi
packetengines
pasemi net-PA Semi: Deletion of unnecessary checks before the function call "pci_dev_put" 2014-12-05 21:14:20 -08:00
qlogic net: rename netdev_phys_port_id to more generic name 2014-12-02 20:01:19 -08:00
qualcomm net: qualcomm: Fix dependency 2014-11-11 18:12:32 -05:00
rdc
realtek 8139too: The maximum MTU should allow for VLAN headers 2014-11-24 15:26:41 -05:00
renesas net: sh_eth: Add r8a7793 support 2014-11-13 15:03:53 -05:00
rocker rocker: Use logical operators on booleans 2014-12-02 20:01:27 -08:00
samsung ethernet: samsung: sxgbe: remove unnecessary check 2014-10-27 19:16:02 -04:00
seeq
sfc sfc: use netdev_rss_key_fill() helper 2014-11-16 15:59:13 -05:00
sgi
silan
sis
smsc net/smsc911x: Add minimal runtime PM support 2014-11-24 16:41:50 -05:00
stmicro stmmac: pci: allocate memory resources dynamically 2014-12-05 21:03:48 -08:00
sun net: cassini: Deletion of an unnecessary check before the function call "vfree" 2014-12-05 21:14:19 -08:00
tehuti
ti drivers: net: cpsw: Fix TX_IN_SEL offset 2014-11-16 14:20:00 -05:00
tile Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
toshiba
tundra
via
wiznet ethernet: wiznet: remove unnecessary check 2014-10-27 19:16:01 -04:00
xilinx net: Xilinx: Deletion of unnecessary checks before two function calls 2014-11-21 15:14:12 -05:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c
fealnx.c
jme.c
jme.h
Kconfig rocker: introduce rocker switch driver 2014-12-02 20:01:24 -08:00
korina.c
lantiq_etop.c
Makefile rocker: introduce rocker switch driver 2014-12-02 20:01:24 -08:00
netx-eth.c
s6gmac.c