1. 01 Nov, 2016 12 commits
    • Jakub Kicinski's avatar
      nfp: add buffer drop/recycle helper for RX · e9949aeb
      Jakub Kicinski authored
      nfp_net_rx() is quite long already and about to get longer.
      Move buffer drop/recycle to a helper.
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e9949aeb
    • Jakub Kicinski's avatar
      nfp: centralize the buffer size calculation · bf187ea0
      Jakub Kicinski authored
      Add a helper function to calculate the buffer size at run time.
      Buffer lengths will now depend on the FW prepend configuration
      instead of assuming the most space consuming configuration and
      defaulting to 2k buffers at initialization time.
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf187ea0
    • Jakub Kicinski's avatar
      nfp: remove inline attributes and dead code · fa95f1d2
      Jakub Kicinski authored
      Don't declare functions as static inline in .c files and
      remove dead code it was hiding.
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      fa95f1d2
    • Jakub Kicinski's avatar
      nfp: remove unnecessary call to ether_setup() · 8c8b0e99
      Jakub Kicinski authored
      ether_setup() will be invoked by alloc_etherdev_mqs(), no need
      to call it again.
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8c8b0e99
    • Jakub Kicinski's avatar
      nfp: remove support for nfp3200 · 416db5c1
      Jakub Kicinski authored
      Drop all code related to nfp3200.  It was never widely deployed
      as a NIC.
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      416db5c1
    • Jakub Kicinski's avatar
      nfp: simplify nfp_net_poll() · 7ff5c83a
      Jakub Kicinski authored
      There are few variables in nfp_net_poll() which are used only
      once or unused but set.  Remove them.
      Signed-off-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7ff5c83a
    • David S. Miller's avatar
      Merge branch 'qed-next' · 6d052e9a
      David S. Miller authored
      Yuval Mintz says:
      
      ====================
      qed*: Fixes to "Allow unicast filtering"
      
      Commit 7b7e70f9 ("qed*: Allow unicast filtering") introduced several
      issues in driver. This series is intended to address and fix those.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6d052e9a
    • Mintz, Yuval's avatar
      qed: Correct VF mac number · b0fca312
      Mintz, Yuval authored
      When relaxing the limitation on the number of unicast MAC filters
      an interface can configure, qed started passing the MAC quota to
      qede. However, the value is initialized only for PFs, causing VFs
      to always try and configure themselves as promiscuous
      [as they believe they lack the resources to configure the rx-mode].
      
      Fixes: 7b7e70f9 ("qed*: Allow unicast filtering")
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b0fca312
    • Mintz, Yuval's avatar
      qede: Don't override priv_flags · 0183eb1c
      Mintz, Yuval authored
      Driver is now setting the ndev's priv_flags instead of adding to it,
      causing pktgen failure to utilize various features due to the loss
      of the IFF_TX_SKB_SHARING indication.
      
      Fixes: 7b7e70f9 ("qed*: Allow unicast filtering")
      Signed-off-by: default avatarYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0183eb1c
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · c5870942
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2016-10-31
      
      This series contains updates to i40e and i40evf.
      
      Colin Ian King fixes a minor issue with dev_err message where a new line
      character was missing from the end of the message.
      
      Jake provides several most of the changes in the series, starting with
      dropping the is_vf and is_netdev fields in the i40e_mac_filter structure
      since they are not needed (along with the checks that used these fields).
      Reason being that we use separate VSI's for SRIOV VFs and for netdev VSIs,
      therefore a single VSI should only have one type of filter.  Then
      simplifies our .set_rx_mode handler by using the kernel provided
      __dev_uc_sync and __dev_mc_sync functions for notification of add and
      deletion of filters.  Refactored the i40e_put_mac_in_vlan() to resolve
      an issue where this function was arbitrarily modifying all filters to
      have the same VLAN, which is incorrect because it could be modifying
      active filters without putting them into the new state.  Refactored the
      delete filter logic so that we can re-use the functionality, where
      appropriate, without having to search for the filter twice.  Reduced the
      latency of operations related to searching for specific MAC filters by
      using a static hash table instead of a list.  Reduced code duplication
      in the adminq command to add/delete for filters.  Fixed an issue where
      TSYNVALID bit was not being checked as the true indicator of whether
      the packet has an associated timestamp.  Cleaned up a second msleep()
      call by simply re-ordering the code so that the extra wait is no longer
      needed.
      
      Alan provides additional fix to the work Jake has been doing to resolve
      a bug where adding at least one VLAN and then removing all VLANs leaves
      the MAC filters for the VSI with an incorrect value for the VID which
      indicates the MAC filter's VLAN status.
      
      Alex adds a common method for finding a VSI by type.  Also cleaned up
      the logic for coalescing RS bits, which was convoluted and larger than
      it needed to be.
      
      Mitch fixes an issue with the failure to add filters when the VF driver
      is reloaded by simply setting the number of filters to 0 when freeing
      VF resources.
      
      Maciej implements a I40E_NVMUPD_STATE_ERROR state for NVM update, so
      that the driver has the ability to return NVM image write failure.
      
      Filip removes unreachable code which was found using static analysis
      where "if" statements were never in a "true/false" state, so clean up
      unnecessary if statements.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c5870942
    • Eric Dumazet's avatar
      net: set SK_MEM_QUANTUM to 4096 · bd68a2a8
      Eric Dumazet authored
      Systems with large pages (64KB pages for example) do not always have
      huge quantity of memory.
      
      A big SK_MEM_QUANTUM value leads to fewer interactions with the
      global counters (like tcp_memory_allocated) but might trigger
      memory pressure much faster, giving suboptimal TCP performance
      since windows are lowered to ridiculous values.
      
      Note that sysctl_mem units being in pages and in ABI, we also need
      to change sk_prot_mem_limits() accordingly.
      Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bd68a2a8
    • Paul Gortmaker's avatar
      net: cris: make eth_v10.c explicitly non-modular · a13925a4
      Paul Gortmaker authored
      The Makefile/Kconfig currently controlling compilation of this code is:
      
      drivers/net/cris/Makefile:obj-$(CONFIG_ETRAX_ARCH_V10) += eth_v10.o
      
      arch/cris/Kconfig:config ETRAX_ARCH_V10
      arch/cris/Kconfig:       bool
      
      ...meaning that it currently is not being built as a module by anyone.
      
      Lets remove the couple traces of modular infrastructure use, so that
      when reading the driver there is no doubt it is builtin-only.
      
      Since module_init translates to device_initcall in the non-modular
      case, the init ordering remains unchanged with this commit.
      
      There was a one line wrapper for the int init function, which made no
      sense; hence we just put the device_initcall on the true init function
      itself and delete the pointless wrapper.  In doing that we get rid of
      the following compile warning:
      
         WARNING: drivers/net/built-in.o(.text+0x1e28): Section mismatch in
         reference from the function etrax_init_module() to the function
         .init.text:etrax_ethernet_init()
      
      We don't replace module.h with init.h since the file already has that.
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Mikael Starvik <starvik@axis.com>
      Cc: Jesper Nilsson <jesper.nilsson@axis.com>
      Cc: netdev@vger.kernel.org
      Cc: linux-cris-kernel@axis.com
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a13925a4
  2. 31 Oct, 2016 28 commits