Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2ce0af8f authored by David S. Miller's avatar David S. Miller
Browse files

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: default avatarDavid S. Miller <davem@davemloft.net>
parents 0ace81ec 5c5f2609
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -727,9 +727,6 @@ struct core_tx_bd_flags {
#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_SHIFT 7
#define CORE_TX_BD_FLAGS_ROCE_FLAV_MASK		0x1
#define CORE_TX_BD_FLAGS_ROCE_FLAV_SHIFT	12

};

struct core_tx_bd {
+1 −0
Original line number Diff line number Diff line
@@ -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 <<
	    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_ROCE_FLAV, type);
	DMA_REGPAIR_LE(start_bd->addr, first_frag);
	start_bd->nbytes = cpu_to_le16(first_frag_len);

+8 −9
Original line number Diff line number Diff line
@@ -839,15 +839,7 @@ static void qed_update_pf_params(struct qed_dev *cdev,
{
	int i;

	for (i = 0; i < cdev->num_hwfns; i++) {
		struct qed_hwfn *p_hwfn = &cdev->hwfns[i];

		p_hwfn->pf_params = *params;
	}

	if (!IS_ENABLED(CONFIG_QED_RDMA))
		return;

	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 */
@@ -855,6 +847,13 @@ static void qed_update_pf_params(struct qed_dev *cdev,
		params->rdma_pf_params.gl_pi = QED_ROCE_PROTOCOL_INDEX;
	}

	for (i = 0; i < cdev->num_hwfns; i++) {
		struct qed_hwfn *p_hwfn = &cdev->hwfns[i];

		p_hwfn->pf_params = *params;
	}
}

static int qed_slowpath_start(struct qed_dev *cdev,
			      struct qed_slowpath_params *params)
{