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

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

Merge branch 'hns3-next'



Peng Li says:

====================
net: hns3: add support ethtool_ops.{set|get}_coalesce for VF

This patch-set adds ethtool_ops.{get|set}_coalesce to VF and
fix one related bug.

HNS3 PF and VF driver use the common enet layer, as the
ethtool_ops.{get|set}_coalesce to PF have upstreamed,  just
need add the ops to hns3vf_ethtool_ops.

[Patch 1/2] fix a related bug for the VF ethtool_ops.{set|
get}_coalesce.
====================

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents e2d6e64b 79eee410
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -1109,6 +1109,8 @@ static const struct ethtool_ops hns3vf_ethtool_ops = {
	.set_rxfh = hns3_set_rss,
	.get_link_ksettings = hns3_get_link_ksettings,
	.get_channels = hns3_get_channels,
	.get_coalesce = hns3_get_coalesce,
	.set_coalesce = hns3_set_coalesce,
};

static const struct ethtool_ops hns3_ethtool_ops = {
+8 −0
Original line number Diff line number Diff line
@@ -116,6 +116,9 @@ static int hclge_get_ring_chain_from_mbx(
	hnae_set_bit(ring_chain->flag, HNAE3_RING_TYPE_B, req->msg[3]);
	ring_chain->tqp_index =
			hclge_get_queue_id(vport->nic.kinfo.tqp[req->msg[4]]);
	hnae_set_field(ring_chain->int_gl_idx, HCLGE_INT_GL_IDX_M,
		       HCLGE_INT_GL_IDX_S,
		       req->msg[5]);

	cur_chain = ring_chain;

@@ -133,6 +136,11 @@ static int hclge_get_ring_chain_from_mbx(
			[req->msg[HCLGE_RING_NODE_VARIABLE_NUM * i +
			HCLGE_RING_MAP_MBX_BASIC_MSG_NUM + 1]]);

		hnae_set_field(new_chain->int_gl_idx, HCLGE_INT_GL_IDX_M,
			       HCLGE_INT_GL_IDX_S,
			       req->msg[HCLGE_RING_NODE_VARIABLE_NUM * i +
			       HCLGE_RING_MAP_MBX_BASIC_MSG_NUM + 2]);

		cur_chain->next = new_chain;
		cur_chain = new_chain;
	}
+5 −0
Original line number Diff line number Diff line
@@ -565,6 +565,11 @@ static int hclgevf_bind_ring_to_vector(struct hnae3_handle *handle, bool en,
				hnae_get_bit(node->flag, HNAE3_RING_TYPE_B);
		req->msg[HCLGEVF_RING_NODE_VARIABLE_NUM * i + 1] =
				node->tqp_index;
		req->msg[HCLGEVF_RING_NODE_VARIABLE_NUM * i + 2] =
				hnae_get_field(node->int_gl_idx,
					       HNAE3_RING_GL_IDX_M,
					       HNAE3_RING_GL_IDX_S);

		if (i == (HCLGE_MBX_VF_MSG_DATA_NUM -
		    HCLGEVF_RING_MAP_MBX_BASIC_MSG_NUM) /
		    HCLGEVF_RING_NODE_VARIABLE_NUM) {