Merge branch 'qed-fixes'
Yuval Mintz says: ==================== qed: Fix RoCE infrastructure This series fixes 2 basic issues with RoCE support, one handles a missing configuration in the initial infrastructure support while the other is a regression introduced by one of the initial fix submissions. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Коммит
2ce0af8fd0
|
@ -727,9 +727,6 @@ struct core_tx_bd_flags {
|
||||||
#define CORE_TX_BD_FLAGS_L4_PROTOCOL_SHIFT 6
|
#define CORE_TX_BD_FLAGS_L4_PROTOCOL_SHIFT 6
|
||||||
#define CORE_TX_BD_FLAGS_L4_PSEUDO_CSUM_MODE_MASK 0x1
|
#define CORE_TX_BD_FLAGS_L4_PSEUDO_CSUM_MODE_MASK 0x1
|
||||||
#define CORE_TX_BD_FLAGS_L4_PSEUDO_CSUM_MODE_SHIFT 7
|
#define CORE_TX_BD_FLAGS_L4_PSEUDO_CSUM_MODE_SHIFT 7
|
||||||
#define CORE_TX_BD_FLAGS_ROCE_FLAV_MASK 0x1
|
|
||||||
#define CORE_TX_BD_FLAGS_ROCE_FLAV_SHIFT 12
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct core_tx_bd {
|
struct core_tx_bd {
|
||||||
|
|
|
@ -1119,6 +1119,7 @@ static void qed_ll2_prepare_tx_packet_set_bd(struct qed_hwfn *p_hwfn,
|
||||||
start_bd->bd_flags.as_bitfield |= CORE_TX_BD_FLAGS_START_BD_MASK <<
|
start_bd->bd_flags.as_bitfield |= CORE_TX_BD_FLAGS_START_BD_MASK <<
|
||||||
CORE_TX_BD_FLAGS_START_BD_SHIFT;
|
CORE_TX_BD_FLAGS_START_BD_SHIFT;
|
||||||
SET_FIELD(start_bd->bitfield0, CORE_TX_BD_NBDS, num_of_bds);
|
SET_FIELD(start_bd->bitfield0, CORE_TX_BD_NBDS, num_of_bds);
|
||||||
|
SET_FIELD(start_bd->bitfield0, CORE_TX_BD_ROCE_FLAV, type);
|
||||||
DMA_REGPAIR_LE(start_bd->addr, first_frag);
|
DMA_REGPAIR_LE(start_bd->addr, first_frag);
|
||||||
start_bd->nbytes = cpu_to_le16(first_frag_len);
|
start_bd->nbytes = cpu_to_le16(first_frag_len);
|
||||||
|
|
||||||
|
|
|
@ -839,20 +839,19 @@ static void qed_update_pf_params(struct qed_dev *cdev,
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
if (IS_ENABLED(CONFIG_QED_RDMA)) {
|
||||||
|
params->rdma_pf_params.num_qps = QED_ROCE_QPS;
|
||||||
|
params->rdma_pf_params.min_dpis = QED_ROCE_DPIS;
|
||||||
|
/* divide by 3 the MRs to avoid MF ILT overflow */
|
||||||
|
params->rdma_pf_params.num_mrs = RDMA_MAX_TIDS;
|
||||||
|
params->rdma_pf_params.gl_pi = QED_ROCE_PROTOCOL_INDEX;
|
||||||
|
}
|
||||||
|
|
||||||
for (i = 0; i < cdev->num_hwfns; i++) {
|
for (i = 0; i < cdev->num_hwfns; i++) {
|
||||||
struct qed_hwfn *p_hwfn = &cdev->hwfns[i];
|
struct qed_hwfn *p_hwfn = &cdev->hwfns[i];
|
||||||
|
|
||||||
p_hwfn->pf_params = *params;
|
p_hwfn->pf_params = *params;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!IS_ENABLED(CONFIG_QED_RDMA))
|
|
||||||
return;
|
|
||||||
|
|
||||||
params->rdma_pf_params.num_qps = QED_ROCE_QPS;
|
|
||||||
params->rdma_pf_params.min_dpis = QED_ROCE_DPIS;
|
|
||||||
/* divide by 3 the MRs to avoid MF ILT overflow */
|
|
||||||
params->rdma_pf_params.num_mrs = RDMA_MAX_TIDS;
|
|
||||||
params->rdma_pf_params.gl_pi = QED_ROCE_PROTOCOL_INDEX;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int qed_slowpath_start(struct qed_dev *cdev,
|
static int qed_slowpath_start(struct qed_dev *cdev,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче