1. 27 5月, 2019 2 次提交
  2. 14 11月, 2018 1 次提交
    • M
      qed: Fix rdma_info structure allocation · 291d57f6
      Michal Kalderon 提交于
      Certain flows need to access the rdma-info structure, for example dcbx
      update flows. In some cases there can be a race between the allocation or
      deallocation of the structure which was done in roce start / roce stop and
      an asynchrounous dcbx event that tries to access the structure.
      For this reason, we move the allocation of the rdma_info structure to be
      similar to the iscsi/fcoe info structures which are allocated during device
      setup.
      We add a new field of "active" to the struct to define whether roce has
      already been started or not, and this is checked instead of whether the
      pointer to the info structure.
      
      Fixes: 51ff1725 ("qed: Add support for RoCE hw init")
      Signed-off-by: NMichal Kalderon <michal.kalderon@cavium.com>
      Signed-off-by: NDenis Bolotin <denis.bolotin@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      291d57f6
  3. 09 11月, 2018 1 次提交
  4. 27 9月, 2018 1 次提交
  5. 02 8月, 2018 1 次提交
    • Y
      qed: Make some functions static · bf774d14
      YueHaibing 提交于
      Fixes the following sparse warning:
      
      drivers/net/ethernet/qlogic/qed/qed_cxt.c:1534:6: warning: symbol 'qed_cm_init_pf' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_dev.c:233:4: warning: symbol 'qed_init_qm_get_num_tcs' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_dev.c:238:5: warning: symbol 'qed_init_qm_get_num_vfs' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_dev.c:246:5: warning: symbol 'qed_init_qm_get_num_pf_rls' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_dev.c:264:5: warning: symbol 'qed_init_qm_get_num_vports' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_dev.c:276:5: warning: symbol 'qed_init_qm_get_num_pqs' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_mcp.c:573:5: warning: symbol 'qed_mcp_nvm_wr_cmd' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_mcp.c:3012:1: warning: symbol '__qed_mcp_resc_lock' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_dcbx.c:870:6: warning: symbol 'qed_dcbx_aen' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_debug.c:7841:5: warning: symbol 'qed_dbg_nvm_image_length' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_debug.c:7857:5: warning: symbol 'qed_dbg_nvm_image' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:675:6: warning: symbol '_qed_iov_pf_sanity_check' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:690:6: warning: symbol 'qed_iov_pf_sanity_check' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_sriov.c:3982:6: warning: symbol 'qed_iov_pf_get_pending_events' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_vf.c:172:5: warning: symbol '_qed_vf_pf_release' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_rdma.c:137:5: warning: symbol 'qed_rdma_get_sb_id' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_rdma.c:709:5: warning: symbol 'qed_rdma_stop' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_ll2.c:161:6: warning: symbol 'qed_ll2b_complete_rx_packet' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_roce.c:160:6: warning: symbol 'qed_roce_free_cid_pair' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:380:12: warning: symbol 'iwarp_state_names' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:946:1: warning: symbol 'qed_iwarp_parse_private_data' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:971:1: warning: symbol 'qed_iwarp_mpa_reply_arrived' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:2504:1: warning: symbol 'qed_iwarp_ll2_slowpath' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:2806:6: warning: symbol 'qed_iwarp_qp_in_error' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:2827:6: warning: symbol 'qed_iwarp_exception_received' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iwarp.c:2958:1: warning: symbol 'qed_iwarp_connect_complete' was not declared. Should it be static?
      drivers/net/ethernet/qlogic/qed/qed_iscsi.c:876:6: warning: symbol 'qed_iscsi_free_connection' was not declared. Should it be static?
      Signed-off-by: NYueHaibing <yuehaibing@huawei.com>
      Acked-by: NDenis Bolotin <Denis.Bolotin@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bf774d14
  6. 05 6月, 2018 2 次提交
  7. 13 3月, 2018 1 次提交
  8. 08 3月, 2018 1 次提交
    • M
      qed: Free RoCE ILT Memory on rmmod qedr · 9de506a5
      Michal Kalderon 提交于
      Rdma requires ILT Memory to be allocated for it's QPs.
      Each ILT entry points to a page used by several Rdma QPs.
      To avoid allocating all the memory in advance, the rdma
      implementation dynamically allocates memory as more QPs are
      added, however it does not dynamically free the memory.
      The memory should have been freed on rmmod qedr, but isn't.
      This patch adds the memory freeing on rmmod qedr (currently
      it will be freed with qed is removed).
      
      An outcome of this bug, is that if qedr is unloaded and loaded
      without unloaded qed, there will be no more RoCE traffic.
      
      The reason these are related, is that the logic of detecting the
      first QP ever opened is by asking whether ILT memory for RoCE has
      been allocated.
      
      In addition, this patch modifies freeing of the Task context to
      always use the PROTOCOLID_ROCE and not the protocol passed,
      this is because task context for iWARP and ROCE both use the
      ROCE protocol id, as opposed to the connection context.
      
      Fixes: dbb799c3 ("qed: Initialize hardware for new protocols")
      Signed-off-by: NMichal Kalderon <Michal.Kalderon@cavium.com>
      Signed-off-by: NAriel Elior <Ariel.Elior@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9de506a5
  9. 26 1月, 2018 1 次提交
  10. 25 1月, 2018 2 次提交
  11. 03 1月, 2018 1 次提交
  12. 27 9月, 2017 3 次提交
  13. 03 7月, 2017 3 次提交
  14. 22 6月, 2017 4 次提交
  15. 21 6月, 2017 3 次提交
  16. 10 6月, 2017 3 次提交
  17. 02 6月, 2017 1 次提交
    • M
      qed: Hold a single array for SBs · 50a20714
      Mintz, Yuval 提交于
      A PF today holds 2 different arrays - one holding information
      about the HW configuration and one holding information about
      the SBs that are used by the protocol drivers.
      These arrays aren't really connected - e.g., protocol driver
      initializing a given SB would not mark the same SB as occupied
      in the HW shadow array.
      
      Move into a single array [at least for PFs] - hold the mapping
      of the driver-protocol SBs on the HW entry which they configure.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      50a20714
  18. 19 5月, 2017 1 次提交
  19. 01 5月, 2017 5 次提交
  20. 04 4月, 2017 1 次提交
  21. 14 3月, 2017 1 次提交
  22. 21 2月, 2017 1 次提交