Commit 6c609521 authored by David S. Miller's avatar David S. Miller
Browse files

Merge branch 'hns3-next'



Huazhong Tan says:

====================
net: hns3: two updates for -next

This series includes two updates for the HNS3 ethernet driver.
====================

Acked-by: default avatarJakub Kicinski <kuba@kernel.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents c53d21af e8194f32
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -90,6 +90,7 @@ enum HNAE3_DEV_CAP_BITS {
	HNAE3_DEV_SUPPORT_HW_PAD_B,
	HNAE3_DEV_SUPPORT_STASH_B,
	HNAE3_DEV_SUPPORT_UDP_TUNNEL_CSUM_B,
	HNAE3_DEV_SUPPORT_PAUSE_B,
};

#define hnae3_dev_fd_supported(hdev) \
@@ -134,6 +135,9 @@ enum HNAE3_DEV_CAP_BITS {
#define hnae3_dev_stash_supported(hdev) \
	test_bit(HNAE3_DEV_SUPPORT_STASH_B, (hdev)->ae_dev->caps)

#define hnae3_dev_pause_supported(hdev) \
	test_bit(HNAE3_DEV_SUPPORT_PAUSE_B, (hdev)->ae_dev->caps)

#define hnae3_ae_dev_tqp_txrx_indep_supported(ae_dev) \
	test_bit(HNAE3_DEV_SUPPORT_TQP_TXRX_INDEP_B, (ae_dev)->caps)

+3 −0
Original line number Diff line number Diff line
@@ -362,6 +362,9 @@ static void hns3_dbg_dev_caps(struct hnae3_handle *h)
	dev_info(&h->pdev->dev, "support UDP tunnel csum: %s\n",
		 test_bit(HNAE3_DEV_SUPPORT_UDP_TUNNEL_CSUM_B, caps) ?
		 "yes" : "no");
	dev_info(&h->pdev->dev, "support PAUSE: %s\n",
		 test_bit(HNAE3_DEV_SUPPORT_PAUSE_B, ae_dev->caps) ?
		 "yes" : "no");
}

static void hns3_dbg_dev_specs(struct hnae3_handle *h)
+8 −0
Original line number Diff line number Diff line
@@ -642,6 +642,10 @@ static void hns3_get_pauseparam(struct net_device *netdev,
				struct ethtool_pauseparam *param)
{
	struct hnae3_handle *h = hns3_get_handle(netdev);
	struct hnae3_ae_dev *ae_dev = pci_get_drvdata(h->pdev);

	if (!test_bit(HNAE3_DEV_SUPPORT_PAUSE_B, ae_dev->caps))
		return;

	if (h->ae_algo->ops->get_pauseparam)
		h->ae_algo->ops->get_pauseparam(h, &param->autoneg,
@@ -652,6 +656,10 @@ static int hns3_set_pauseparam(struct net_device *netdev,
			       struct ethtool_pauseparam *param)
{
	struct hnae3_handle *h = hns3_get_handle(netdev);
	struct hnae3_ae_dev *ae_dev = pci_get_drvdata(h->pdev);

	if (!test_bit(HNAE3_DEV_SUPPORT_PAUSE_B, ae_dev->caps))
		return -EOPNOTSUPP;

	netif_dbg(h, drv, netdev,
		  "set pauseparam: autoneg=%u, rx:%u, tx:%u\n",
+8 −1
Original line number Diff line number Diff line
@@ -353,7 +353,10 @@ static void hclge_set_default_capability(struct hclge_dev *hdev)

	set_bit(HNAE3_DEV_SUPPORT_FD_B, ae_dev->caps);
	set_bit(HNAE3_DEV_SUPPORT_GRO_B, ae_dev->caps);
	if (hdev->ae_dev->dev_version == HNAE3_DEVICE_VERSION_V2) {
		set_bit(HNAE3_DEV_SUPPORT_FEC_B, ae_dev->caps);
		set_bit(HNAE3_DEV_SUPPORT_PAUSE_B, ae_dev->caps);
	}
}

static void hclge_parse_capability(struct hclge_dev *hdev,
@@ -378,6 +381,10 @@ static void hclge_parse_capability(struct hclge_dev *hdev,
		set_bit(HNAE3_DEV_SUPPORT_UDP_TUNNEL_CSUM_B, ae_dev->caps);
	if (hnae3_get_bit(caps, HCLGE_CAP_FD_FORWARD_TC_B))
		set_bit(HNAE3_DEV_SUPPORT_FD_FORWARD_TC_B, ae_dev->caps);
	if (hnae3_get_bit(caps, HCLGE_CAP_FEC_B))
		set_bit(HNAE3_DEV_SUPPORT_FEC_B, ae_dev->caps);
	if (hnae3_get_bit(caps, HCLGE_CAP_PAUSE_B))
		set_bit(HNAE3_DEV_SUPPORT_PAUSE_B, ae_dev->caps);
}

static __le32 hclge_build_api_caps(void)
+2 −0
Original line number Diff line number Diff line
@@ -384,6 +384,8 @@ enum HCLGE_CAP_BITS {
	HCLGE_CAP_HW_PAD_B,
	HCLGE_CAP_STASH_B,
	HCLGE_CAP_UDP_TUNNEL_CSUM_B,
	HCLGE_CAP_FEC_B = 13,
	HCLGE_CAP_PAUSE_B = 14,
};

enum HCLGE_API_CAP_BITS {
Loading