diff options
author | Ram Amrani <Ram.Amrani@cavium.com> | 2016-11-09 15:48:44 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-10 12:55:20 -0500 |
commit | 5c5f26090840951b4102d9a1e6db9aac41101e5a (patch) | |
tree | 52327a6597711cc7be6b3bfa097d1b4ed85aed06 | |
parent | 8d1d8fcb21cfc4a65731760c3100920f929e8f3d (diff) |
qed: Correct rdma params configuration
Previous fix has broken RoCE support as the rdma_pf_params are now
being set into the parameters only after the params are alrady assigned
into the hw-function.
Fixes: 0189efb8f4f8 ("qed*: Fix Kconfig dependencies with INFINIBAND_QEDR")
Signed-off-by: Ram Amrani <Ram.Amrani@cavium.com>
Signed-off-by: Yuval Mintz <Yuval.Mintz@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/ethernet/qlogic/qed/qed_main.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index c418360ba02a..333c7442e48a 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c | |||
@@ -839,20 +839,19 @@ static void qed_update_pf_params(struct qed_dev *cdev, | |||
839 | { | 839 | { |
840 | int i; | 840 | int i; |
841 | 841 | ||
842 | if (IS_ENABLED(CONFIG_QED_RDMA)) { | ||
843 | params->rdma_pf_params.num_qps = QED_ROCE_QPS; | ||
844 | params->rdma_pf_params.min_dpis = QED_ROCE_DPIS; | ||
845 | /* divide by 3 the MRs to avoid MF ILT overflow */ | ||
846 | params->rdma_pf_params.num_mrs = RDMA_MAX_TIDS; | ||
847 | params->rdma_pf_params.gl_pi = QED_ROCE_PROTOCOL_INDEX; | ||
848 | } | ||
849 | |||
842 | for (i = 0; i < cdev->num_hwfns; i++) { | 850 | for (i = 0; i < cdev->num_hwfns; i++) { |
843 | struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; | 851 | struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; |
844 | 852 | ||
845 | p_hwfn->pf_params = *params; | 853 | p_hwfn->pf_params = *params; |
846 | } | 854 | } |
847 | |||
848 | if (!IS_ENABLED(CONFIG_QED_RDMA)) | ||
849 | return; | ||
850 | |||
851 | params->rdma_pf_params.num_qps = QED_ROCE_QPS; | ||
852 | params->rdma_pf_params.min_dpis = QED_ROCE_DPIS; | ||
853 | /* divide by 3 the MRs to avoid MF ILT overflow */ | ||
854 | params->rdma_pf_params.num_mrs = RDMA_MAX_TIDS; | ||
855 | params->rdma_pf_params.gl_pi = QED_ROCE_PROTOCOL_INDEX; | ||
856 | } | 855 | } |
857 | 856 | ||
858 | static int qed_slowpath_start(struct qed_dev *cdev, | 857 | static int qed_slowpath_start(struct qed_dev *cdev, |