1. 11 5月, 2018 1 次提交
  2. 30 3月, 2018 1 次提交
    • M
      qed*: Utilize FW 8.33.11.0 · 50bc60cb
      Michal Kalderon 提交于
      This FW contains several fixes and features
      
      RDMA Features
      - SRQ support
      - XRC support
      - Memory window support
      - RDMA low latency queue support
      - RDMA bonding support
      
      RDMA bug fixes
      - RDMA remote invalidate during retransmit fix
      - iWARP MPA connect interop issue with RTR fix
      - iWARP Legacy DPM support
      - Fix MPA reject flow
      - iWARP error handling
      - RQ WQE validation checks
      
      MISC
      - Fix some HSI types endianity
      - New Restriction: vlan insertion in core_tx_bd_data can't be set
        for LB packets
      
      ETH
      - HW QoS offload support
      - Fix vlan, dcb and sriov flow of VF sending a packet with
        inband VLAN tag instead of default VLAN
      - Allow GRE version 1 offloads in RX flow
      - Allow VXLAN steering
      
      iSCSI / FcoE
      - Fix bd availability checking flow
      - Support 256th sge proerly in iscsi/fcoe retransmit
      - Performance improvement
      - Fix handle iSCSI command arrival with AHS and with immediate
      - Fix ipv6 traffic class configuration
      
      DEBUG
      - Update debug utilities
      Signed-off-by: NMichal Kalderon <Michal.Kalderon@cavium.com>
      Signed-off-by: NTomer Tayar <Tomer.Tayar@cavium.com>
      Signed-off-by: NManish Rangankar <Manish.Rangankar@cavium.com>
      Signed-off-by: NAriel Elior <Ariel.Elior@cavium.com>
      Acked-by: NJason Gunthorpe <jgg@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      50bc60cb
  3. 03 1月, 2018 2 次提交
  4. 31 8月, 2017 1 次提交
  5. 27 7月, 2017 1 次提交
  6. 03 7月, 2017 2 次提交
  7. 15 6月, 2017 1 次提交
  8. 05 6月, 2017 8 次提交
  9. 25 5月, 2017 1 次提交
  10. 19 5月, 2017 1 次提交
  11. 25 4月, 2017 3 次提交
  12. 18 4月, 2017 1 次提交
  13. 07 4月, 2017 1 次提交
    • R
      qed: Don't use main-ptt in unrelated flows · 15582962
      Rahul Verma 提交于
      In order to access HW registers driver needs to acquire a PTT entry
      [mapping between bar memory and internal chip address].
      Since acquiring PTT entries could fail [at least in theory] as their
      number is finite and other flows can hold them, we reserve special PTT
      entries for 'important' enough flows - ones we want to guarantee that
      would not be susceptible to such issues.
      
      One such special entry is the 'main' PTT which is meant to be used in
      flows such as chip initialization and de-initialization.
      However, there are other flows that are also using that same entry
      for their own purpose, and might run concurrently with the original
      flows [notice that for most cases using the main-ptt by mistake, such
      a race is still impossible, at least today].
      
      This patch re-organizes the various functions that currently use the
      main_ptt in one of two ways:
      
        - If a function shouldn't use the main_ptt it starts acquiring and
          releasing it's own PTT entry and use it instead. Notice if those
          functions previously couldn't fail, they now can [as acquisition
          might fail].
      
        - Change the prototypes so that the main_ptt would be received as
          a parameter [instead of explicitly accessing it].
          This prevents the future risk of adding codes that introduces new
          use-cases for flows using the main_ptt, ones that might be in race
          with the actual 'main' flows.
      Signed-off-by: NRahul Verma <Rahul.Verma@cavium.com>
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      15582962
  14. 04 4月, 2017 1 次提交
  15. 15 3月, 2017 1 次提交
  16. 16 2月, 2017 1 次提交
  17. 18 1月, 2017 1 次提交
  18. 02 1月, 2017 4 次提交
  19. 01 12月, 2016 1 次提交
    • M
      qed*: Handle-based L2-queues. · 3da7a37a
      Mintz, Yuval 提交于
      The driver needs to maintain several FW/HW-indices for each one of
      its queues. Currently, that mapping is done by the QED where it uses
      an rx/tx array of so-called hw-cids, populating them whenever a new
      queue is opened and clearing them upon destruction of said queues.
      
      This maintenance is far from ideal - there's no real reason why
      QED needs to maintain such a data-structure. It becomes even worse
      when considering the fact that the PF's queues and its child VFs' queues
      are all mapped into the same data-structure.
      As a by-product, the set of parameters an interface needs to supply for
      queue APIs is non-trivial, and some of the variables in the API
      structures have different meaning depending on their exact place
      in the configuration flow.
      
      This patch re-organizes the way L2 queues are configured and maintained.
      In short:
        - Required parameters for queue init are now well-defined.
        - Qed would allocate a queue-cid based on parameters.
          Upon initialization success, it would return a handle to caller.
        - Queue-handle would be maintained by entity requesting queue-init,
          not necessarily qed.
        - All further queue-APIs [update, destroy] would use the opaque
          handle as reference for the queue instead of various indices.
      
      The possible owners of such handles:
        - PF queues [qede] - complete handles based on provided configuration.
        - VF queues [qede] - fw-context-less handles, containing only relative
          information; Only the PF-side would need the absolute indices
          for configuration, so they're omitted here.
        - VF queues [qed, PF-side] - complete handles based on VF initialization.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3da7a37a
  20. 01 11月, 2016 2 次提交
  21. 14 10月, 2016 1 次提交
  22. 10 9月, 2016 1 次提交
    • B
      qed: mark symbols static where possible · ba56947a
      Baoyou Xie 提交于
      We get a few warnings when building kernel with W=1:
      drivers/net/ethernet/qlogic/qed/qed_l2.c:112:5: warning: no previous prototype for 'qed_sp_vport_start' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:110:6: warning: no previous prototype for 'qed_iov_is_valid_vfid' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:188:5: warning: no previous prototype for 'qed_iov_post_vf_bulletin' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:578:6: warning: no previous prototype for 'qed_iov_set_vfs_to_disable' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:1135:28: warning: no previous prototype for 'qed_iov_get_public_vf_info' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:1148:6: warning: no previous prototype for 'qed_iov_clean_vf' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:2444:5: warning: no previous prototype for 'qed_iov_chk_ucast' [-Wmissing-prototypes]
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:2762:5: warning: no previous prototype for 'qed_iov_vf_flr_cleanup' [-Wmissing-prototypes]
      ....
      
      In fact, these functions are only used in the file in which they are
      declared and don't need a declaration, but can be made static.
      so this patch marks these functions with 'static'.
      Signed-off-by: NBaoyou Xie <baoyou.xie@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ba56947a
  23. 23 8月, 2016 3 次提交