linux/drivers/net
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
..
appletalk net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
arcnet ARCNET: enable eae arcnet card support 2014-09-29 14:36:26 -04:00
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-21 22:28:24 -05:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-21 22:28:24 -05:00
cris
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-29 20:47:48 -08:00
ethernet i40e: don't enable PTP support on more than one PF per port 2014-12-06 03:47:15 -08:00
fddi defxx: Clean up DEFEA resource management 2014-11-21 16:37:13 -05:00
hamradio hamradio: 6pack: remove unnecessary check 2014-11-03 15:34:31 -05:00
hippi
hyperv net: Hyper-V: Deletion of an unnecessary check before the function call "vfree" 2014-11-25 17:22:48 -05:00
ieee802154 at86rf230: fix commentation for symbol duration 2014-11-17 09:49:14 +01:00
ipvlan net-ipvlan: Deletion of an unnecessary check before the function call "free_percpu" 2014-12-05 21:14:20 -08:00
irda irda: Convert IRDA_DEBUG to pr_debug 2014-11-12 13:56:41 -05:00
phy net: phy: micrel: add copyright entry 2014-11-21 14:08:57 -05:00
plip
ppp new helper: memcpy_from_msg() 2014-11-24 04:28:48 -05:00
slip
team net: generic dev_disable_lro() stacked device handling 2014-11-13 14:48:56 -05:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-21 22:28:24 -05:00
vmxnet3 vmxnet3: use netdev_rss_key_fill() helper 2014-11-16 15:59:13 -05:00
wan net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
wimax kbuild: remove unnecessary "obj- := dummy.o" trick 2014-10-02 13:55:02 +02:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-29 20:47:48 -08:00
xen-netback Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-29 20:47:48 -08:00
dummy.c
eql.c net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
ifb.c net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
Kconfig ipvlan: ipvlan depends on INET and IPV6 2014-11-29 20:53:05 -08:00
LICENSE.SRC
loopback.c net: better IFF_XMIT_DST_RELEASE support 2014-10-07 13:22:11 -04:00
macvlan.c net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del 2014-12-02 20:01:18 -08:00
macvtap.c tun/macvtap: use consume_skb() instead of kfree_skb() when needed 2014-12-05 21:45:09 -08:00
Makefile ipvlan: Initial check-in of the IPVLAN driver. 2014-11-24 15:29:18 -05:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c tun/macvtap: use consume_skb() instead of kfree_skb() when needed 2014-12-05 21:45:09 -08:00
veth.c
virtio_net.c virtio-net: validate features during probe 2014-11-21 00:26:43 -05:00
vxlan.c net: make vid as a parameter for ndo_fdb_add/ndo_fdb_del 2014-12-02 20:01:18 -08:00
xen-netfront.c xen-netfront: always keep the Rx ring full of requests 2014-10-26 22:21:32 -04:00