1. 14 3月, 2015 3 次提交
  2. 12 3月, 2015 1 次提交
  3. 10 3月, 2015 1 次提交
  4. 09 3月, 2015 2 次提交
  5. 08 3月, 2015 1 次提交
    • P
      net: bcmgenet: rework Rx queue init · 6f5a272c
      Petri Gynther 提交于
      In preparation for supporting multiple Rx queues:
      1. Move the initialization of priv->num_rx_bds, priv->rx_bds, and
         priv->rx_cbs from bcmgenet_init_rx_ring() to bcmgenet_init_dma()
         since they are not specific to a single Rx queue. Mimics the Tx
         init model where priv->num_tx_bds, priv->tx_bds, and priv->tx_cbs
         are initialized in bcmgenet_init_dma().
      2. Program DMA_MBUF_DONE_THRESH = 1 so that future Rx queues Q0-Q15
         will get per-packet Rx interrupt.
      3. Group DMA_START_ADDR, RDMA_READ_PTR, RDMA_WRITE_PTR, and DMA_END_ADDR
         initialization together. Mimics the Tx init model.
      4. There is 1-to-1 mapping between RxCBs and RxBDs.
         Precalculate RxCB->bd_addr so that it can be used in the future.
      Signed-off-by: NPetri Gynther <pgynther@google.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6f5a272c
  6. 07 3月, 2015 3 次提交
  7. 06 3月, 2015 3 次提交
    • E
      tg3: use napi_complete_done() · 24d2e4a5
      Eric Dumazet 提交于
      Using napi_complete_done() instead of napi_complete() allows
      us to use /sys/class/net/ethX/gro_flush_timeout
      
      GRO layer can aggregate more packets if the flush is delayed a bit,
      without having to set too big coalescing parameters that impact
      latencies.
      
      Tested:
      
      lpx:~# echo 0 >/sys/class/net/eth1/gro_flush_timeout
      
      lpx:~# sar -n DEV 1 10 | grep eth1
      10:36:25 AM      eth1  81290.00  40617.00 120479.67   2777.01      0.00      0.00      0.00
      10:36:26 AM      eth1  81283.00  40608.00 120481.81   2778.13      0.00      0.00      1.00
      10:36:27 AM      eth1  81304.00  40639.00 120518.42   2778.28      0.00      0.00      0.00
      10:36:28 AM      eth1  81255.00  40605.00 120437.34   2775.95      0.00      0.00      1.00
      10:36:29 AM      eth1  81306.00  40630.00 120521.44   2777.70      0.00      0.00      0.00
      10:36:30 AM      eth1  81286.00  40564.00 120480.20   2773.31      0.00      0.00      0.00
      10:36:31 AM      eth1  81256.00  40599.00 120438.81   2776.27      0.00      0.00      0.00
      10:36:32 AM      eth1  81287.00  40594.00 120480.69   2776.69      0.00      0.00      0.00
      10:36:33 AM      eth1  81279.00  40601.00 120478.53   2775.84      0.00      0.00      0.00
      10:36:34 AM      eth1  81277.00  40610.00 120476.94   2776.25      0.00      0.00      0.00
      Average:         eth1  81282.30  40606.70 120479.39   2776.54      0.00      0.00      0.20
      
      lpx:~# echo 13000 >/sys/class/net/eth1/gro_flush_timeout
      
      lpx:~# sar -n DEV 1 10 | grep eth1
      10:36:43 AM      eth1  81257.00   7747.00 120437.44    530.00      0.00      0.00      0.00
      10:36:44 AM      eth1  81278.00   7748.00 120480.00    529.85      0.00      0.00      0.00
      10:36:45 AM      eth1  81282.00   7752.00 120479.09    531.09      0.00      0.00      0.00
      10:36:46 AM      eth1  81282.00   7751.00 120478.80    530.90      0.00      0.00      0.00
      10:36:47 AM      eth1  81276.00   7745.00 120478.31    529.64      0.00      0.00      0.00
      10:36:48 AM      eth1  81278.00   7747.00 120478.50    529.81      0.00      0.00      0.00
      10:36:49 AM      eth1  81282.00   7749.00 120478.88    530.01      0.00      0.00      0.00
      10:36:50 AM      eth1  81284.00   7751.00 120481.52    530.20      0.00      0.00      0.00
      10:36:51 AM      eth1  81299.00   7769.00 120481.74    533.81      0.00      0.00      0.00
      10:36:52 AM      eth1  81281.00   7748.00 120478.62    529.96      0.00      0.00      0.00
      Average:         eth1  81279.90   7750.70 120475.29    530.53      0.00      0.00      0.00
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Acked-by: NMichael Chan <mchan@broadcom.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24d2e4a5
    • F
      net: bcmgenet: properly disable password matching · 386668a6
      Florian Fainelli 提交于
      bcmgenet_set_wol() correctly sets MPD_PW_EN when a password is specified
      to match magic packets against, however, when we switch from a
      password-matching to a matching without password we would leave this bit
      turned on, and GENET would only match magic packets with passwords.
      
      This can be reproduced using the following sequence:
      
      ethtool -s eth0 wol g
      ethtool -s eth0 wol s sopass 00:11:22:33:44:55
      ethtool -s eth0 wol g
      
      The simple fix is to clear the MPD_PWD_EN bit when WAKE_MAGICSECURE is
      not set.
      
      Fixes: c51de7f3 ("net: bcmgenet: add Wake-on-LAN support code")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      386668a6
    • B
      bnx2x: Force fundamental reset for EEH recovery · da293700
      Brian King 提交于
      EEH recovery for bnx2x based adapters is not reliable on all Power
      systems using the default hot reset, which can result in an
      unrecoverable EEH error. Forcing the use of fundamental reset
      during EEH recovery fixes this.
      
      Cc: stable<stable@vger.kernel.org>
      Signed-off-by: NBrian King <brking@linux.vnet.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      da293700
  8. 05 3月, 2015 2 次提交
    • P
      net: bcmgenet: simplify __bcmgenet_tx_reclaim() · 66d06757
      Petri Gynther 提交于
      1. Use c_index and ring->c_index to determine how many TxCBs/TxBDs are
         ready for cleanup
         - c_index = the current value of TDMA_CONS_INDEX
         - TDMA_CONS_INDEX is HW-incremented and auto-wraparound (0x0-0xFFFF)
         - ring->c_index = __bcmgenet_tx_reclaim() cleaned up to this point on
           the previous invocation
      
      2. Add bcmgenet_tx_ring->clean_ptr
         - index of the next TxCB to be cleaned
         - incremented as TxCBs/TxBDs are processed
         - value always in range [ring->cb_ptr, ring->end_ptr]
      
      3. Fix incrementing of dev->stats.tx_packets
         - should be incremented only when tx_cb_ptr->skb != NULL
      
      These changes simplify __bcmgenet_tx_reclaim(). Furthermore, Tx ring size
      can now be any value.
      
      With the old code, Tx ring size had to be a power-of-2:
         num_tx_bds = ring->size;
         c_index &= (num_tx_bds - 1);
         last_c_index &= (num_tx_bds - 1);
      Signed-off-by: NPetri Gynther <pgynther@google.com>
      Reviewed-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      66d06757
    • N
      bcm63xx_enet: fix poll callback. · cd33ccf5
      Nicolas Schichan 提交于
      In case there was some tx buffer reclaimed and not enough rx packets
      to consume the whole budget, napi_complete would not be called and
      interrupts would be kept disabled, effectively resulting in the
      network core never to call the poll callback again and no rx/tx
      interrupts to be fired either.
      
      Fix that by only accounting the rx work done in the poll callback.
      Signed-off-by: NNicolas Schichan <nschichan@freebox.fr>
      Acked-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd33ccf5
  9. 04 3月, 2015 1 次提交
  10. 02 3月, 2015 3 次提交
    • I
      bnx2: disable toggling of rxvlan if necessary · 26caa346
      Ivan Vecera 提交于
      The bnx2 driver uses .ndo_fix_features to force enable of Rx VLAN tag
      stripping when the card cannot disable it. The driver should remove
      NETIF_F_HW_VLAN_CTAG_RX flag from hw_features instead so it is fixed
      for the ethtool.
      
      Cc: Sony Chacko <sony.chacko@qlogic.com>
      Cc: Dept-HSGLinuxNICDev@qlogic.com
      Signed-off-by: NIvan Vecera <ivecera@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      26caa346
    • F
      net: systemport: fix software maintained statistics · 55ff4ea9
      Florian Fainelli 提交于
      Commit 60b4ea17 ("net: systemport: log RX buffer allocation and RX/TX DMA
      failures") added a few software maintained statistics using
      BCM_SYSPORT_STAT_MIB_RX and BCM_SYSPORT_STAT_MIB_TX. These statistics are read
      from the hardware MIB counters, such that bcm_sysport_update_mib_counters() was
      trying to read from a non-existing MIB offset for these counters.
      
      Fix this by introducing a special type: BCM_SYSPORT_STAT_SOFT, similar to
      BCM_SYSPORT_STAT_NETDEV, such that bcm_sysport_get_ethtool_stats will read from
      the software mib.
      
      Fixes: 60b4ea17 ("net: systemport: log RX buffer allocation and RX/TX DMA failures")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      55ff4ea9
    • F
      net: bcmgenet: fix software maintained statistics · f62ba9c1
      Florian Fainelli 提交于
      Commit 44c8bc3c ("net: bcmgenet: log RX buffer allocation and RX/TX dma
      failures") added a few software maintained statistics using
      BCMGENET_STAT_MIB_RX and BCMGENET_STAT_MIB_TX. These statistics are read from
      the hardware MIB counters, such that bcmgenet_update_mib_counters() was trying
      to read from a non-existing MIB offset for these counters.
      
      Fix this by introducing a special type: BCMGENET_STAT_SOFT, similar to
      BCMGENET_STAT_NETDEV, such that bcmgenet_get_ethtool_stats will read from the
      software mib.
      
      Fixes: 44c8bc3c ("net: bcmgenet: log RX buffer allocation and RX/TX dma failures")
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f62ba9c1
  11. 01 3月, 2015 1 次提交
  12. 25 2月, 2015 4 次提交
  13. 21 2月, 2015 3 次提交
  14. 12 2月, 2015 4 次提交
  15. 06 2月, 2015 1 次提交
  16. 27 1月, 2015 1 次提交
  17. 20 1月, 2015 2 次提交
  18. 15 1月, 2015 3 次提交
  19. 14 1月, 2015 1 次提交