All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dongdong Liu <liudongdong3@huawei.com>
To: Chengwen Feng <fengchengwen@huawei.com>, <thomas@monjalon.net>,
	<ferruh.yigit@xilinx.com>, <ferruh.yigit@amd.com>
Cc: <dev@dpdk.org>, <kalesh-anakkur.purayil@broadcom.com>,
	<somnath.kotur@broadcom.com>, <ajit.khaparde@broadcom.com>,
	<mdr@ashroe.eu>, <Andrew.Rybchenko@oktetlabs.ru>
Subject: Re: [PATCH v11 4/5] net/hns3: support proactive error handling mode
Date: Sun, 9 Oct 2022 19:05:28 +0800	[thread overview]
Message-ID: <17fe3c0f-8f02-ecb3-7475-2ba9fc639661@huawei.com> (raw)
In-Reply-To: <20221009091009.38978-5-fengchengwen@huawei.com>


On 2022/10/9 17:10, Chengwen Feng wrote:
> This patch supports proactive error handling mode.
>
> Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>

Acked-by: Dongdong Liu <liudongdong3@huawei.com>

> ---
>  drivers/net/hns3/hns3_common.c |  2 ++
>  drivers/net/hns3/hns3_intr.c   | 24 ++++++++++++++++++++++++
>  2 files changed, 26 insertions(+)
>
> diff --git a/drivers/net/hns3/hns3_common.c b/drivers/net/hns3/hns3_common.c
> index 14291193cb..7adc6a4972 100644
> --- a/drivers/net/hns3/hns3_common.c
> +++ b/drivers/net/hns3/hns3_common.c
> @@ -149,6 +149,8 @@ hns3_dev_infos_get(struct rte_eth_dev *eth_dev, struct rte_eth_dev_info *info)
>  		info->max_mac_addrs = HNS3_VF_UC_MACADDR_NUM;
>  	}
>
> +	info->err_handle_mode = RTE_ETH_ERROR_HANDLE_MODE_PROACTIVE;
> +
>  	return 0;
>  }
>
> diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c
> index 57679254ee..44a1119415 100644
> --- a/drivers/net/hns3/hns3_intr.c
> +++ b/drivers/net/hns3/hns3_intr.c
> @@ -1480,6 +1480,27 @@ static const struct hns3_hw_err_type hns3_hw_error_type[] = {
>  	}
>  };
>
> +static void
> +hns3_report_reset_begin(struct hns3_hw *hw)
> +{
> +	struct rte_eth_dev *dev = &rte_eth_devices[hw->data->port_id];
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_ERR_RECOVERING, NULL);
> +}
> +
> +static void
> +hns3_report_reset_success(struct hns3_hw *hw)
> +{
> +	struct rte_eth_dev *dev = &rte_eth_devices[hw->data->port_id];
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_RECOVERY_SUCCESS, NULL);
> +}
> +
> +static void
> +hns3_report_reset_failed(struct hns3_hw *hw)
> +{
> +	struct rte_eth_dev *dev = &rte_eth_devices[hw->data->port_id];
> +	rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_RECOVERY_FAILED, NULL);
> +}
> +
>  static int
>  hns3_config_ncsi_hw_err_int(struct hns3_adapter *hns, bool en)
>  {
> @@ -2642,6 +2663,7 @@ hns3_reset_pre(struct hns3_adapter *hns)
>  	if (hw->reset.stage == RESET_STAGE_NONE) {
>  		__atomic_store_n(&hns->hw.reset.resetting, 1, __ATOMIC_RELAXED);
>  		hw->reset.stage = RESET_STAGE_DOWN;
> +		hns3_report_reset_begin(hw);
>  		ret = hw->reset.ops->stop_service(hns);
>  		hns3_clock_gettime(&tv);
>  		if (ret) {
> @@ -2751,6 +2773,7 @@ hns3_reset_post(struct hns3_adapter *hns)
>  			  hns3_clock_calctime_ms(&tv_delta),
>  			  tv.tv_sec, tv.tv_usec);
>  		hw->reset.level = HNS3_NONE_RESET;
> +		hns3_report_reset_success(hw);
>  	}
>  	return 0;
>
> @@ -2796,6 +2819,7 @@ hns3_reset_fail_handle(struct hns3_adapter *hns)
>  		  hns3_clock_calctime_ms(&tv_delta),
>  		  tv.tv_sec, tv.tv_usec);
>  	hw->reset.level = HNS3_NONE_RESET;
> +	hns3_report_reset_failed(hw);
>  }
>
>  /*
>

  reply	other threads:[~2022-10-09 11:05 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220128124831.427-1-kalesh-anakkur.purayil@broadcom.com>
2022-09-22  7:41 ` [PATCH v9 0/5] support error handling mode Chengwen Feng
2022-09-22  7:41   ` [PATCH v9 1/5] ethdev: support get port " Chengwen Feng
2022-10-03 17:35     ` Ferruh Yigit
2022-10-05  1:56       ` fengchengwen
2022-09-22  7:41   ` [PATCH v9 2/5] ethdev: support proactive " Chengwen Feng
2022-10-03 17:35     ` Ferruh Yigit
2022-09-22  7:41   ` [PATCH v9 3/5] app/testpmd: support error handling mode event Chengwen Feng
2022-09-22  7:41   ` [PATCH v9 4/5] net/hns3: support proactive error handling mode Chengwen Feng
2022-09-22  7:41   ` [PATCH v9 5/5] net/bnxt: " Chengwen Feng
2022-10-09  7:53 ` [PATCH v10 0/5] support " Chengwen Feng
2022-10-09  7:53   ` [PATCH v10 1/5] ethdev: support get port " Chengwen Feng
2022-10-09  7:53   ` [PATCH v10 2/5] ethdev: support proactive " Chengwen Feng
2022-10-09  7:53   ` [PATCH v10 3/5] app/testpmd: support error handling mode event Chengwen Feng
2022-10-09  7:53   ` [PATCH v10 4/5] net/hns3: support proactive error handling mode Chengwen Feng
2022-10-09  7:53   ` [PATCH v10 5/5] net/bnxt: " Chengwen Feng
2022-10-09  9:10 ` [PATCH v11 0/5] support " Chengwen Feng
2022-10-09  9:10   ` [PATCH v11 1/5] ethdev: support get port " Chengwen Feng
2022-10-10  8:38     ` Andrew Rybchenko
2022-10-10  8:44     ` Andrew Rybchenko
2022-10-09  9:10   ` [PATCH v11 2/5] ethdev: support proactive " Chengwen Feng
2022-10-10  8:47     ` Andrew Rybchenko
2022-10-11 14:48       ` fengchengwen
2022-10-09  9:10   ` [PATCH v11 3/5] app/testpmd: support error handling mode event Chengwen Feng
2022-10-09  9:10   ` [PATCH v11 4/5] net/hns3: support proactive error handling mode Chengwen Feng
2022-10-09 11:05     ` Dongdong Liu [this message]
2022-10-09  9:10   ` [PATCH v11 5/5] net/bnxt: " Chengwen Feng
2022-10-12  3:45 ` [PATCH v12 0/5] support " Chengwen Feng
2022-10-12  3:45   ` [PATCH v12 1/5] ethdev: add error handling mode to device info Chengwen Feng
2022-10-12  3:45   ` [PATCH v12 2/5] ethdev: support proactive error handling mode Chengwen Feng
2022-10-13  8:58     ` Andrew Rybchenko
2022-10-13 12:50       ` fengchengwen
2022-10-12  3:45   ` [PATCH v12 3/5] app/testpmd: support error handling mode event Chengwen Feng
2022-10-12  3:45   ` [PATCH v12 4/5] net/hns3: support proactive error handling mode Chengwen Feng
2022-10-12  3:45   ` [PATCH v12 5/5] net/bnxt: " Chengwen Feng
2022-10-13 12:42 ` [PATCH v13 0/5] support " Chengwen Feng
2022-10-13 12:42   ` [PATCH v13 1/5] ethdev: add error handling mode to device info Chengwen Feng
2022-10-13 12:42   ` [PATCH v13 2/5] ethdev: support proactive error handling mode Chengwen Feng
2022-10-13 12:42   ` [PATCH v13 3/5] app/testpmd: support error handling mode event Chengwen Feng
2022-10-13 12:42   ` [PATCH v13 4/5] net/hns3: support proactive error handling mode Chengwen Feng
2022-10-13 12:42   ` [PATCH v13 5/5] net/bnxt: " Chengwen Feng
2022-10-17  7:42   ` [PATCH v13 0/5] support " Andrew Rybchenko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=17fe3c0f-8f02-ecb3-7475-2ba9fc639661@huawei.com \
    --to=liudongdong3@huawei.com \
    --cc=Andrew.Rybchenko@oktetlabs.ru \
    --cc=ajit.khaparde@broadcom.com \
    --cc=dev@dpdk.org \
    --cc=fengchengwen@huawei.com \
    --cc=ferruh.yigit@amd.com \
    --cc=ferruh.yigit@xilinx.com \
    --cc=kalesh-anakkur.purayil@broadcom.com \
    --cc=mdr@ashroe.eu \
    --cc=somnath.kotur@broadcom.com \
    --cc=thomas@monjalon.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.