netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver
@ 2025-07-02 13:08 Jijie Shao
  2025-07-02 13:08 ` [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue Jijie Shao
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Jijie Shao @ 2025-07-02 13:08 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
  Cc: shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel,
	shaojijie

There are some bugfix for the HNS3 ethernet driver

Hao Lan (1):
  net: hns3: fixed vf get max channels bug

Jian Shen (1):
  net: hns3: fix concurrent setting vlan filter issue

Jijie Shao (1):
  net: hns3: default enable tx bounce buffer when smmu enabled

Yonglong Liu (1):
  net: hns3: disable interrupt when ptp init failed

 .../net/ethernet/hisilicon/hns3/hns3_enet.c   | 31 ++++++++++++++++
 .../net/ethernet/hisilicon/hns3/hns3_enet.h   |  2 ++
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 33 +++++++++++++++++
 .../hisilicon/hns3/hns3pf/hclge_main.c        | 36 +++++++++++--------
 .../hisilicon/hns3/hns3pf/hclge_ptp.c         |  9 +++--
 .../hisilicon/hns3/hns3vf/hclgevf_main.c      |  6 +---
 6 files changed, 94 insertions(+), 23 deletions(-)

-- 
2.33.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue
  2025-07-02 13:08 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
@ 2025-07-02 13:08 ` Jijie Shao
  2025-07-04 15:52   ` Simon Horman
  2025-07-02 13:08 ` [PATCH net 2/4] net: hns3: disable interrupt when ptp init failed Jijie Shao
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 15+ messages in thread
From: Jijie Shao @ 2025-07-02 13:08 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
  Cc: shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel,
	shaojijie

From: Jian Shen <shenjian15@huawei.com>

The vport->req_vlan_fltr_en may be changed concurrently by function
hclge_sync_vlan_fltr_state() called in periodic work task and
function hclge_enable_vport_vlan_filter() called by user configuration.
It may cause the user configuration inoperative. Fixes it by protect
the vport->req_vlan_fltr by vport_lock.

Fixes: fa6a262a2550 ("net: hns3: add support for VF modify VLAN filter state")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
 .../hisilicon/hns3/hns3pf/hclge_main.c        | 36 +++++++++++--------
 1 file changed, 21 insertions(+), 15 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 35c984a256ab..a485fc53807d 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -9576,33 +9576,36 @@ static bool hclge_need_enable_vport_vlan_filter(struct hclge_vport *vport)
 	return false;
 }
 
-int hclge_enable_vport_vlan_filter(struct hclge_vport *vport, bool request_en)
+static int __hclge_enable_vport_vlan_filter(struct hclge_vport *vport,
+					    bool request_en)
 {
-	struct hclge_dev *hdev = vport->back;
 	bool need_en;
 	int ret;
 
-	mutex_lock(&hdev->vport_lock);
-
-	vport->req_vlan_fltr_en = request_en;
-
 	need_en = hclge_need_enable_vport_vlan_filter(vport);
-	if (need_en == vport->cur_vlan_fltr_en) {
-		mutex_unlock(&hdev->vport_lock);
+	if (need_en == vport->cur_vlan_fltr_en)
 		return 0;
-	}
 
 	ret = hclge_set_vport_vlan_filter(vport, need_en);
-	if (ret) {
-		mutex_unlock(&hdev->vport_lock);
+	if (ret)
 		return ret;
-	}
 
 	vport->cur_vlan_fltr_en = need_en;
 
+	return 0;
+}
+
+int hclge_enable_vport_vlan_filter(struct hclge_vport *vport, bool request_en)
+{
+	struct hclge_dev *hdev = vport->back;
+	int ret;
+
+	mutex_lock(&hdev->vport_lock);
+	vport->req_vlan_fltr_en = request_en;
+	ret = __hclge_enable_vport_vlan_filter(vport, request_en);
 	mutex_unlock(&hdev->vport_lock);
 
-	return 0;
+	return ret;
 }
 
 static int hclge_enable_vlan_filter(struct hnae3_handle *handle, bool enable)
@@ -10623,16 +10626,19 @@ static void hclge_sync_vlan_fltr_state(struct hclge_dev *hdev)
 					&vport->state))
 			continue;
 
-		ret = hclge_enable_vport_vlan_filter(vport,
-						     vport->req_vlan_fltr_en);
+		mutex_lock(&hdev->vport_lock);
+		ret = __hclge_enable_vport_vlan_filter(vport,
+						       vport->req_vlan_fltr_en);
 		if (ret) {
 			dev_err(&hdev->pdev->dev,
 				"failed to sync vlan filter state for vport%u, ret = %d\n",
 				vport->vport_id, ret);
 			set_bit(HCLGE_VPORT_STATE_VLAN_FLTR_CHANGE,
 				&vport->state);
+			mutex_unlock(&hdev->vport_lock);
 			return;
 		}
+		mutex_unlock(&hdev->vport_lock);
 	}
 }
 
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH net 2/4] net: hns3: disable interrupt when ptp init failed
  2025-07-02 13:08 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
  2025-07-02 13:08 ` [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue Jijie Shao
@ 2025-07-02 13:08 ` Jijie Shao
  2025-07-04 15:55   ` Simon Horman
  2025-07-02 13:09 ` [PATCH net 3/4] net: hns3: fixed vf get max channels bug Jijie Shao
  2025-07-02 13:09 ` [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled Jijie Shao
  3 siblings, 1 reply; 15+ messages in thread
From: Jijie Shao @ 2025-07-02 13:08 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
  Cc: shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel,
	shaojijie

From: Yonglong Liu <liuyonglong@huawei.com>

When ptp init failed, we'd better disable the interrupt and clear the
flag, to avoid early report interrupt at next probe.

Fixes: 0bf5eb788512 ("net: hns3: add support for PTP")
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
index ec581d4b696f..4bd52eab3914 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
@@ -497,14 +497,14 @@ int hclge_ptp_init(struct hclge_dev *hdev)
 	if (ret) {
 		dev_err(&hdev->pdev->dev,
 			"failed to init freq, ret = %d\n", ret);
-		goto out;
+		goto out_clear_int;
 	}
 
 	ret = hclge_ptp_set_ts_mode(hdev, &hdev->ptp->ts_cfg);
 	if (ret) {
 		dev_err(&hdev->pdev->dev,
 			"failed to init ts mode, ret = %d\n", ret);
-		goto out;
+		goto out_clear_int;
 	}
 
 	ktime_get_real_ts64(&ts);
@@ -512,7 +512,7 @@ int hclge_ptp_init(struct hclge_dev *hdev)
 	if (ret) {
 		dev_err(&hdev->pdev->dev,
 			"failed to init ts time, ret = %d\n", ret);
-		goto out;
+		goto out_clear_int;
 	}
 
 	set_bit(HCLGE_STATE_PTP_EN, &hdev->state);
@@ -520,6 +520,9 @@ int hclge_ptp_init(struct hclge_dev *hdev)
 
 	return 0;
 
+out_clear_int:
+	clear_bit(HCLGE_PTP_FLAG_EN, &hdev->ptp->flags);
+	hclge_ptp_int_en(hdev, false);
 out:
 	hclge_ptp_destroy_clock(hdev);
 
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH net 3/4] net: hns3: fixed vf get max channels bug
  2025-07-02 13:08 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
  2025-07-02 13:08 ` [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue Jijie Shao
  2025-07-02 13:08 ` [PATCH net 2/4] net: hns3: disable interrupt when ptp init failed Jijie Shao
@ 2025-07-02 13:09 ` Jijie Shao
  2025-07-04 16:05   ` Simon Horman
  2025-07-02 13:09 ` [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled Jijie Shao
  3 siblings, 1 reply; 15+ messages in thread
From: Jijie Shao @ 2025-07-02 13:09 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
  Cc: shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel,
	shaojijie

From: Hao Lan <lanhao@huawei.com>

Currently, the queried maximum of vf channels is the maximum of channels
supported by each TC. However, the actual maximum of channels is
the maximum of channels supported by the device.

Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Hao Lan <lanhao@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index 33136a1e02cf..626f5419fd7d 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -3094,11 +3094,7 @@ static void hclgevf_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
 
 static u32 hclgevf_get_max_channels(struct hclgevf_dev *hdev)
 {
-	struct hnae3_handle *nic = &hdev->nic;
-	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
-
-	return min_t(u32, hdev->rss_size_max,
-		     hdev->num_tqps / kinfo->tc_info.num_tc);
+	return min_t(u32, hdev->rss_size_max, hdev->num_tqps);
 }
 
 /**
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled
  2025-07-02 13:08 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
                   ` (2 preceding siblings ...)
  2025-07-02 13:09 ` [PATCH net 3/4] net: hns3: fixed vf get max channels bug Jijie Shao
@ 2025-07-02 13:09 ` Jijie Shao
  2025-07-04 16:31   ` Simon Horman
  3 siblings, 1 reply; 15+ messages in thread
From: Jijie Shao @ 2025-07-02 13:09 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
  Cc: shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel,
	shaojijie

The SMMU engine on HIP09 chip has a hardware issue.
SMMU pagetable prefetch features may prefetch and use a invalid PTE
even the PTE is valid at that time. This will cause the device trigger
fake pagefaults. The solution is to avoid prefetching by adding a
SYNC command when smmu mapping a iova. But the performance of nic has a
sharp drop. Then we do this workaround, always enable tx bounce buffer,
avoid mapping/unmapping on TX path.

This issue only affects HNS3, so we always enable
tx bounce buffer when smmu enabled to improve performance.

Fixes: 295ba232a8c3 ("net: hns3: add device version to replace pci revision")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
 .../net/ethernet/hisilicon/hns3/hns3_enet.c   | 31 +++++++++++++++++
 .../net/ethernet/hisilicon/hns3/hns3_enet.h   |  2 ++
 .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 33 +++++++++++++++++++
 3 files changed, 66 insertions(+)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
index 49fcee7a6d0f..b028ca9a67a5 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -11,6 +11,7 @@
 #include <linux/irq.h>
 #include <linux/ip.h>
 #include <linux/ipv6.h>
+#include <linux/iommu.h>
 #include <linux/module.h>
 #include <linux/pci.h>
 #include <linux/skbuff.h>
@@ -1039,6 +1040,8 @@ static bool hns3_can_use_tx_sgl(struct hns3_enet_ring *ring,
 static void hns3_init_tx_spare_buffer(struct hns3_enet_ring *ring)
 {
 	u32 alloc_size = ring->tqp->handle->kinfo.tx_spare_buf_size;
+	struct net_device *netdev = ring_to_netdev(ring);
+	struct hns3_nic_priv *priv = netdev_priv(netdev);
 	struct hns3_tx_spare *tx_spare;
 	struct page *page;
 	dma_addr_t dma;
@@ -1080,6 +1083,7 @@ static void hns3_init_tx_spare_buffer(struct hns3_enet_ring *ring)
 	tx_spare->buf = page_address(page);
 	tx_spare->len = PAGE_SIZE << order;
 	ring->tx_spare = tx_spare;
+	ring->tx_copybreak = priv->tx_copybreak;
 	return;
 
 dma_mapping_error:
@@ -4874,6 +4878,30 @@ static void hns3_nic_dealloc_vector_data(struct hns3_nic_priv *priv)
 	devm_kfree(&pdev->dev, priv->tqp_vector);
 }
 
+static void hns3_update_tx_spare_buf_config(struct hns3_nic_priv *priv)
+{
+#define HNS3_MIN_SPARE_BUF_SIZE (2 * 1024 * 1024)
+#define HNS3_MAX_PACKET_SIZE (64 * 1024)
+
+	struct iommu_domain *domain = iommu_get_domain_for_dev(priv->dev);
+	struct hnae3_ae_dev *ae_dev = hns3_get_ae_dev(priv->ae_handle);
+	struct hnae3_handle *handle = priv->ae_handle;
+
+	if (ae_dev->dev_version < HNAE3_DEVICE_VERSION_V3)
+		return;
+
+	if (!(domain && iommu_is_dma_domain(domain)))
+		return;
+
+	priv->min_tx_copybreak = HNS3_MAX_PACKET_SIZE;
+	priv->min_tx_spare_buf_size = HNS3_MIN_SPARE_BUF_SIZE;
+
+	if (priv->tx_copybreak < priv->min_tx_copybreak)
+		priv->tx_copybreak = priv->min_tx_copybreak;
+	if (handle->kinfo.tx_spare_buf_size < priv->min_tx_spare_buf_size)
+		handle->kinfo.tx_spare_buf_size = priv->min_tx_spare_buf_size;
+}
+
 static void hns3_ring_get_cfg(struct hnae3_queue *q, struct hns3_nic_priv *priv,
 			      unsigned int ring_type)
 {
@@ -5107,6 +5135,7 @@ int hns3_init_all_ring(struct hns3_nic_priv *priv)
 	int i, j;
 	int ret;
 
+	hns3_update_tx_spare_buf_config(priv);
 	for (i = 0; i < ring_num; i++) {
 		ret = hns3_alloc_ring_memory(&priv->ring[i]);
 		if (ret) {
@@ -5311,6 +5340,8 @@ static int hns3_client_init(struct hnae3_handle *handle)
 	priv->ae_handle = handle;
 	priv->tx_timeout_count = 0;
 	priv->max_non_tso_bd_num = ae_dev->dev_specs.max_non_tso_bd_num;
+	priv->min_tx_copybreak = 0;
+	priv->min_tx_spare_buf_size = 0;
 	set_bit(HNS3_NIC_STATE_DOWN, &priv->state);
 
 	handle->msg_enable = netif_msg_init(debug, DEFAULT_MSG_LEVEL);
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
index d3bad5d1b888..933e3527ed82 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.h
@@ -596,6 +596,8 @@ struct hns3_nic_priv {
 	struct hns3_enet_coalesce rx_coal;
 	u32 tx_copybreak;
 	u32 rx_copybreak;
+	u32 min_tx_copybreak;
+	u32 min_tx_spare_buf_size;
 };
 
 union l3_hdr_info {
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
index d5454e126c85..a752d0e3db3a 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c
@@ -1927,6 +1927,31 @@ static int hns3_set_tx_spare_buf_size(struct net_device *netdev,
 	return ret;
 }
 
+static int hns3_check_tx_copybreak(struct net_device *netdev, u32 copybreak)
+{
+	struct hns3_nic_priv *priv = netdev_priv(netdev);
+
+	if (copybreak < priv->min_tx_copybreak) {
+		netdev_err(netdev, "tx copybreak %u should be no less than %u!\n",
+			   copybreak, priv->min_tx_copybreak);
+		return -EINVAL;
+	}
+	return 0;
+}
+
+static int hns3_check_tx_spare_buf_size(struct net_device *netdev, u32 buf_size)
+{
+	struct hns3_nic_priv *priv = netdev_priv(netdev);
+
+	if (buf_size < priv->min_tx_spare_buf_size) {
+		netdev_err(netdev,
+			   "tx spare buf size %u should be no less than %u!\n",
+			   buf_size, priv->min_tx_spare_buf_size);
+		return -EINVAL;
+	}
+	return 0;
+}
+
 static int hns3_set_tunable(struct net_device *netdev,
 			    const struct ethtool_tunable *tuna,
 			    const void *data)
@@ -1943,6 +1968,10 @@ static int hns3_set_tunable(struct net_device *netdev,
 
 	switch (tuna->id) {
 	case ETHTOOL_TX_COPYBREAK:
+		ret = hns3_check_tx_copybreak(netdev, *(u32 *)data);
+		if (ret)
+			return ret;
+
 		priv->tx_copybreak = *(u32 *)data;
 
 		for (i = 0; i < h->kinfo.num_tqps; i++)
@@ -1957,6 +1986,10 @@ static int hns3_set_tunable(struct net_device *netdev,
 
 		break;
 	case ETHTOOL_TX_COPYBREAK_BUF_SIZE:
+		ret = hns3_check_tx_spare_buf_size(netdev, *(u32 *)data);
+		if (ret)
+			return ret;
+
 		old_tx_spare_buf_size = h->kinfo.tx_spare_buf_size;
 		new_tx_spare_buf_size = *(u32 *)data;
 		netdev_info(netdev, "request to set tx spare buf size from %u to %u\n",
-- 
2.33.0


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue
  2025-07-02 13:08 ` [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue Jijie Shao
@ 2025-07-04 15:52   ` Simon Horman
  2025-07-08  9:30     ` Jijie Shao
  0 siblings, 1 reply; 15+ messages in thread
From: Simon Horman @ 2025-07-04 15:52 UTC (permalink / raw)
  To: Jijie Shao
  Cc: davem, edumazet, kuba, pabeni, andrew+netdev, shenjian15,
	liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel

On Wed, Jul 02, 2025 at 09:08:58PM +0800, Jijie Shao wrote:
> From: Jian Shen <shenjian15@huawei.com>
> 
> The vport->req_vlan_fltr_en may be changed concurrently by function
> hclge_sync_vlan_fltr_state() called in periodic work task and
> function hclge_enable_vport_vlan_filter() called by user configuration.
> It may cause the user configuration inoperative. Fixes it by protect
> the vport->req_vlan_fltr by vport_lock.
> 
> Fixes: fa6a262a2550 ("net: hns3: add support for VF modify VLAN filter state")

I think the commit sited above is for the VF driver, whereas this
patch addresses PF driver code. I think the following is the
correct tag:

Fixes: 2ba306627f59 ("net: hns3: add support for modify VLAN filter state")

> Signed-off-by: Jian Shen <shenjian15@huawei.com>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>

Otherwise, this looks good to me.

Reviewed-by: Simon Horman <horms@kernel.org>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 2/4] net: hns3: disable interrupt when ptp init failed
  2025-07-02 13:08 ` [PATCH net 2/4] net: hns3: disable interrupt when ptp init failed Jijie Shao
@ 2025-07-04 15:55   ` Simon Horman
  0 siblings, 0 replies; 15+ messages in thread
From: Simon Horman @ 2025-07-04 15:55 UTC (permalink / raw)
  To: Jijie Shao
  Cc: davem, edumazet, kuba, pabeni, andrew+netdev, shenjian15,
	liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel

On Wed, Jul 02, 2025 at 09:08:59PM +0800, Jijie Shao wrote:
> From: Yonglong Liu <liuyonglong@huawei.com>
> 
> When ptp init failed, we'd better disable the interrupt and clear the
> flag, to avoid early report interrupt at next probe.
> 
> Fixes: 0bf5eb788512 ("net: hns3: add support for PTP")
> Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>

Reviewed-by: Simon Horman <horms@kernel.org>


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 3/4] net: hns3: fixed vf get max channels bug
  2025-07-02 13:09 ` [PATCH net 3/4] net: hns3: fixed vf get max channels bug Jijie Shao
@ 2025-07-04 16:05   ` Simon Horman
  2025-07-05  7:24     ` David Laight
  0 siblings, 1 reply; 15+ messages in thread
From: Simon Horman @ 2025-07-04 16:05 UTC (permalink / raw)
  To: Jijie Shao
  Cc: davem, edumazet, kuba, pabeni, andrew+netdev, shenjian15,
	liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel,
	David Laight

+ David Laight

On Wed, Jul 02, 2025 at 09:09:00PM +0800, Jijie Shao wrote:
> From: Hao Lan <lanhao@huawei.com>
> 
> Currently, the queried maximum of vf channels is the maximum of channels
> supported by each TC. However, the actual maximum of channels is
> the maximum of channels supported by the device.
> 
> Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
> Signed-off-by: Jian Shen <shenjian15@huawei.com>
> Signed-off-by: Hao Lan <lanhao@huawei.com>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>

Reviewed-by: Simon Horman <horms@kernel.org>

> ---
>  drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> index 33136a1e02cf..626f5419fd7d 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> @@ -3094,11 +3094,7 @@ static void hclgevf_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
>  
>  static u32 hclgevf_get_max_channels(struct hclgevf_dev *hdev)
>  {
> -	struct hnae3_handle *nic = &hdev->nic;
> -	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
> -
> -	return min_t(u32, hdev->rss_size_max,
> -		     hdev->num_tqps / kinfo->tc_info.num_tc);
> +	return min_t(u32, hdev->rss_size_max, hdev->num_tqps);

min_t() wasn't needed before and it certainly doesn't seem to be needed
now, as both .rss_size_max, and .num_tqps are u16.

As a follow-up, once this change hits net-next, please update to use min()
instead. Likely elsewhere too.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled
  2025-07-02 13:09 ` [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled Jijie Shao
@ 2025-07-04 16:31   ` Simon Horman
  2025-07-08  9:41     ` Jijie Shao
  0 siblings, 1 reply; 15+ messages in thread
From: Simon Horman @ 2025-07-04 16:31 UTC (permalink / raw)
  To: Jijie Shao
  Cc: davem, edumazet, kuba, pabeni, andrew+netdev, shenjian15,
	liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel

On Wed, Jul 02, 2025 at 09:09:01PM +0800, Jijie Shao wrote:
> The SMMU engine on HIP09 chip has a hardware issue.
> SMMU pagetable prefetch features may prefetch and use a invalid PTE
> even the PTE is valid at that time. This will cause the device trigger
> fake pagefaults. The solution is to avoid prefetching by adding a
> SYNC command when smmu mapping a iova. But the performance of nic has a
> sharp drop. Then we do this workaround, always enable tx bounce buffer,
> avoid mapping/unmapping on TX path.
> 
> This issue only affects HNS3, so we always enable
> tx bounce buffer when smmu enabled to improve performance.
> 
> Fixes: 295ba232a8c3 ("net: hns3: add device version to replace pci revision")

The cited commit may be a pre-requisite for this patch
to check HNAE3_DEVICE_VERSION_V3. But it seems to me that the problem
being addressed existed before the cited commit. If so, I think a different
Fixes tag is appropriate.

> Signed-off-by: Jian Shen <shenjian15@huawei.com>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
> ---
>  .../net/ethernet/hisilicon/hns3/hns3_enet.c   | 31 +++++++++++++++++
>  .../net/ethernet/hisilicon/hns3/hns3_enet.h   |  2 ++
>  .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 33 +++++++++++++++++++

It seems to me that the hns3_ethtool.c changes a) are not a requirement
for the work-around introduced by this patch and b) may introduce
complex behaviour between the effect of ethtool copybreak settings
and the enablement/non-enablement of the work-around.

Would it be possible to make a more minimal fix for net, that
omits the ethtool changes. And then follow-up with them for net-next
once the fix is present there?

-- 
pw-bot: cr

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 3/4] net: hns3: fixed vf get max channels bug
  2025-07-04 16:05   ` Simon Horman
@ 2025-07-05  7:24     ` David Laight
  2025-07-08  9:37       ` Jijie Shao
  0 siblings, 1 reply; 15+ messages in thread
From: David Laight @ 2025-07-05  7:24 UTC (permalink / raw)
  To: Simon Horman
  Cc: Jijie Shao, davem, edumazet, kuba, pabeni, andrew+netdev,
	shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel

On Fri, 4 Jul 2025 17:05:37 +0100
Simon Horman <horms@kernel.org> wrote:

> + David Laight
> 
> On Wed, Jul 02, 2025 at 09:09:00PM +0800, Jijie Shao wrote:
> > From: Hao Lan <lanhao@huawei.com>
> > 
> > Currently, the queried maximum of vf channels is the maximum of channels
> > supported by each TC. However, the actual maximum of channels is
> > the maximum of channels supported by the device.
> > 
> > Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
> > Signed-off-by: Jian Shen <shenjian15@huawei.com>
> > Signed-off-by: Hao Lan <lanhao@huawei.com>
> > Signed-off-by: Jijie Shao <shaojijie@huawei.com>  
> 
> Reviewed-by: Simon Horman <horms@kernel.org>
> 
> > ---
> >  drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> > 
> > diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> > index 33136a1e02cf..626f5419fd7d 100644
> > --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> > +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> > @@ -3094,11 +3094,7 @@ static void hclgevf_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
> >  
> >  static u32 hclgevf_get_max_channels(struct hclgevf_dev *hdev)
> >  {
> > -	struct hnae3_handle *nic = &hdev->nic;
> > -	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
> > -
> > -	return min_t(u32, hdev->rss_size_max,
> > -		     hdev->num_tqps / kinfo->tc_info.num_tc);
> > +	return min_t(u32, hdev->rss_size_max, hdev->num_tqps);  
> 
> min_t() wasn't needed before and it certainly doesn't seem to be needed
> now, as both .rss_size_max, and .num_tqps are u16.

It (well something) would have been needed before the min_t() changes.
The u16 values get promoted to 'signed int' prior to the division.

> 
> As a follow-up, once this change hits net-next, please update to use min()
> instead. Likely elsewhere too.

Especially any min_t(u16, ...) or u8 ones.
They are just so wrong and have caused bugs.

	David



^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue
  2025-07-04 15:52   ` Simon Horman
@ 2025-07-08  9:30     ` Jijie Shao
  0 siblings, 0 replies; 15+ messages in thread
From: Jijie Shao @ 2025-07-08  9:30 UTC (permalink / raw)
  To: Simon Horman
  Cc: shaojijie, davem, edumazet, kuba, pabeni, andrew+netdev,
	shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel


on 2025/7/4 23:52, Simon Horman wrote:
> On Wed, Jul 02, 2025 at 09:08:58PM +0800, Jijie Shao wrote:
>> From: Jian Shen <shenjian15@huawei.com>
>>
>> The vport->req_vlan_fltr_en may be changed concurrently by function
>> hclge_sync_vlan_fltr_state() called in periodic work task and
>> function hclge_enable_vport_vlan_filter() called by user configuration.
>> It may cause the user configuration inoperative. Fixes it by protect
>> the vport->req_vlan_fltr by vport_lock.
>>
>> Fixes: fa6a262a2550 ("net: hns3: add support for VF modify VLAN filter state")
> I think the commit sited above is for the VF driver, whereas this
> patch addresses PF driver code. I think the following is the
> correct tag:

Yeah, I will fix it in v2.

Thanks,
Jijie Shao

>
> Fixes: 2ba306627f59 ("net: hns3: add support for modify VLAN filter state")
>
>> Signed-off-by: Jian Shen <shenjian15@huawei.com>
>> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
> Otherwise, this looks good to me.
>
> Reviewed-by: Simon Horman <horms@kernel.org>
>
>
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 3/4] net: hns3: fixed vf get max channels bug
  2025-07-05  7:24     ` David Laight
@ 2025-07-08  9:37       ` Jijie Shao
  2025-07-08 16:35         ` Simon Horman
  0 siblings, 1 reply; 15+ messages in thread
From: Jijie Shao @ 2025-07-08  9:37 UTC (permalink / raw)
  To: David Laight, Simon Horman
  Cc: shaojijie, davem, edumazet, kuba, pabeni, andrew+netdev,
	shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel


on 2025/7/5 15:24, David Laight wrote:
> On Fri, 4 Jul 2025 17:05:37 +0100
> Simon Horman <horms@kernel.org> wrote:
>
>> + David Laight
>>
>> On Wed, Jul 02, 2025 at 09:09:00PM +0800, Jijie Shao wrote:
>>> From: Hao Lan <lanhao@huawei.com>
>>>
>>> Currently, the queried maximum of vf channels is the maximum of channels
>>> supported by each TC. However, the actual maximum of channels is
>>> the maximum of channels supported by the device.
>>>
>>> Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
>>> Signed-off-by: Jian Shen <shenjian15@huawei.com>
>>> Signed-off-by: Hao Lan <lanhao@huawei.com>
>>> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
>> Reviewed-by: Simon Horman <horms@kernel.org>
>>
>>> ---
>>>   drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 6 +-----
>>>   1 file changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
>>> index 33136a1e02cf..626f5419fd7d 100644
>>> --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
>>> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
>>> @@ -3094,11 +3094,7 @@ static void hclgevf_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
>>>   
>>>   static u32 hclgevf_get_max_channels(struct hclgevf_dev *hdev)
>>>   {
>>> -	struct hnae3_handle *nic = &hdev->nic;
>>> -	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
>>> -
>>> -	return min_t(u32, hdev->rss_size_max,
>>> -		     hdev->num_tqps / kinfo->tc_info.num_tc);
>>> +	return min_t(u32, hdev->rss_size_max, hdev->num_tqps);
>> min_t() wasn't needed before and it certainly doesn't seem to be needed
>> now, as both .rss_size_max, and .num_tqps are u16.
> It (well something) would have been needed before the min_t() changes.
> The u16 values get promoted to 'signed int' prior to the division.
>
>> As a follow-up, once this change hits net-next, please update to use min()
>> instead. Likely elsewhere too.
> Especially any min_t(u16, ...) or u8 ones.
> They are just so wrong and have caused bugs.
>
> 	David


Does this mean that min_t() will be deprecated?
If so, I will replace all instances of min_t() with min() in the hns3 driver.

Thanks
Jijie Shao




^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled
  2025-07-04 16:31   ` Simon Horman
@ 2025-07-08  9:41     ` Jijie Shao
  2025-07-08 16:35       ` Simon Horman
  0 siblings, 1 reply; 15+ messages in thread
From: Jijie Shao @ 2025-07-08  9:41 UTC (permalink / raw)
  To: Simon Horman
  Cc: shaojijie, davem, edumazet, kuba, pabeni, andrew+netdev,
	shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel


on 2025/7/5 0:31, Simon Horman wrote:
> On Wed, Jul 02, 2025 at 09:09:01PM +0800, Jijie Shao wrote:
>> The SMMU engine on HIP09 chip has a hardware issue.
>> SMMU pagetable prefetch features may prefetch and use a invalid PTE
>> even the PTE is valid at that time. This will cause the device trigger
>> fake pagefaults. The solution is to avoid prefetching by adding a
>> SYNC command when smmu mapping a iova. But the performance of nic has a
>> sharp drop. Then we do this workaround, always enable tx bounce buffer,
>> avoid mapping/unmapping on TX path.
>>
>> This issue only affects HNS3, so we always enable
>> tx bounce buffer when smmu enabled to improve performance.
>>
>> Fixes: 295ba232a8c3 ("net: hns3: add device version to replace pci revision")
> The cited commit may be a pre-requisite for this patch
> to check HNAE3_DEVICE_VERSION_V3. But it seems to me that the problem
> being addressed existed before the cited commit. If so, I think a different
> Fixes tag is appropriate.
>
>> Signed-off-by: Jian Shen <shenjian15@huawei.com>
>> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
>> ---
>>   .../net/ethernet/hisilicon/hns3/hns3_enet.c   | 31 +++++++++++++++++
>>   .../net/ethernet/hisilicon/hns3/hns3_enet.h   |  2 ++
>>   .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 33 +++++++++++++++++++
> It seems to me that the hns3_ethtool.c changes a) are not a requirement
> for the work-around introduced by this patch and b) may introduce
> complex behaviour between the effect of ethtool copybreak settings
> and the enablement/non-enablement of the work-around.
>
> Would it be possible to make a more minimal fix for net, that
> omits the ethtool changes. And then follow-up with them for net-next
> once the fix is present there?

I will discuss your suggestion with my team.

Thanks
Jijie Shao


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 3/4] net: hns3: fixed vf get max channels bug
  2025-07-08  9:37       ` Jijie Shao
@ 2025-07-08 16:35         ` Simon Horman
  0 siblings, 0 replies; 15+ messages in thread
From: Simon Horman @ 2025-07-08 16:35 UTC (permalink / raw)
  To: Jijie Shao
  Cc: David Laight, davem, edumazet, kuba, pabeni, andrew+netdev,
	shenjian15, liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel

On Tue, Jul 08, 2025 at 05:37:11PM +0800, Jijie Shao wrote:
> 
> on 2025/7/5 15:24, David Laight wrote:
> > On Fri, 4 Jul 2025 17:05:37 +0100
> > Simon Horman <horms@kernel.org> wrote:
> > 
> > > + David Laight
> > > 
> > > On Wed, Jul 02, 2025 at 09:09:00PM +0800, Jijie Shao wrote:
> > > > From: Hao Lan <lanhao@huawei.com>
> > > > 
> > > > Currently, the queried maximum of vf channels is the maximum of channels
> > > > supported by each TC. However, the actual maximum of channels is
> > > > the maximum of channels supported by the device.
> > > > 
> > > > Fixes: 849e46077689 ("net: hns3: add ethtool_ops.get_channels support for VF")
> > > > Signed-off-by: Jian Shen <shenjian15@huawei.com>
> > > > Signed-off-by: Hao Lan <lanhao@huawei.com>
> > > > Signed-off-by: Jijie Shao <shaojijie@huawei.com>
> > > Reviewed-by: Simon Horman <horms@kernel.org>
> > > 
> > > > ---
> > > >   drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 6 +-----
> > > >   1 file changed, 1 insertion(+), 5 deletions(-)
> > > > 
> > > > diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> > > > index 33136a1e02cf..626f5419fd7d 100644
> > > > --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> > > > +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
> > > > @@ -3094,11 +3094,7 @@ static void hclgevf_uninit_ae_dev(struct hnae3_ae_dev *ae_dev)
> > > >   static u32 hclgevf_get_max_channels(struct hclgevf_dev *hdev)
> > > >   {
> > > > -	struct hnae3_handle *nic = &hdev->nic;
> > > > -	struct hnae3_knic_private_info *kinfo = &nic->kinfo;
> > > > -
> > > > -	return min_t(u32, hdev->rss_size_max,
> > > > -		     hdev->num_tqps / kinfo->tc_info.num_tc);
> > > > +	return min_t(u32, hdev->rss_size_max, hdev->num_tqps);
> > > min_t() wasn't needed before and it certainly doesn't seem to be needed
> > > now, as both .rss_size_max, and .num_tqps are u16.
> > It (well something) would have been needed before the min_t() changes.
> > The u16 values get promoted to 'signed int' prior to the division.
> > 
> > > As a follow-up, once this change hits net-next, please update to use min()
> > > instead. Likely elsewhere too.
> > Especially any min_t(u16, ...) or u8 ones.
> > They are just so wrong and have caused bugs.
> > 
> > 	David
> 
> 
> Does this mean that min_t() will be deprecated?
> If so, I will replace all instances of min_t() with min() in the hns3 driver.

No, it means that min_t() should only be used when it is needed.
AFAIK, basically when the operands need to be cast.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled
  2025-07-08  9:41     ` Jijie Shao
@ 2025-07-08 16:35       ` Simon Horman
  0 siblings, 0 replies; 15+ messages in thread
From: Simon Horman @ 2025-07-08 16:35 UTC (permalink / raw)
  To: Jijie Shao
  Cc: davem, edumazet, kuba, pabeni, andrew+netdev, shenjian15,
	liuyonglong, chenhao418, jonathan.cameron,
	shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel

On Tue, Jul 08, 2025 at 05:41:36PM +0800, Jijie Shao wrote:
> 
> on 2025/7/5 0:31, Simon Horman wrote:
> > On Wed, Jul 02, 2025 at 09:09:01PM +0800, Jijie Shao wrote:
> > > The SMMU engine on HIP09 chip has a hardware issue.
> > > SMMU pagetable prefetch features may prefetch and use a invalid PTE
> > > even the PTE is valid at that time. This will cause the device trigger
> > > fake pagefaults. The solution is to avoid prefetching by adding a
> > > SYNC command when smmu mapping a iova. But the performance of nic has a
> > > sharp drop. Then we do this workaround, always enable tx bounce buffer,
> > > avoid mapping/unmapping on TX path.
> > > 
> > > This issue only affects HNS3, so we always enable
> > > tx bounce buffer when smmu enabled to improve performance.
> > > 
> > > Fixes: 295ba232a8c3 ("net: hns3: add device version to replace pci revision")
> > The cited commit may be a pre-requisite for this patch
> > to check HNAE3_DEVICE_VERSION_V3. But it seems to me that the problem
> > being addressed existed before the cited commit. If so, I think a different
> > Fixes tag is appropriate.
> > 
> > > Signed-off-by: Jian Shen <shenjian15@huawei.com>
> > > Signed-off-by: Jijie Shao <shaojijie@huawei.com>
> > > ---
> > >   .../net/ethernet/hisilicon/hns3/hns3_enet.c   | 31 +++++++++++++++++
> > >   .../net/ethernet/hisilicon/hns3/hns3_enet.h   |  2 ++
> > >   .../ethernet/hisilicon/hns3/hns3_ethtool.c    | 33 +++++++++++++++++++
> > It seems to me that the hns3_ethtool.c changes a) are not a requirement
> > for the work-around introduced by this patch and b) may introduce
> > complex behaviour between the effect of ethtool copybreak settings
> > and the enablement/non-enablement of the work-around.
> > 
> > Would it be possible to make a more minimal fix for net, that
> > omits the ethtool changes. And then follow-up with them for net-next
> > once the fix is present there?
> 
> I will discuss your suggestion with my team.

Thanks, much appreciated.

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2025-07-08 16:35 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-07-02 13:08 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2025-07-02 13:08 ` [PATCH net 1/4] net: hns3: fix concurrent setting vlan filter issue Jijie Shao
2025-07-04 15:52   ` Simon Horman
2025-07-08  9:30     ` Jijie Shao
2025-07-02 13:08 ` [PATCH net 2/4] net: hns3: disable interrupt when ptp init failed Jijie Shao
2025-07-04 15:55   ` Simon Horman
2025-07-02 13:09 ` [PATCH net 3/4] net: hns3: fixed vf get max channels bug Jijie Shao
2025-07-04 16:05   ` Simon Horman
2025-07-05  7:24     ` David Laight
2025-07-08  9:37       ` Jijie Shao
2025-07-08 16:35         ` Simon Horman
2025-07-02 13:09 ` [PATCH net 4/4] net: hns3: default enable tx bounce buffer when smmu enabled Jijie Shao
2025-07-04 16:31   ` Simon Horman
2025-07-08  9:41     ` Jijie Shao
2025-07-08 16:35       ` Simon Horman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).