aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-12-09cxgb4/cxgb4vf: Use new interfaces to calculate BAR2 SGE Queue Register addressesHariprasad Shenai7-140/+288
Use BAR2 Going To Sleep (GTS) for T5 and later. Use new BAR2 User Doorbells for T5 for both cxgb4 and cxgb4vf driver. Based on original work by Casey Leedom <[email protected]> Signed-off-by: Hariprasad Shenai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09cxgb4/cxgb4vf: Add code to calculate T5 BAR2 Offsets for SGE Queue RegistersHariprasad Shenai5-7/+247
Add new Common Code facilities for calculating T5 BAR2 Offsets for SGE Queue Registers. This new code can handle situations where Queues Per Page * SGE BAR2 Queue Register Area Size > Page Size Based on original work by Casey Leedom <[email protected]> Signed-off-by: Hariprasad Shenai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09cxgb4vf: Add and initialize some sge params for VF driverHariprasad Shenai4-5/+120
Add sge_vf_eq_qpp and sge_vf_iq_qpp to (struct sge_params), initialize sge_queues_per_page and sge_vf_qpp in t4vf_get_sge_params(), add new t4vf_prep_adapter() which initializes basic adapter parameters. Grab both SGE_EGRESS_QUEUES_PER_PAGE_VF and SGE_INGRESS_QUEUES_PER_PAGE_VF for VF Drivers since we need both to calculate the User Doorbell area offsets for Egress and Ingress Queues. Based on original work by Casey Leedom <[email protected]> Signed-off-by: Hariprasad Shenai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09tipc: drop tx side permission checksErik Hugne1-37/+1
Part of the old remote management feature is a piece of code that checked permissions on the local system to see if a certain operation was permitted, and if so pass the command to a remote node. This serves no purpose after the removal of remote management with commit 5902385a2440 ("tipc: obsolete the remote management feature") so we remove it. Signed-off-by: Erik Hugne <[email protected]> Reviewed-by: Jon Maloy <[email protected]> Reviewed-by: Ying Xue <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09rocker: fix eth_type type in struct rocker_ctrlJiri Pirko1-1/+1
Signed-off-by: Jiri Pirko <[email protected]> Signed-off-by: Scott Feldman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09rocker: introduce be put/get variants and use it when appropriateJiri Pirko1-31/+48
This kills the sparse warnings. Signed-off-by: Jiri Pirko <[email protected]> Signed-off-by: Scott Feldman <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09ipv6: remove useless spin_lock/spin_unlockDuan Jiong1-5/+1
xchg is atomic, so there is no necessary to use spin_lock/spin_unlock to protect it. At last, remove the redundant opt = xchg(&inet6_sk(sk)->opt, opt); statement. Signed-off-by: Duan Jiong <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-09amd-xgbe: IRQ names require allocated memoryLendacky, Thomas2-4/+5
When requesting an irq, the name passed in must be (part of) allocated memory. The irq name was a local variable and resulted in random characters when listing /proc/interrupts. Add a character field to the xgbe_channel structure to hold the irq name and use that. Signed-off-by: Tom Lendacky <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: fix incorrect rcu_read_unlock() in vnet_start_xmit()David L Stevens1-3/+1
This patch removes an extra rcu_read_unlock() on an allocation failure in vnet_skb_shape(). The needed rcu_read_unlock() is already done in the out_dropped label. Reported-by: Rashmi Narasimhan <[email protected]> Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'genet-gphy'David S. Miller2-1/+25
Florian Fainelli says: ==================== net: bcmgenet: support for new GPHY revision scheme These two patches update the GENET GPHY revision logic to account for some of our newer designs starting with GPHY rev G0. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08net: phy: bcm7xxx: add an explicit version check for GPHY rev G0Florian Fainelli1-0/+2
GPHY revision G0 has its version rolled over to 0x10, introduce an explicit check for that revision and invoke the proper workaround function for it. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net: bcmgenet: add support for new GENET PHY revision schemeFlorian Fainelli1-1/+23
Starting with GPHY revision G0, the GENET register layout has changed to use the same numbering scheme as the Starfighter 2 switch. This means that GPHY major revision is in bits 15:12, minor in bits 11:8 and patch level is in bits 7:4. Introduce a small heuristic which checks for the old scheme first, tests for the new scheme and finally attempts to catch reserved values and aborts. Signed-off-by: Florian Fainelli <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'master' of ↵David S. Miller4-29/+56
git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next Steffen Klassert says: ==================== pull request (net-next): ipsec-next 2014-12-03 1) Fix a set but not used warning. From Fabian Frederick. 2) Currently we make sequence number values available to userspace only if we use ESN. Make the sequence number values also available for non ESN states. From Zhi Ding. 3) Remove socket policy hashing. We don't need it because socket policies are always looked up via a linked list. From Herbert Xu. 4) After removing socket policy hashing, we can use __xfrm_policy_link in xfrm_policy_insert. From Herbert Xu. 5) Add a lookup method for vti6 tunnels with wildcard endpoints. I forgot this when I initially implemented vti6. Please pull or let me know if there are problems. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'sunvnet-next'David S. Miller3-46/+388
David L Stevens says: ==================== sunvnet: add SG, HW_CSUM, GSO, and TSO support This patch set adds everything needed for TSO support in sunvnet. On my test hardware, this increases the single-stream TCP throughput for the default 1500-byte MTU Linux-Linux from ~2Gbps to 10Gbps and Linux-Solaris from ~2Gbps to 6Gbps. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: add TSO supportDavid L Stevens2-9/+95
This patch adds TSO support for the sunvnet driver. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: add GSO supportDavid L Stevens1-1/+72
This patch adds GSO support to the sunvnet driver. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: add checksum offload supportDavid L Stevens1-3/+34
This patch adds support for sender-side checksum offloading. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: add scatter/gather supportDavid L Stevens1-21/+76
This patch adds scatter/gather support to the sunvnet driver. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: add VIO v1.7 and v1.8 supportDavid L Stevens2-10/+111
This patch adds support for VIO v1.7 (extended descriptor format) and v1.8 (receive-side checksumming) to the sunvnet driver. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08sunvnet: rename vnet_port_alloc_tx_bufs and move after version negotiationDavid L Stevens1-10/+8
This patch changes the name of vnet_port_alloc_tx_bufs to vnet_port_alloc_tx_ring, since there are no buffer allocations after transmit zero copy support was added. This patch also moves the ring allocation to after VIO version negotiation to allow for different-sized descriptors in later VIO versions. Signed-off-by: David L Stevens <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'rss_hash'David S. Miller17-72/+272
Amir Vadai says: ==================== ethtool, net/mlx4_en: RSS hash function selection This patchset by Eyal adds support in set/get of RSS hash function. Current supported functions are Toeplitz and XOR. The API is design to enable adding new hash functions without breaking backward compatibility. Userspace patch will be sent after API is available in kernel. The patchset was applied and tested over commit cd4c910 ("netpoll: delete defconfig references to obsolete NETPOLL_TRAP") ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx4_en: Support for configurable RSS hash functionEyal Perry4-7/+54
The ConnectX HW is capable of using one of the following hash functions: Toeplitz and an XOR hash function. This patch extends the implementation of the mlx4_en driver set/get_rxfh callbacks to support getting and setting the RSS hash function used by the device. Signed-off-by: Eyal Perry <[email protected]> Signed-off-by: Amir Vadai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08ethtool: Support for configurable RSS hash functionEyal Perry14-70/+223
This patch extends the set/get_rxfh ethtool-options for getting or setting the RSS hash function. It modifies drivers implementation of set/get_rxfh accordingly. This change also delegates the responsibility of checking whether a modification to a certain RX flow hash parameter is supported to the driver implementation of set_rxfh. User-kernel API is done through the new hfunc bitmask field in the ethtool_rxfh struct. A bit set in the hfunc field is corresponding to an index in the new string-set ETH_SS_RSS_HASH_FUNCS. Got approval from most of the relevant driver maintainers that their driver is using Toeplitz, and for the few that didn't answered, also assumed it is Toeplitz. Cc: Tom Lendacky <[email protected]> Cc: Ariel Elior <[email protected]> Cc: Prashant Sreedharan <[email protected]> Cc: Michael Chan <[email protected]> Cc: Hariprasad S <[email protected]> Cc: Sathya Perla <[email protected]> Cc: Subbu Seetharaman <[email protected]> Cc: Ajit Khaparde <[email protected]> Cc: Jeff Kirsher <[email protected]> Cc: Jesse Brandeburg <[email protected]> Cc: Bruce Allan <[email protected]> Cc: Carolyn Wyborny <[email protected]> Cc: Don Skidmore <[email protected]> Cc: Greg Rose <[email protected]> Cc: Matthew Vick <[email protected]> Cc: John Ronciak <[email protected]> Cc: Mitch Williams <[email protected]> Cc: Amir Vadai <[email protected]> Cc: Solarflare linux maintainers <[email protected]> Cc: Shradha Shah <[email protected]> Cc: Shreyas Bhatewara <[email protected]> Cc: "VMware, Inc." <[email protected]> Cc: Ben Hutchings <[email protected]> Signed-off-by: Eyal Perry <[email protected]> Signed-off-by: Amir Vadai <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net_sched: cls_cgroup: remove unnecessary ifJiri Pirko1-5/+1
since head->handle == handle (checked before), just assign handle. Signed-off-by: Jiri Pirko <[email protected]> Acked-by: Jamal Hadi Salim <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net_sched: cls_flow: remove duplicate assignmentsJiri Pirko1-3/+0
Signed-off-by: Jiri Pirko <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net_sched: cls_flow: remove faulty use of list_for_each_entry_rcuJiri Pirko1-2/+2
rcu variant is not correct here. The code is called by updater (rtnl lock is held), not by reader (no rcu_read_lock is held). Signed-off-by: Jiri Pirko <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net_sched: cls_bpf: remove faulty use of list_for_each_entry_rcuJiri Pirko1-2/+2
rcu variant is not correct here. The code is called by updater (rtnl lock is held), not by reader (no rcu_read_lock is held). Signed-off-by: Jiri Pirko <[email protected]> ACKed-by: Jamal Hadi Salim <[email protected]> Acked-by: Daniel Borkmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net_sched: cls_bpf: remove unnecessary iteration and use passed argJiri Pirko1-12/+5
Signed-off-by: Jiri Pirko <[email protected]> Acked-by: Jamal Hadi Salim <[email protected]> Acked-by: Daniel Borkmann <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net_sched: cls_basic: remove unnecessary iteration and use passed argJiri Pirko1-11/+5
Signed-off-by: Jiri Pirko <[email protected]> Acked-by: Jamal Hadi Salim <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'master' of ↵David S. Miller16-75/+107
git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-next Jeff Kirsher says: ==================== Intel Wired LAN Driver Updates 2014-12-06 This series contains updates to i40e and i40evf. Shannon provides several patches to cleanup and fix i40e. First removes an unneeded break statement in i40e_vsi_link_event(). Then removes some debug messages that really do not give any useful information and ends up getting printed every service_task loop, which fills the logfile with noise when AQ tracing is enabled. Updates the aq_cmd arguments to use %i which is much more forgiving and user friendly than the more restrictive %x, or %d. Fixes the netdev_stat macro, where the old xxx_NETDEV_STAT() macro was defined long before the newer rtnl_link_stats64 came into being, and just never got updated. Getting the pf_id from the function number had an issue when when the PF was setup in passthru mode, the PCI bus/device/function was virtualized and the number in the VM is different from the number in the bare metal. This caused HW configuration issues when the wrong pf_id was used to set up the HMC and other structures. The PF_FUNC_RID register has the real bus/device/function information as configured by the BIOS, so use that for a better number. Carolyn adds additional text description for the base pf0 and flow director generated interrupts, since these interrupts are difficult to distinguish per port on a multi-function device. Jacob resolves an issue related to images with multiple PFs per physical port. We cannot fully support 1588 PTP features, since only one port should control (i.e. write) the registers at a time. Doing so can cause interference of functionality. Anjali provides several updates to i40e, first adds the Virtual Channel OP event opcode for CONFIG_RSS, so that the Virtual Channel state machine can properly decipher status change events. Then updates the driver to add (and use) i40e_is_vf macro for future expansion when new VF MAC types get added. Adds new update VSI flow to accommodate a firmware dix with VSI loopback mode. All VSIs on a VEB should either have loopback enabled or disabled, a mixed mode is not supported for a VEB. Since our driver supports multiple VSIs per PF that need to talk to each other make sure to enable Loopback for the PF and FDIR VSI as well. Mitch provides a couple of i40e and i40evf patches. First updates i40evf init code more adept at handling when multiple VFs attempt to initialize simultaneously. Joe Perches provides a i40e patch which resolves a compile warning about about frame size being larger than 2048 bytes by reducing the stack use by using kmemdup and not using a very large struct on the stack. v2: - Dropped patch 13 & 14 while Mitch reworks the patches based on feedback from Ben Hutchings, probably the tryptophan in the turkey is to blame for the delay... - Added Joe Perches patch which resolves a compile warning about frame size ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'eth_skb_pad'David S. Miller13-92/+67
Alexander Duyck says: ==================== net: Add helper for padding short Ethernet frames This patch series adds a pair of helpers to pad short Ethernet frames. The general idea is to clean up a number of code paths that were all writing their own versions of the same or similar function. An added advantage is that this will help to discourage introducing new bugs as in at least one case I found the skb->len had been updated, but the tail pointer update was overlooked. v2: Added skb_put_padto for cases where length is not ETH_ZLEN Updated intel drivers and emulex driver to use skb_put_padto Updated eth_skb_pad to use skb_put_padto ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08r8169: Use eth_skb_pad functionAlexander Duyck1-10/+2
Replace rtl_skb_pad with eth_skb_pad since they do the same thing. Cc: Realtek linux nic maintainers <[email protected]> Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08myri10ge: use eth_skb_pad helperAlexander Duyck1-10/+5
Update myri10ge to use eth_skb_pad helper. This also corrects a minor issue as the driver was updating length without updating the tail pointer. Cc: Hyong-Youb Kim <[email protected]> Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08niu: Use eth_skb_pad helperAlexander Duyck1-7/+2
Replace the standard layout for padding an ethernet frame with the eth_skb_pad call. Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08emulex: Use skb_put_padto instead of skb_padto() and skb->len assignmentAlexander Duyck1-2/+1
Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08ethernet/intel: Use eth_skb_pad and skb_put_padto helpersAlexander Duyck7-62/+22
Update the Intel Ethernet drivers to use eth_skb_pad() and skb_put_padto instead of doing their own implementations of the function. Also this cleans up two other spots where skb_pad was called but the length and tail pointers were being manipulated directly instead of just having the padding length added via __skb_put. Cc: Jeff Kirsher <[email protected]> Signed-off-by: Alexander Duyck <[email protected]> Acked-by: Jeff Kirsher <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net: Add functions for handling padding frame and adding to lengthAlexander Duyck2-1/+35
This patch adds two new helper functions skb_put_padto and eth_skb_pad. These functions deviate from the standard skb_pad or skb_padto in that they will also update the length and tail pointers so that they reflect the padding added to the frame. The eth_skb_pad helper is meant to be used with Ethernet devices to update either Rx or Tx frames so that they report the correct size. The skb_put_padto helper is meant to be used primarily in the transmit path for network devices that need frames to be padded up to some minimum size and don't wish to simply update the length somewhere external to the frame. The motivation behind this is that there are a number of implementations throughout the network device drivers that are all doing the same thing, but each a little bit differently and as a result several implementations contain bugs such as updating the length without updating the tail offset and other similar issues. Signed-off-by: Alexander Duyck <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'mlx5-next'David S. Miller7-14/+35
Eli Cohen says: ==================== mlx5 driver updates The following series contains some fixes to mlx5 as well as update to the list of supported devices. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08mlx5: Fix error flow in add_keysEli Cohen1-0/+3
If mlx5_core_create_mkey fails, decrease the pending counter to undo the previous increment. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08mlx5: Fix sparse warningsEli Cohen1-1/+15
1. Add required __acquire/__release statements to balance spinlock usage. 2. Change the index parameter of begin_wqe() to be unsigned to match supplied argument type. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Add more supported devicesEli Cohen1-1/+5
Add ConnectX-4LX to the list of supported devices as well as their virtual functions. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Clear outbox of dealloc uarMajd Dibbiny1-0/+1
The outbox should be cleared before executing the command. Signed-off-by: Majd Dibbiny <[email protected]> Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Print resource number on QP/SRQ async eventsEli Cohen1-2/+2
Useful for debugging purposes. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Remove unused dev cap enum fieldsEli Cohen1-8/+0
These enumerations are not used so remove them. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Fix command queue size enforcementEli Cohen1-1/+1
Command queue descriptor page size is 4KB and not the page size used by the kernel. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Fix min vectors value in mlx5_enable_msixEli Cohen1-1/+1
mlx5 requires at least one interrupt vector for completions so fix the minvec argument to pci_enable_msix_range() accordingly. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08net/mlx5_core: Request the mlx5 IB module on driver loadEli Cohen1-0/+7
Call request module on mlx5_ib so it will be available for applications requiring it, such as installers that require boot over IB. Signed-off-by: Eli Cohen <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08Merge branch 'r8169-next'David S. Miller1-11/+22
Chunhao Lin says: ==================== r8169:change hardware setting This patch series contains two hardware setting modification to prevent hardware become abnormal. ==================== Signed-off-by: David S. Miller <[email protected]>
2014-12-08r8169:disable rtl8168ep cmac engineChun-Hao Lin1-8/+22
Cmac engine is the bridge between driver and dash firmware. Other os may not disable cmac when leave. And r8169 did not allocate any resources for cmac engine. Disable it to prevent abnormal system behavior. Signed-off-by: Chunhao Lin <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2014-12-08r8169:prevent enable hardware tx/rx too earlyChun-Hao Lin1-3/+0
For RTL8168G/GU/H/EP and RTL8411B remove enable tx/rx from its own hw_start function. This will prevent enable tx/rx before complete hardware tx/rx setting. Tx/Rx will be enabled in the end of function rtl_hw_start_8168. Signed-off-by: Chunhao Lin <[email protected]> Signed-off-by: David S. Miller <[email protected]>