aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/intel
AgeCommit message (Collapse)AuthorFilesLines
2015-02-05fm10k: Resolve compile warnings with W=1Matthew Vick2-6/+2
Fix two cases where variables are being set but not used. Signed-off-by: Matthew Vick <[email protected]> Tested-by: Krishneil Singh<[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-02-05fm10k: Validate VLAN ID in fm10k_update_xc_addr_pfMatthew Vick1-5/+2
Currently, fm10k_update_xc_addr_pf has an issue where it does not properly drop the upper-most four bits of the VLAN ID due to type promotion. Resolve the issue not by masking off the bits, but by throwing an error if the VLAN ID is out-of-bounds. Reported-by: Rasmus Villemoes <[email protected]> Signed-off-by: Matthew Vick <[email protected]> Tested-by: Krishneil Singh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-02-05Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller3-11/+14
Conflicts: drivers/net/vxlan.c drivers/vhost/net.c include/linux/if_vlan.h net/core/dev.c The net/core/dev.c conflict was the overlap of one commit marking an existing function static whilst another was adding a new function. In the include/linux/if_vlan.h case, the type used for a local variable was changed in 'net', whereas the function got rewritten to fix a stacked vlan bug in 'net-next'. In drivers/vhost/net.c, Al Viro's iov_iter conversions in 'net-next' overlapped with an endainness fix for VHOST 1.0 in 'net'. In drivers/net/vxlan.c, vxlan_find_vni() added a 'flags' parameter in 'net-next' whereas in 'net' there was a bug fix to pass in the correct network namespace pointer in calls to this function. Signed-off-by: David S. Miller <[email protected]>
2015-02-01bridge: add flags argument to ndo_bridge_setlink and ndo_bridge_dellinkRoopa Prabhu1-1/+1
bridge flags are needed inside ndo_bridge_setlink/dellink handlers to avoid another call to parse IFLA_AF_SPEC inside these handlers This is used later in this series Signed-off-by: Roopa Prabhu <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-01-30ixgbevf: Fix checksum error when using stacked vlanToshiaki Makita1-2/+2
When a skb has multiple vlans and it is CHECKSUM_PARTIAL, ixgbevf_tx_csum() fails to get the network protocol and checksum related descriptor fields are not configured correctly because skb->protocol doesn't show the L3 protocol in this case. Use first->protocol instead of skb->protocol to get the proper network protocol. Signed-off-by: Toshiaki Makita <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-01-30ixgbe: Fix checksum error when using stacked vlanToshiaki Makita1-1/+1
When a skb has multiple vlans and it is CHECKSUM_PARTIAL, ixgbe_tx_csum() fails to get the network protocol and checksum related descriptor fields are not configured correctly because skb->protocol doesn't show the L3 protocol in this case. Use vlan_get_protocol() to get the proper network protocol. Signed-off-by: Toshiaki Makita <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-01-30igbvf: Fix checksum error when using stacked vlanToshiaki Makita1-8/+11
When a skb has multiple vlans and it is CHECKSUM_PARTIAL, igbvf_tx_csum() fails to get the network protocol and checksum related descriptor fields are not configured correctly because skb->protocol doesn't show the L3 protocol in this case. Use vlan_get_protocol() to get the proper network protocol. Signed-off-by: Toshiaki Makita <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-01-22net: e1000e: support txtd update delay via xmit_moreFlorian Westphal1-10/+15
Don't update Tx tail descriptor if queue hasn't been stopped and we know at least one more skb will be sent right away. Signed-off-by: Florian Westphal <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22net: e1000: support txtd update delay via xmit_moreFlorian Westphal1-6/+9
Don't update Tx tail descriptor if we queue hasn't been stopped and we know at least one more skb will be sent right away. Signed-off-by: Florian Westphal <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22igb: Indicate failure on vf reset for empty mac addressAlexander Graf1-2/+6
Commit 5ac6f91d changed the igb driver to expose a zero (empty) mac address to the VF on reset rather than a random one. However, that behavioral change also requires igbvf driver changes which can be hard especially when we want to talk to proprietary guest OSs. Looking at the code previous to the commit in Linux that made igbvf work with empty mac addresses (8d56b6d), we can see that on reset failure the driver will try to generate a new mac address with both the old and the new code. Furthermore, ixgbe does send reset failure when it detects an empty mac address (35055928c). So I think it's safe to make igb behave the same. With this patch I can successfully run a Windows 8.1 guest with an empty mac address and an assigned igbvf device that has no mac address set by the host. If anyone is aware of a guest driver that chokes on NACK returns of VF RESET commands, please speak up. Signed-off-by: Alexander Graf <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22fm10k: Increase the timeout for the data path resetMatthew Vick1-1/+1
Based on feedback from the hardware team, 100us is too short of a time to wait for the data path reset to complete and the recommendation is to increase this timeout to 150us. Signed-off-by: Matthew Vick <[email protected]> Tested-by: Krishneil Singh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22fm10k: Check tunnel header length in encap offloadJoe Stringer1-0/+6
fm10k supports up to 184 bytes of inner+outer headers. Add an initial check to fail encap offload if these are too large. Signed-off-by: Joe Stringer <[email protected]> Tested-by: Krishneil Singh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22net/fm10k: Avoid double setting of NETIF_F_SG for the HW encapsulation ↵Or Gerlitz1-7/+6
feature mask The networking core does it for the driver during registration time. Signed-off-by: Or Gerlitz <[email protected]> Acked-by: Matthew Vick <[email protected]> Tested-by: Krishneil Singh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22igb: enable auxiliary PHC functions for the i210Richard Cochran3-6/+276
The i210 device offers a number of special PTP Hardware Clock features on the Software Defined Pins (SDPs). This patch adds support for two of the possible functions, namely time stamping external events, and periodic output signals. The assignment of PHC functions to the four SDP can be freely chosen by the user. Signed-off-by: Richard Cochran <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22igb: enable internal PPS for the i210Richard Cochran2-5/+45
The i210 device can produce an interrupt on the full second. This patch allows using this interrupt to generate an internal PPS event for adjusting the kernel system time. Signed-off-by: Richard Cochran <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22igb: serialize access to the time sync interrupt registersRichard Cochran1-3/+7
The time sync related interrupt registers may be manipulated from different contexts. This patch protects the registers from being asynchronously changed by the reset function. Also, the patch removes a misleading comment. The reset function is disabling a bunch of functions, not enabling them. Signed-off-by: Richard Cochran <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22igb: refactor time sync interrupt handlingRichard Cochran1-30/+19
The code that handles the time sync interrupt is repeated in three different places. This patch refactors the identical code blocks into a single helper function. Signed-off-by: Richard Cochran <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22fm10k: Clean-up page reuse codeAlexander Duyck1-17/+17
This patch cleans up the page reuse code getting it into a state where all the workarounds needed are in place as well as cleaning up a few minor oversights such as using __free_pages instead of put_page to drop a locally allocated page. It also cleans up how we clear the descriptor status bits. Previously they were zeroed as a part of clearing the hdr_addr. However the hdr_addr is a 64 bit field and 64 bit writes can be a bit more expensive on on 32 bit systems. Since we are no longer using the header split feature the upper 32 bits of the address no longer need to be cleared. As a result we can just clear the status bits and leave the length and VLAN fields as-is which should provide more information in debugging. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Krishneil Singh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22igb: Clean-up page reuse codeAlexander Duyck1-19/+16
This patch cleans up the page reuse code getting it into a state where all the workarounds needed are in place as well as cleaning up a few minor oversights such as using __free_pages instead of put_page to drop a locally allocated page. It also cleans up how we clear the descriptor status bits. Previously they were zeroed as a part of clearing the hdr_addr. However the hdr_addr is a 64 bit field and 64 bit writes can be a bit more expensive on on 32 bit systems. Since we are no longer using the header split feature the upper 32 bits of the address no longer need to be cleared. As a result we can just clear the status bits and leave the length and VLAN fields as-is which should provide more information in debugging. Signed-off-by: Alexander Duyck <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22e1000e: Fix 82572EI that has no hardware timestamp supportMathias Koehrer1-2/+3
With the Intel 82527EI (driver: e1000e) there is an issue when running the ptpd2 program, that leads to a kernel oops. The reason is here that in e1000_xmit_frame() a work queue will be scheduled that has not been initialized in this case. The work queue "tx_hwstamp_work" will only be initialized if adapter->flags & FLAG_HAS_HW_TIMESTAMP set. This check is missing in e1000_xmit_frame(). The following patch adds the missing check. Signed-off-by: Mathias Koehrer <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-22e1000: fix time comparisonAsaf Vertz1-1/+2
To be future-proof and for better readability the time comparisons are modified to use time_after_eq() instead of plain, error-prone math. Signed-off-by: Asaf Vertz <[email protected]> Acked-by: Jacob Keller <[email protected]> Tested-by: Aaron Brown <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e/i40evf: Bump i40e and i40evf versionsSravanthi Tangeda2-2/+2
Bump i40e to 1.2.6 and i40evf to 1.2.0 version. Change-ID: Ice127eee3a5a5d1b8765d83cff8c30f9f3b1bc32 Signed-off-by: Sravanthi Tangeda <[email protected]> Tested-by: Jim Young <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: Support for NPAR iSCSI partition with DCBNeerav Parikh4-18/+62
Add parsing and reporting of iSCSI capability for a given device or function. Also add support for iSCSI partition type with DCB in NPAR mode. In this mode it is expected that software would configure both the LAN and iSCSI traffic classes for the iSCSI partition; whereas all the NIC type partitions will use LAN TC (TC0) only. Hence, the patch enables querying of DCB configuration in MFP mode and configures TCs for iSCSI partition type. Though NIC type partitions may not have more than 1 TC enabled for them the port may have multiple TCs enabled and hence I40E_FLAG_DCB_ENABLED will be set/reset on all the partitions based on number of TCs on the port. This is required as in DCB environment it is expected that all traffic will be priority tagged. Change-ID: I8c6e1cfd46c46d8a39c57d9020d9ff8d42ed8a7d Signed-off-by: Neerav Parikh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: when Rx timestamps disabled set specific modeJacob Keller1-11/+17
Instead of leaving the Rx timestamps in the same mode as before if we disable the Rx logic, we can set it into a mode that has the fewest possible timestamps generated. To do this, select only V1 mode, but do not enable UDP packet recognition. This should eliminate all (or at least almost all) Rx timestamps, since V1 packets are always over UDP. Change-ID: If847288e0030a716e059c4c33ab114f2cf038f05 Signed-off-by: Jacob Keller <[email protected]> Acked-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: use same check for Rx hang as for Rx timestampsJacob Keller1-1/+6
It's possible that the user configured only Tx hardware timestamping, and thus we might be receiving PTP traffic which we timestamp but which software never reads. In this case we don't want to check for Rx timestamp hang, because we already know that software won't be handling them. Thus, we add the same check against pf->ptp_rx as we have in the Rx timestamp code path. Change-ID: I66486c8dba307facbff8eace4e52e2f083789d1b Signed-off-by: Jacob Keller <[email protected]> Acked-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: AQ API updates for new commandsShannon Nelson2-10/+126
Add lldp control commands, add oem ocsd and ocbb commands. Change-ID: I89eba2bd02013d0a44e1ce900559c54bb15f4a66 Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Kamil Krawczyk <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: AQ API updatesJeff Kirsher2-10/+10
Fix up NVM config read and write data structs. Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Kamil Krawczyk <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: add more struct size checksShannon Nelson2-0/+86
Add struct size checks to many of the indirect structs and a few command structs that were left out previously. Change-ID: I7810b9af0f04e3ced670639f8671daf7df9b3f4d Signed-off-by: Shannon Nelson <[email protected]> Acked-by: Greg Rose <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: Issue "Stop LLDP" command for firmware older than v4.3Neerav Parikh1-0/+10
Disable firmware LLDP agent for NICs with firmware version lower than v4.3. Added a message when driver disables the firmware LLDP agent on such NICs. Change-ID: Ia8abf89439c70cb50e23db82753d7d282265506b Signed-off-by: Neerav Parikh <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: check I40E_FLAG_PTP before handling Tx or Rx timestampsJacob Keller2-1/+11
We should not be doing Tx or Rx timestamps if we do not have PTP enabled. Add checks to ensure that we don't attempt to handle any PTP related timestamping code if we have not enabled PTP on that PF. Change-ID: I4335942ae2d5c5f91abfdbeeea02bcace49e7677 Signed-off-by: Jacob Keller <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: only enable PTP interrupt cause if PTP is enabledJacob Keller1-4/+7
We should not blindly enable the PTP interrupt flags for all PFs. We should only enable the PTP interrupt in PFs which have enabled PTP. Change-ID: I051a17cae4c199a2f3cf7852266e27eda6630525 Signed-off-by: Jacob Keller <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e/i40evf: Bump i40e/i40evf versionsCatherine Sullivan2-2/+2
Bump i40e to 1.2.5 and i40evf to 1.0.7. Change-ID: I622556829056e3ed42d3b9d285fc5ffb693b21cc Signed-off-by: Catherine Sullivan <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: Dump Stats string removed from debugfs help commandSravanthi Tangeda1-1/+0
Dump Stats string has been removed from functional debugfs help message. Now it does not show up when we echo command to debugfs/Fortville queue. Change-ID: I9333473826b574f1afa6ddb785fd7adfbdcb2884 Signed-off-by: Sravanthi Tangeda <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: Add define for interrupt name string lenCarolyn Wyborny2-8/+9
This patch creates a define for interrupt name string configuration that is large enough to contain full bus/slot info, rather than just netdev->name. Change-ID: Iaac0d23dfb8526defeed69d91cea85ed4a50ddb2 Signed-off-by: Carolyn Wyborny <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: don't give up on DCB error after resetShannon Nelson1-4/+6
We don't need to give up in the reset/rebuild process if the DCB setup failed, so handle it here the same as in the probe setup. Also adjust the log strings a little to look less scary. Change-ID: I57308d703047e61d3f1a5e471ea77be232444ca0 Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e: fix proc/int descriptionsCarolyn Wyborny1-2/+2
This patch fixes a problem where the /proc/interrupts descriptions from the msix configuration were truncating the needed bus info, making it hard to distinguish configuration from port to port. This patch increases the string buffer size in order to allow the full data to be displayed and sync's the text formatting of the misc and fdir interrupt names Change-ID: Ib01d6c61fb3f4ac70fbdf5bcc520b22638ea54b7 Signed-off-by: Carolyn Wyborny <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e/i40evf: Increase ASQ timeoutKevin Scott2-2/+2
Increase ASQ timeout for some scenarios with multi-function devices Change-ID: I2d7655b19e6c6f9a7ad04deacb106ca8d53886db Signed-off-by: Kevin Scott <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-16i40e/i40evf: AdminQ updates ww36Shannon Nelson2-8/+10
Several little tweaks to keep FW, SV, and SW in line together - Remove the unused and deprecated i40e_aqc_opc_debug_modify_internals - Add define for iSCSI capability - Fix queue mask size - Adjust i40e_aqc_oem_param_change for ease-of-use Change-ID: I51f250b367912968a7cec61b3a68110d9796e914 Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Kamil Kacperski <[email protected]> Acked-by: Greg Rose <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-15Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/netDavid S. Miller5-35/+87
Conflicts: drivers/net/xen-netfront.c Minor overlapping changes in xen-netfront.c, mostly to do with some buffer management changes alongside the split of stats into TX and RX. Signed-off-by: David S. Miller <[email protected]>
2015-01-14i40e: adds FCoE configure optionVasu Dev3-3/+14
Adds FCoE config option I40E_FCOE, so that FCoE can be enabled as needed but otherwise have it disabled by default. This also eliminate multiple FCoE config checks, instead now just one config check for CONFIG_I40E_FCOE. The I40E FCoE was added with 3.17 kernel and therefore this patch shall be applied to stable 3.17 kernel also. CC: <[email protected]> Signed-off-by: Vasu Dev <[email protected]> Tested-by: Jim Young <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-01-13net: rename vlan_tx_* helpers since "tx" is misleading thereJiri Pirko11-23/+26
The same macros are used for rx as well. So rename it. Signed-off-by: Jiri Pirko <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2015-01-13i40e: limit sriov to partition 1 of NPAR configurationsShannon Nelson1-1/+1
Make sure we only allow SR/IOV on the master PF of a port in multifunction mode. This should be the case anyway based on the num_vfs configured in the NVM, but this will help make sure there's no question. If we're not in multifunction mode the partition_id will always be 1. Change-ID: I8b2592366fe6782f15301bde2ebd1d4da240109d Signed-off-by: Shannon Nelson <[email protected]> Tested-by: Jim Young <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40e: Don't exit link event early if link speed has changedCatherine Sullivan1-0/+4
Previously we were only checking if the link up state had changed, and if it hadn't exiting the link event routine early. We should also check if speed has changed, and if it has, stay and finish processing the link event. Change-ID: I9c8e0991b3f0279108a7858898c3c5ce0a9856b8 Signed-off-by: Catherine Sullivan <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40e: limit WoL and link settings to partition 1Shannon Nelson1-1/+42
When in multi-function mode, e.g. Dell's NPAR, only partition 1 of each MAC is allowed to set WoL, speed, and flow control. Change-ID: I87a9debc7479361c55a71f0120294ea319f23588 Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40e: Adding function for reading PBA StringKamil Krawczyk3-0/+63
Function will read PBA Block from Shadow RAM and return it in a string format. Change-ID: I4ee7059f6e21bd0eba38687da15e772e0b4ab36e Signed-off-by: Kamil Krawczyk <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40e/i40evf: find partition_id in npar modeShannon Nelson4-2/+81
When in NPAR mode the driver instance might be controlling the base partition or one of the other "fake" PFs. There are some things that can only be done by the base partition, aka partition_id 1. This code does a bit of work to find how many partitions are there per port and what is the current partition_id. Change-ID: Iba427f020a1983d02147d86f121b3627e20ee21d Signed-off-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40e: remove VN2VN related mac filtersVasu Dev1-2/+0
These mac address already added by FCoE stack above netdev, therefore adding them here is redundant. Change-ID: Ia5b59f426f57efd20f8945f7c6cc5d741fbe06e5 Signed-off-by: Vasu Dev <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40e: Add warning for NPAR partitions with link speed less than 10GbpsGreg Rose1-0/+9
NPAR enabled partitions should warn the user when detected link speed is less than 10Gpbs. Change-ID: I7728bb8ce279bf0f4f755d78d7071074a4eb5f69 Signed-off-by: Greg Rose <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40evf: kick a stalled admin queueMitch A Williams2-1/+9
On some versions of the firmware, the VF admin send queue may become stalled. In this case, the easiest solution is to just place another descriptor on the queue; the firmware will then process both requests. The early init code already accounts for this, but the runtime code does not. In the watchdog task, check for the stall condition, and if it's found, send our API version to the PF. When the PF replies, just ignore the reply. Change-ID: I380d78185a4f284d649c44d263e648afc9b4d50c Signed-off-by: Mitch Williams <[email protected]> Acked-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>
2015-01-13i40evf: enable interrupt 0 appropriatelyMitch A Williams1-8/+4
Don't enable vector 0 in the ISR, just schedule the adminq task and let it enable the vector. This prevents the task from being called reentrantly. Make sure that the vector is enabled on all exit paths of the adminq task, including error exits. Change-ID: I53f3d14f91ed7a9e90291ea41c681122a5eca5b5 Signed-off-by: Mitch Williams <[email protected]> Acked-by: Shannon Nelson <[email protected]> Signed-off-by: Jeff Kirsher <[email protected]>