* [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver
@ 2025-04-30 9:30 Jijie Shao
2025-04-30 9:30 ` [PATCH net 1/4] net: hns3: store rx VLAN tag offload state for VF Jijie Shao
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Jijie Shao @ 2025-04-30 9:30 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
Cc: shenjian15, wangpeiyang1, liuyonglong, chenhao418,
jonathan.cameron, shameerali.kolothum.thodi, salil.mehta, netdev,
linux-kernel, shaojijie
There is a pathset that contains three patches, but two of them
need to be removed:
https://lore.kernel.org/all/20250402121001.663431-1-shaojijie@huawei.com/
The last patch and other patches form this patchset:
net: hns3: store rx VLAN tag offload state for VF
Hao Lan (1):
net: hns3: fixed debugfs tm_qset size
Jian Shen (2):
net: hns3: store rx VLAN tag offload state for VF
net: hns3: defer calling ptp_clock_register()
Yonglong Liu (1):
net: hns3: fix an interrupt residual problem
.../ethernet/hisilicon/hns3/hns3_debugfs.c | 2 +-
.../net/ethernet/hisilicon/hns3/hns3_enet.c | 82 +++++++++----------
.../hisilicon/hns3/hns3pf/hclge_ptp.c | 13 +--
.../hisilicon/hns3/hns3vf/hclgevf_main.c | 25 ++++--
.../hisilicon/hns3/hns3vf/hclgevf_main.h | 1 +
5 files changed, 67 insertions(+), 56 deletions(-)
--
2.33.0
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH net 1/4] net: hns3: store rx VLAN tag offload state for VF
2025-04-30 9:30 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
@ 2025-04-30 9:30 ` Jijie Shao
2025-04-30 9:30 ` [PATCH net 2/4] net: hns3: fix an interrupt residual problem Jijie Shao
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jijie Shao @ 2025-04-30 9:30 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
Cc: shenjian15, wangpeiyang1, liuyonglong, chenhao418,
jonathan.cameron, shameerali.kolothum.thodi, salil.mehta, netdev,
linux-kernel, shaojijie
From: Jian Shen <shenjian15@huawei.com>
The VF driver missed to store the rx VLAN tag strip state when
user change the rx VLAN tag offload state. And it will default
to enable the rx vlan tag strip when re-init VF device after
reset. So if user disable rx VLAN tag offload, and trig reset,
then the HW will still strip the VLAN tag from packet nad fill
into RX BD, but the VF driver will ignore it for rx VLAN tag
offload disabled. It may cause the rx VLAN tag dropped.
Fixes: b2641e2ad456 ("net: hns3: Add support of hardware rx-vlan-offload to HNS3 VF driver")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
Reviewed-by: Simon Horman <horms@kernel.org>
---
.../hisilicon/hns3/hns3vf/hclgevf_main.c | 25 ++++++++++++++-----
.../hisilicon/hns3/hns3vf/hclgevf_main.h | 1 +
2 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index 9ba767740a04..dada42e7e0ec 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -1292,9 +1292,8 @@ static void hclgevf_sync_vlan_filter(struct hclgevf_dev *hdev)
rtnl_unlock();
}
-static int hclgevf_en_hw_strip_rxvtag(struct hnae3_handle *handle, bool enable)
+static int hclgevf_en_hw_strip_rxvtag_cmd(struct hclgevf_dev *hdev, bool enable)
{
- struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle);
struct hclge_vf_to_pf_msg send_msg;
hclgevf_build_send_msg(&send_msg, HCLGE_MBX_SET_VLAN,
@@ -1303,6 +1302,19 @@ static int hclgevf_en_hw_strip_rxvtag(struct hnae3_handle *handle, bool enable)
return hclgevf_send_mbx_msg(hdev, &send_msg, false, NULL, 0);
}
+static int hclgevf_en_hw_strip_rxvtag(struct hnae3_handle *handle, bool enable)
+{
+ struct hclgevf_dev *hdev = hclgevf_ae_get_hdev(handle);
+ int ret;
+
+ ret = hclgevf_en_hw_strip_rxvtag_cmd(hdev, enable);
+ if (ret)
+ return ret;
+
+ hdev->rxvtag_strip_en = enable;
+ return 0;
+}
+
static int hclgevf_reset_tqp(struct hnae3_handle *handle)
{
#define HCLGEVF_RESET_ALL_QUEUE_DONE 1U
@@ -2204,12 +2216,13 @@ static int hclgevf_rss_init_hw(struct hclgevf_dev *hdev)
tc_valid, tc_size);
}
-static int hclgevf_init_vlan_config(struct hclgevf_dev *hdev)
+static int hclgevf_init_vlan_config(struct hclgevf_dev *hdev,
+ bool rxvtag_strip_en)
{
struct hnae3_handle *nic = &hdev->nic;
int ret;
- ret = hclgevf_en_hw_strip_rxvtag(nic, true);
+ ret = hclgevf_en_hw_strip_rxvtag(nic, rxvtag_strip_en);
if (ret) {
dev_err(&hdev->pdev->dev,
"failed to enable rx vlan offload, ret = %d\n", ret);
@@ -2879,7 +2892,7 @@ static int hclgevf_reset_hdev(struct hclgevf_dev *hdev)
if (ret)
return ret;
- ret = hclgevf_init_vlan_config(hdev);
+ ret = hclgevf_init_vlan_config(hdev, hdev->rxvtag_strip_en);
if (ret) {
dev_err(&hdev->pdev->dev,
"failed(%d) to initialize VLAN config\n", ret);
@@ -2994,7 +3007,7 @@ static int hclgevf_init_hdev(struct hclgevf_dev *hdev)
goto err_config;
}
- ret = hclgevf_init_vlan_config(hdev);
+ ret = hclgevf_init_vlan_config(hdev, true);
if (ret) {
dev_err(&hdev->pdev->dev,
"failed(%d) to initialize VLAN config\n", ret);
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h
index cccef3228461..0208425ab594 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.h
@@ -253,6 +253,7 @@ struct hclgevf_dev {
int *vector_irq;
bool gro_en;
+ bool rxvtag_strip_en;
unsigned long vlan_del_fail_bmap[BITS_TO_LONGS(VLAN_N_VID)];
--
2.33.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH net 2/4] net: hns3: fix an interrupt residual problem
2025-04-30 9:30 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2025-04-30 9:30 ` [PATCH net 1/4] net: hns3: store rx VLAN tag offload state for VF Jijie Shao
@ 2025-04-30 9:30 ` Jijie Shao
2025-04-30 9:30 ` [PATCH net 3/4] net: hns3: fixed debugfs tm_qset size Jijie Shao
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Jijie Shao @ 2025-04-30 9:30 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
Cc: shenjian15, wangpeiyang1, liuyonglong, chenhao418,
jonathan.cameron, shameerali.kolothum.thodi, salil.mehta, netdev,
linux-kernel, shaojijie
From: Yonglong Liu <liuyonglong@huawei.com>
When a VF is passthrough to a VM, and the VM is killed, the reported
interrupt may not been handled, it will remain, and won't be clear by
the nic engine even with a flr or tqp reset. When the VM restart, the
interrupt of the first vector may be dropped by the second enable_irq
in vfio, see the issue below:
https://gitlab.com/qemu-project/qemu/-/issues/2884#note_2423361621
We notice that the vfio has always behaved this way, and the interrupt
is a residue of the nic engine, so we fix the problem by moving the
vector enable process out of the enable_irq loop.
Fixes: 08a100689d4b ("net: hns3: re-organize vector handle")
Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
.../net/ethernet/hisilicon/hns3/hns3_enet.c | 82 +++++++++----------
1 file changed, 39 insertions(+), 43 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
index 9ff797fb36c4..b03b8758c777 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -473,20 +473,14 @@ static void hns3_mask_vector_irq(struct hns3_enet_tqp_vector *tqp_vector,
writel(mask_en, tqp_vector->mask_addr);
}
-static void hns3_vector_enable(struct hns3_enet_tqp_vector *tqp_vector)
+static void hns3_irq_enable(struct hns3_enet_tqp_vector *tqp_vector)
{
napi_enable(&tqp_vector->napi);
enable_irq(tqp_vector->vector_irq);
-
- /* enable vector */
- hns3_mask_vector_irq(tqp_vector, 1);
}
-static void hns3_vector_disable(struct hns3_enet_tqp_vector *tqp_vector)
+static void hns3_irq_disable(struct hns3_enet_tqp_vector *tqp_vector)
{
- /* disable vector */
- hns3_mask_vector_irq(tqp_vector, 0);
-
disable_irq(tqp_vector->vector_irq);
napi_disable(&tqp_vector->napi);
cancel_work_sync(&tqp_vector->rx_group.dim.work);
@@ -707,11 +701,42 @@ static int hns3_set_rx_cpu_rmap(struct net_device *netdev)
return 0;
}
+static void hns3_enable_irqs_and_tqps(struct net_device *netdev)
+{
+ struct hns3_nic_priv *priv = netdev_priv(netdev);
+ struct hnae3_handle *h = priv->ae_handle;
+ u16 i;
+
+ for (i = 0; i < priv->vector_num; i++)
+ hns3_irq_enable(&priv->tqp_vector[i]);
+
+ for (i = 0; i < priv->vector_num; i++)
+ hns3_mask_vector_irq(&priv->tqp_vector[i], 1);
+
+ for (i = 0; i < h->kinfo.num_tqps; i++)
+ hns3_tqp_enable(h->kinfo.tqp[i]);
+}
+
+static void hns3_disable_irqs_and_tqps(struct net_device *netdev)
+{
+ struct hns3_nic_priv *priv = netdev_priv(netdev);
+ struct hnae3_handle *h = priv->ae_handle;
+ u16 i;
+
+ for (i = 0; i < h->kinfo.num_tqps; i++)
+ hns3_tqp_disable(h->kinfo.tqp[i]);
+
+ for (i = 0; i < priv->vector_num; i++)
+ hns3_mask_vector_irq(&priv->tqp_vector[i], 0);
+
+ for (i = 0; i < priv->vector_num; i++)
+ hns3_irq_disable(&priv->tqp_vector[i]);
+}
+
static int hns3_nic_net_up(struct net_device *netdev)
{
struct hns3_nic_priv *priv = netdev_priv(netdev);
struct hnae3_handle *h = priv->ae_handle;
- int i, j;
int ret;
ret = hns3_nic_reset_all_ring(h);
@@ -720,23 +745,13 @@ static int hns3_nic_net_up(struct net_device *netdev)
clear_bit(HNS3_NIC_STATE_DOWN, &priv->state);
- /* enable the vectors */
- for (i = 0; i < priv->vector_num; i++)
- hns3_vector_enable(&priv->tqp_vector[i]);
-
- /* enable rcb */
- for (j = 0; j < h->kinfo.num_tqps; j++)
- hns3_tqp_enable(h->kinfo.tqp[j]);
+ hns3_enable_irqs_and_tqps(netdev);
/* start the ae_dev */
ret = h->ae_algo->ops->start ? h->ae_algo->ops->start(h) : 0;
if (ret) {
set_bit(HNS3_NIC_STATE_DOWN, &priv->state);
- while (j--)
- hns3_tqp_disable(h->kinfo.tqp[j]);
-
- for (j = i - 1; j >= 0; j--)
- hns3_vector_disable(&priv->tqp_vector[j]);
+ hns3_disable_irqs_and_tqps(netdev);
}
return ret;
@@ -823,17 +838,9 @@ static void hns3_reset_tx_queue(struct hnae3_handle *h)
static void hns3_nic_net_down(struct net_device *netdev)
{
struct hns3_nic_priv *priv = netdev_priv(netdev);
- struct hnae3_handle *h = hns3_get_handle(netdev);
const struct hnae3_ae_ops *ops;
- int i;
- /* disable vectors */
- for (i = 0; i < priv->vector_num; i++)
- hns3_vector_disable(&priv->tqp_vector[i]);
-
- /* disable rcb */
- for (i = 0; i < h->kinfo.num_tqps; i++)
- hns3_tqp_disable(h->kinfo.tqp[i]);
+ hns3_disable_irqs_and_tqps(netdev);
/* stop ae_dev */
ops = priv->ae_handle->ae_algo->ops;
@@ -5864,8 +5871,6 @@ int hns3_set_channels(struct net_device *netdev,
void hns3_external_lb_prepare(struct net_device *ndev, bool if_running)
{
struct hns3_nic_priv *priv = netdev_priv(ndev);
- struct hnae3_handle *h = priv->ae_handle;
- int i;
if (!if_running)
return;
@@ -5876,11 +5881,7 @@ void hns3_external_lb_prepare(struct net_device *ndev, bool if_running)
netif_carrier_off(ndev);
netif_tx_disable(ndev);
- for (i = 0; i < priv->vector_num; i++)
- hns3_vector_disable(&priv->tqp_vector[i]);
-
- for (i = 0; i < h->kinfo.num_tqps; i++)
- hns3_tqp_disable(h->kinfo.tqp[i]);
+ hns3_disable_irqs_and_tqps(ndev);
/* delay ring buffer clearing to hns3_reset_notify_uninit_enet
* during reset process, because driver may not be able
@@ -5896,7 +5897,6 @@ void hns3_external_lb_restore(struct net_device *ndev, bool if_running)
{
struct hns3_nic_priv *priv = netdev_priv(ndev);
struct hnae3_handle *h = priv->ae_handle;
- int i;
if (!if_running)
return;
@@ -5912,11 +5912,7 @@ void hns3_external_lb_restore(struct net_device *ndev, bool if_running)
clear_bit(HNS3_NIC_STATE_DOWN, &priv->state);
- for (i = 0; i < priv->vector_num; i++)
- hns3_vector_enable(&priv->tqp_vector[i]);
-
- for (i = 0; i < h->kinfo.num_tqps; i++)
- hns3_tqp_enable(h->kinfo.tqp[i]);
+ hns3_enable_irqs_and_tqps(ndev);
netif_tx_wake_all_queues(ndev);
--
2.33.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH net 3/4] net: hns3: fixed debugfs tm_qset size
2025-04-30 9:30 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2025-04-30 9:30 ` [PATCH net 1/4] net: hns3: store rx VLAN tag offload state for VF Jijie Shao
2025-04-30 9:30 ` [PATCH net 2/4] net: hns3: fix an interrupt residual problem Jijie Shao
@ 2025-04-30 9:30 ` Jijie Shao
2025-04-30 9:30 ` [PATCH net 4/4] net: hns3: defer calling ptp_clock_register() Jijie Shao
2025-05-01 14:30 ` [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver patchwork-bot+netdevbpf
4 siblings, 0 replies; 8+ messages in thread
From: Jijie Shao @ 2025-04-30 9:30 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
Cc: shenjian15, wangpeiyang1, liuyonglong, chenhao418,
jonathan.cameron, shameerali.kolothum.thodi, salil.mehta, netdev,
linux-kernel, shaojijie
From: Hao Lan <lanhao@huawei.com>
The size of the tm_qset file of debugfs is limited to 64 KB,
which is too small in the scenario with 1280 qsets.
The size needs to be expanded to 1 MB.
Fixes: 5e69ea7ee2a6 ("net: hns3: refactor the debugfs process")
Signed-off-by: Hao Lan <lanhao@huawei.com>
Signed-off-by: Peiyang Wang <wangpeiyang1@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
index 09749e9f7398..4e5d8bc39a1b 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_debugfs.c
@@ -61,7 +61,7 @@ static struct hns3_dbg_cmd_info hns3_dbg_cmd[] = {
.name = "tm_qset",
.cmd = HNAE3_DBG_CMD_TM_QSET,
.dentry = HNS3_DBG_DENTRY_TM,
- .buf_len = HNS3_DBG_READ_LEN,
+ .buf_len = HNS3_DBG_READ_LEN_1MB,
.init = hns3_dbg_common_file_init,
},
{
--
2.33.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH net 4/4] net: hns3: defer calling ptp_clock_register()
2025-04-30 9:30 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
` (2 preceding siblings ...)
2025-04-30 9:30 ` [PATCH net 3/4] net: hns3: fixed debugfs tm_qset size Jijie Shao
@ 2025-04-30 9:30 ` Jijie Shao
2025-04-30 23:28 ` Vadim Fedorenko
2025-05-01 14:30 ` [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver patchwork-bot+netdevbpf
4 siblings, 1 reply; 8+ messages in thread
From: Jijie Shao @ 2025-04-30 9:30 UTC (permalink / raw)
To: davem, edumazet, kuba, pabeni, andrew+netdev, horms
Cc: shenjian15, wangpeiyang1, liuyonglong, chenhao418,
jonathan.cameron, shameerali.kolothum.thodi, salil.mehta, netdev,
linux-kernel, shaojijie
From: Jian Shen <shenjian15@huawei.com>
Currently the ptp_clock_register() is called before relative
ptp resource ready. It may cause unexpected result when upper
layer called the ptp API during the timewindow. Fix it by
moving the ptp_clock_register() to the function end.
Fixes: 0bf5eb788512 ("net: hns3: add support for PTP")
Signed-off-by: Jian Shen <shenjian15@huawei.com>
Signed-off-by: Jijie Shao <shaojijie@huawei.com>
---
.../net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
index 59cc9221185f..ec581d4b696f 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
@@ -440,6 +440,13 @@ static int hclge_ptp_create_clock(struct hclge_dev *hdev)
ptp->info.settime64 = hclge_ptp_settime;
ptp->info.n_alarm = 0;
+
+ spin_lock_init(&ptp->lock);
+ ptp->io_base = hdev->hw.hw.io_base + HCLGE_PTP_REG_OFFSET;
+ ptp->ts_cfg.rx_filter = HWTSTAMP_FILTER_NONE;
+ ptp->ts_cfg.tx_type = HWTSTAMP_TX_OFF;
+ hdev->ptp = ptp;
+
ptp->clock = ptp_clock_register(&ptp->info, &hdev->pdev->dev);
if (IS_ERR(ptp->clock)) {
dev_err(&hdev->pdev->dev,
@@ -451,12 +458,6 @@ static int hclge_ptp_create_clock(struct hclge_dev *hdev)
return -ENODEV;
}
- spin_lock_init(&ptp->lock);
- ptp->io_base = hdev->hw.hw.io_base + HCLGE_PTP_REG_OFFSET;
- ptp->ts_cfg.rx_filter = HWTSTAMP_FILTER_NONE;
- ptp->ts_cfg.tx_type = HWTSTAMP_TX_OFF;
- hdev->ptp = ptp;
-
return 0;
}
--
2.33.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH net 4/4] net: hns3: defer calling ptp_clock_register()
2025-04-30 9:30 ` [PATCH net 4/4] net: hns3: defer calling ptp_clock_register() Jijie Shao
@ 2025-04-30 23:28 ` Vadim Fedorenko
0 siblings, 0 replies; 8+ messages in thread
From: Vadim Fedorenko @ 2025-04-30 23:28 UTC (permalink / raw)
To: Jijie Shao, davem, edumazet, kuba, pabeni, andrew+netdev, horms
Cc: shenjian15, wangpeiyang1, liuyonglong, chenhao418,
jonathan.cameron, shameerali.kolothum.thodi, salil.mehta, netdev,
linux-kernel
On 30/04/2025 10:30, Jijie Shao wrote:
> From: Jian Shen <shenjian15@huawei.com>
>
> Currently the ptp_clock_register() is called before relative
> ptp resource ready. It may cause unexpected result when upper
> layer called the ptp API during the timewindow. Fix it by
> moving the ptp_clock_register() to the function end.
>
> Fixes: 0bf5eb788512 ("net: hns3: add support for PTP")
> Signed-off-by: Jian Shen <shenjian15@huawei.com>
> Signed-off-by: Jijie Shao <shaojijie@huawei.com>
> ---
> .../net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
> index 59cc9221185f..ec581d4b696f 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_ptp.c
> @@ -440,6 +440,13 @@ static int hclge_ptp_create_clock(struct hclge_dev *hdev)
> ptp->info.settime64 = hclge_ptp_settime;
>
> ptp->info.n_alarm = 0;
> +
> + spin_lock_init(&ptp->lock);
> + ptp->io_base = hdev->hw.hw.io_base + HCLGE_PTP_REG_OFFSET;
> + ptp->ts_cfg.rx_filter = HWTSTAMP_FILTER_NONE;
> + ptp->ts_cfg.tx_type = HWTSTAMP_TX_OFF;
> + hdev->ptp = ptp;
> +
> ptp->clock = ptp_clock_register(&ptp->info, &hdev->pdev->dev);
> if (IS_ERR(ptp->clock)) {
> dev_err(&hdev->pdev->dev,
> @@ -451,12 +458,6 @@ static int hclge_ptp_create_clock(struct hclge_dev *hdev)
> return -ENODEV;
> }
>
> - spin_lock_init(&ptp->lock);
> - ptp->io_base = hdev->hw.hw.io_base + HCLGE_PTP_REG_OFFSET;
> - ptp->ts_cfg.rx_filter = HWTSTAMP_FILTER_NONE;
> - ptp->ts_cfg.tx_type = HWTSTAMP_TX_OFF;
> - hdev->ptp = ptp;
> -
> return 0;
> }
>
LGTM,
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver
2025-04-30 9:30 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
` (3 preceding siblings ...)
2025-04-30 9:30 ` [PATCH net 4/4] net: hns3: defer calling ptp_clock_register() Jijie Shao
@ 2025-05-01 14:30 ` patchwork-bot+netdevbpf
4 siblings, 0 replies; 8+ messages in thread
From: patchwork-bot+netdevbpf @ 2025-05-01 14:30 UTC (permalink / raw)
To: Jijie Shao
Cc: davem, edumazet, kuba, pabeni, andrew+netdev, horms, shenjian15,
wangpeiyang1, liuyonglong, chenhao418, jonathan.cameron,
shameerali.kolothum.thodi, salil.mehta, netdev, linux-kernel
Hello:
This series was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Wed, 30 Apr 2025 17:30:48 +0800 you wrote:
> There is a pathset that contains three patches, but two of them
> need to be removed:
> https://lore.kernel.org/all/20250402121001.663431-1-shaojijie@huawei.com/
> The last patch and other patches form this patchset:
> net: hns3: store rx VLAN tag offload state for VF
>
> Hao Lan (1):
> net: hns3: fixed debugfs tm_qset size
>
> [...]
Here is the summary with links:
- [net,1/4] net: hns3: store rx VLAN tag offload state for VF
https://git.kernel.org/netdev/net/c/ef2383d078ed
- [net,2/4] net: hns3: fix an interrupt residual problem
https://git.kernel.org/netdev/net/c/8e6b9c6ea5a5
- [net,3/4] net: hns3: fixed debugfs tm_qset size
https://git.kernel.org/netdev/net/c/e317aebeefcb
- [net,4/4] net: hns3: defer calling ptp_clock_register()
https://git.kernel.org/netdev/net/c/4971394d9d62
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver
@ 2025-07-02 13:08 Jijie Shao
0 siblings, 0 replies; 8+ 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] 8+ messages in thread
end of thread, other threads:[~2025-07-02 13:15 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-30 9:30 [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver Jijie Shao
2025-04-30 9:30 ` [PATCH net 1/4] net: hns3: store rx VLAN tag offload state for VF Jijie Shao
2025-04-30 9:30 ` [PATCH net 2/4] net: hns3: fix an interrupt residual problem Jijie Shao
2025-04-30 9:30 ` [PATCH net 3/4] net: hns3: fixed debugfs tm_qset size Jijie Shao
2025-04-30 9:30 ` [PATCH net 4/4] net: hns3: defer calling ptp_clock_register() Jijie Shao
2025-04-30 23:28 ` Vadim Fedorenko
2025-05-01 14:30 ` [PATCH net 0/4] There are some bugfix for the HNS3 ethernet driver patchwork-bot+netdevbpf
-- strict thread matches above, loose matches on Subject: below --
2025-07-02 13:08 Jijie Shao
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).