1. 30 9月, 2020 1 次提交
    • H
      net: hns3: replace macro HNS3_MAX_NON_TSO_BD_NUM · fd665b3d
      Huazhong Tan 提交于
      Currently, the driver is able to query the device's specifications,
      which includes the maximum BD number of non TSO packet, so replace
      macro HNS3_MAX_NON_TSO_BD_NUM with the queried value, and rewrite
      macro HNS3_MAX_NON_TSO_SIZE whose value depends on the the maximum
      BD number of non TSO packet.
      
      Also, add a new parameter max_non_tso_bd_num to function
      hns3_tx_bd_num() and hns3_skb_need_linearized(), then they can get
      the maximum BD number of non TSO packet from the caller instead of
      calculating by themself, The note of hns3_skb_need_linearized()
      should be update as well.
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd665b3d
  2. 18 9月, 2020 5 次提交
  3. 09 9月, 2020 3 次提交
  4. 22 7月, 2020 1 次提交
    • Y
      net: hns3: fix for not calculating TX BD send size correctly · 48ae74c9
      Yunsheng Lin 提交于
      With GRO and fraglist support, the SKB can be aggregated to
      a total size of 65535, and when that SKB is forwarded through
      a bridge, the size of the SKB may be pushed to exceed the size
      of 65535 when br_dev_queue_push_xmit() is called.
      
      The max send size of BD supported by the HW is 65535, when a SKB
      with a headlen of over 65535 is sent to the driver, the driver
      needs to use multi BD to send the linear data, and the send size
      of the last BD is calculated incorrectly by the driver who is
      using '&' operation, which causes a TX error.
      
      Use '%' operation to fix this problem.
      
      Fixes: 3fe13ed9 ("net: hns3: avoid mult + div op in critical data path")
      Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      48ae74c9
  5. 19 6月, 2020 1 次提交
  6. 29 5月, 2020 1 次提交
  7. 15 5月, 2020 1 次提交
  8. 26 4月, 2020 2 次提交
  9. 22 4月, 2020 1 次提交
  10. 07 1月, 2020 1 次提交
  11. 06 11月, 2019 1 次提交
  12. 01 11月, 2019 1 次提交
  13. 22 10月, 2019 3 次提交
  14. 09 10月, 2019 1 次提交
    • Y
      net: hns3: support tx-scatter-gather-fraglist feature · 8ae10cfb
      Yunsheng Lin 提交于
      The hardware supports up to 8 TX BD for non-tso skb and up to
      63 TX BD for TSO skb. Currently, the hns3 driver supports RX skb
      with fraglist when HW GRO is enabled, when the stack forwards a
      RX skb with fraglist, the stack need to linearize the skb before
      sending to other interface without TX fraglist support.
      
      This patch adds support for TX fraglist. The performance increases
      from 1 GByte to 1.5 GByte for one iperf TCP stream during
      forwarding test after this patch. BTW, the minimum BD number of
      ring should be updated to 72 for supporting TX fraglist.
      
      This patch also changes the error handling of some function that
      called by hns3_fill_desc, which returns BD num when there is no
      error, change some macro to more meaningful name.
      Signed-off-by: NYunsheng Lin <linyunsheng@huawei.com>
      Signed-off-by: NHuazhong Tan <tanhuazhong@huawei.com>
      Signed-off-by: NJakub Kicinski <jakub.kicinski@netronome.com>
      8ae10cfb
  15. 30 8月, 2019 1 次提交
  16. 19 8月, 2019 1 次提交
  17. 10 8月, 2019 2 次提交
  18. 02 8月, 2019 1 次提交
  19. 29 7月, 2019 1 次提交
  20. 06 7月, 2019 1 次提交
  21. 29 6月, 2019 2 次提交
  22. 15 6月, 2019 1 次提交
  23. 04 6月, 2019 1 次提交
  24. 29 5月, 2019 1 次提交
  25. 08 5月, 2019 3 次提交
  26. 27 4月, 2019 1 次提交
  27. 20 4月, 2019 1 次提交