* [dpdk-dev] [PATCH] net/bnxt: fix VNIC config error in port start
@ 2021-08-25 1:29 Ajit Khaparde
2021-08-25 3:50 ` Ajit Khaparde
0 siblings, 1 reply; 2+ messages in thread
From: Ajit Khaparde @ 2021-08-25 1:29 UTC (permalink / raw)
To: dev; +Cc: stable, Somnath Kotur
[-- Attachment #1: Type: text/plain, Size: 1434 bytes --]
During port stop/start sequence the Thor FW is returning an error.
This is because we are deriving incorrect active Rx ring and using
that wrong information in the bnxt_vnic_rss_cfg HWRM command.
Fix it by using the rx_queue_state from eth_dev.
Fixes: 0105ea1296c91 ("net/bnxt: support runtime queue setup")
Cc: stable@dpdk.org
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
---
drivers/net/bnxt/bnxt_hwrm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index eb9de45cb9..f29d574235 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -5078,6 +5078,7 @@ static int
bnxt_vnic_rss_configure_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic)
{
struct hwrm_vnic_rss_cfg_output *resp = bp->hwrm_cmd_resp_addr;
+ uint8_t *rxq_state = bp->eth_dev->data->rx_queue_state;
struct hwrm_vnic_rss_cfg_input req = {.req_type = 0 };
struct bnxt_rx_queue **rxqs = bp->rx_queues;
uint16_t *ring_tbl = vnic->rss_table;
@@ -5111,7 +5112,7 @@ bnxt_vnic_rss_configure_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic)
/* Find next active ring. */
for (cnt = 0; cnt < max_rings; cnt++) {
- if (rxqs[k]->rx_started)
+ if (rxq_state[k] != RTE_ETH_QUEUE_STATE_STOPPED)
break;
if (++k == max_rings)
k = 0;
--
2.21.1 (Apple Git-122.3)
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [dpdk-dev] [PATCH] net/bnxt: fix VNIC config error in port start
2021-08-25 1:29 [dpdk-dev] [PATCH] net/bnxt: fix VNIC config error in port start Ajit Khaparde
@ 2021-08-25 3:50 ` Ajit Khaparde
0 siblings, 0 replies; 2+ messages in thread
From: Ajit Khaparde @ 2021-08-25 3:50 UTC (permalink / raw)
To: dpdk-dev; +Cc: dpdk stable, Somnath Kotur
[-- Attachment #1: Type: text/plain, Size: 1845 bytes --]
On Tue, Aug 24, 2021 at 6:29 PM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> During port stop/start sequence the Thor FW is returning an error.
> This is because we are deriving incorrect active Rx ring and using
> that wrong information in the bnxt_vnic_rss_cfg HWRM command.
>
> Fix it by using the rx_queue_state from eth_dev.
>
> Fixes: 0105ea1296c91 ("net/bnxt: support runtime queue setup")
> Cc: stable@dpdk.org
>
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Patch applied to dpdk-next-net-brcm.
> ---
> drivers/net/bnxt/bnxt_hwrm.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
> index eb9de45cb9..f29d574235 100644
> --- a/drivers/net/bnxt/bnxt_hwrm.c
> +++ b/drivers/net/bnxt/bnxt_hwrm.c
> @@ -5078,6 +5078,7 @@ static int
> bnxt_vnic_rss_configure_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic)
> {
> struct hwrm_vnic_rss_cfg_output *resp = bp->hwrm_cmd_resp_addr;
> + uint8_t *rxq_state = bp->eth_dev->data->rx_queue_state;
> struct hwrm_vnic_rss_cfg_input req = {.req_type = 0 };
> struct bnxt_rx_queue **rxqs = bp->rx_queues;
> uint16_t *ring_tbl = vnic->rss_table;
> @@ -5111,7 +5112,7 @@ bnxt_vnic_rss_configure_p5(struct bnxt *bp, struct bnxt_vnic_info *vnic)
>
> /* Find next active ring. */
> for (cnt = 0; cnt < max_rings; cnt++) {
> - if (rxqs[k]->rx_started)
> + if (rxq_state[k] != RTE_ETH_QUEUE_STATE_STOPPED)
> break;
> if (++k == max_rings)
> k = 0;
> --
> 2.21.1 (Apple Git-122.3)
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-08-25 3:51 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-25 1:29 [dpdk-dev] [PATCH] net/bnxt: fix VNIC config error in port start Ajit Khaparde
2021-08-25 3:50 ` Ajit Khaparde
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).