1. 16 May, 2016 33 commits
  2. 15 May, 2016 7 commits
    • David S. Miller's avatar
      Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue · f23e0f65
      David S. Miller authored
      Jeff Kirsher says:
      
      ====================
      40GbE Intel Wired LAN Driver Updates 2016-05-14
      
      This series contains updates to i40e and i40evf.
      
      Kevin adds support to disable link on all ports and changes bits set
      for telling firmware the PHY needs to be modified by the driver.
      
      Anjali adds a feature to enable/disable all multicast for a trusted
      VF.  Added priv-flag knob to configure global true promiscuous
      support.
      
      Shannon adds the support code for calling the admin queue API call
      aq_set_switch_config().
      
      Mitch modifies the VF, to log a message if an untrusted VF attempts to
      configure promiscuous mode, but lies to it and returns everything is ok
      instead of returning an error.  Corrects the logic for reporting the
      receive packet hash.  Fixed the adding of a broadcast filter for VFs,
      since that all VSIs are configured to receive broadcasts as default,
      so do not need to add a filter.
      
      Catherine refactors the ethtool get_settings to report the possible
      supported link modes from what we know about the current PHY type and
      that with the firmware supported PHY types.
      
      Jacob changes the driver to use WARN_ONCE in order to highlight the
      issue, but do not display a warning every time when receive hang
      message is received.
      
      Akeem corrects receive ptype payload layer for non_tunneled IPv6, when
      it should be layer 4 for UDP, instead of layer 3.
      
      Dan Carpenter fixes an uninitialized variable bug.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f23e0f65
    • David S. Miller's avatar
      Merge branch 'bnxt_en-next' · bf14e9ec
      David S. Miller authored
      Michael Chan says:
      
      ====================
      bnxt_en: updates for net-next.
      
      Non-critical bug fixes, improvements, a new ethtool feature, and a new
      device ID.
      
      v2: Fixed a bug in bnxt_get_module_eeprom() found by Ben Hutchings.
      
      Ajit Khaparde (2):
        bnxt_en: Add Support for ETHTOOL_GMODULEINFO and ETHTOOL_GMODULEEEPRO
        bnxt_en: Report PCIe link speed and width during driver load
      
      Michael Chan (6):
        bnxt_en: Reduce maximum ring pages if page size is 64K.
        bnxt_en: Improve the delay logic for firmware response.
        bnxt_en: Fix length value in dmesg log firmware error message.
        bnxt_en: Simplify and improve unsupported SFP+ module reporting.
        bnxt_en: Add BCM57314 device ID.
        bnxt_en: Use dma_rmb() instead of rmb().
      
      Satish Baddipadige (1):
        bnxt_en: Fix invalid max channel parameter in ethtool -l.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bf14e9ec
    • Michael Chan's avatar
      bnxt_en: Use dma_rmb() instead of rmb(). · b67daab0
      Michael Chan authored
      Use the weaker but more appropriate dma_rmb() to order the reading of
      the completion ring.
      Suggested-by: default avatarAjit Khaparde <ajit.khaparde@broadcom.com>
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b67daab0
    • Michael Chan's avatar
      5049e33b
    • Michael Chan's avatar
      bnxt_en: Simplify and improve unsupported SFP+ module reporting. · 10289bec
      Michael Chan authored
      The current code is more complicated than necessary and can only report
      unsupported SFP+ module if it is plugged in after the device is up.
      
      Rename bnxt_port_module_event() to bnxt_get_port_module_status().  We
      already have the current module_status in the link_info structure, so
      just check that and report any unsupported SFP+ module status.  Delete
      the unnecessary last_port_module_event.  Call this function at the
      end of bnxt_open to report unsupported module already plugged in.
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      10289bec
    • Michael Chan's avatar
      bnxt_en: Fix length value in dmesg log firmware error message. · 8578d6c1
      Michael Chan authored
      The len value in the hwrm error message is wrong.  Use the properly adjusted
      value in the variable len.
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8578d6c1
    • Michael Chan's avatar
      bnxt_en: Improve the delay logic for firmware response. · a11fa2be
      Michael Chan authored
      The current code has 2 problems:
      
      1. The maximum wait time is not long enough.  It is about 60% of the
      duration specified by the firmware.  It is calling usleep_range(600, 800)
      for every 1 msec we are supposed to wait.
      
      2. The granularity of the delay is too coarse.  Many simple firmware
      commands finish in 25 usec or less.
      
      We fix these 2 issues by multiplying the original 1 msec loop counter by
      40 and calling usleep_range(25, 40) for each iteration.
      
      There is also a second delay loop to wait for the last DMA word to
      complete.  This delay loop should be a very short 5 usec wait.
      
      This change results in much faster bring-up/down time:
      
      Before the patch:
      
      time ip link set p4p1 up
      
      real    0m0.120s
      user    0m0.001s
      sys     0m0.009s
      
      After the patch:
      
      time ip link set p4p1 up
      
      real    0m0.030s
      user    0m0.000s
      sys     0m0.010s
      Signed-off-by: default avatarMichael Chan <michael.chan@broadcom.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a11fa2be