[05/15] net/bnxt: reset Rx allocation state on port restart
Checks
Commit Message
From: Lance Richardson <lance.richardson@broadcom.com>
Move call site of bnxt_rxq_vec_setup() to ensure that rxq->rxrearm_nb
and rxq->rxrearm_start are reinitialized correctly when a port is
restarted.
Fixes: af3ed597e305 ("net/bnxt: initial vector-mode driver")
Reviewed-by: Christopher Reder <christopher.reder@broadcom.com>
Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_ring.c | 3 +++
1 file changed, 3 insertions(+)
Comments
On Fri, Jul 12, 2019 at 2:06 AM Ajit Khaparde
<ajit.khaparde@broadcom.com> wrote:
>
> From: Lance Richardson <lance.richardson@broadcom.com>
>
> Move call site of bnxt_rxq_vec_setup() to ensure that rxq->rxrearm_nb
> and rxq->rxrearm_start are reinitialized correctly when a port is
> restarted.
>
> Fixes: af3ed597e305 ("net/bnxt: initial vector-mode driver")
> Reviewed-by: Christopher Reder <christopher.reder@broadcom.com>
> Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
> Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> ---
> drivers/net/bnxt/bnxt_ring.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c
> index 16327dbe9..13478fa02 100644
> --- a/drivers/net/bnxt/bnxt_ring.c
> +++ b/drivers/net/bnxt/bnxt_ring.c
> @@ -613,6 +613,9 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp)
> bnxt_db_write(&rxr->rx_db, rxr->rx_prod);
> bnxt_db_write(&rxr->ag_db, rxr->ag_prod);
> rxq->index = i;
> +#ifdef RTE_LIBRTE_BNXT_INC_VECTOR
This #ifdef should be removed, the macro is never defined in upstream.
> + bnxt_rxq_vec_setup(rxq);
> +#endif
> }
>
> for (i = 0; i < bp->tx_cp_nr_rings; i++) {
> --
> 2.20.1 (Apple Git-117)
>
On Fri, Jul 12, 2019 at 8:06 AM Lance Richardson
<lance.richardson@broadcom.com> wrote:
>
> On Fri, Jul 12, 2019 at 2:06 AM Ajit Khaparde
> <ajit.khaparde@broadcom.com> wrote:
> >
> > From: Lance Richardson <lance.richardson@broadcom.com>
> >
> > Move call site of bnxt_rxq_vec_setup() to ensure that rxq->rxrearm_nb
> > and rxq->rxrearm_start are reinitialized correctly when a port is
> > restarted.
> >
> > Fixes: af3ed597e305 ("net/bnxt: initial vector-mode driver")
> > Reviewed-by: Christopher Reder <christopher.reder@broadcom.com>
> > Signed-off-by: Lance Richardson <lance.richardson@broadcom.com>
> > Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> > ---
> > drivers/net/bnxt/bnxt_ring.c | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git a/drivers/net/bnxt/bnxt_ring.c b/drivers/net/bnxt/bnxt_ring.c
> > index 16327dbe9..13478fa02 100644
> > --- a/drivers/net/bnxt/bnxt_ring.c
> > +++ b/drivers/net/bnxt/bnxt_ring.c
> > @@ -613,6 +613,9 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp)
> > bnxt_db_write(&rxr->rx_db, rxr->rx_prod);
> > bnxt_db_write(&rxr->ag_db, rxr->ag_prod);
> > rxq->index = i;
> > +#ifdef RTE_LIBRTE_BNXT_INC_VECTOR
>
> This #ifdef should be removed, the macro is never defined in upstream.
Correction, it needs to be changed to "#ifdef RTE_ARCH_X86".
Lance
>
> > + bnxt_rxq_vec_setup(rxq);
> > +#endif
> > }
> >
> > for (i = 0; i < bp->tx_cp_nr_rings; i++) {
> > --
> > 2.20.1 (Apple Git-117)
> >
@@ -613,6 +613,9 @@ int bnxt_alloc_hwrm_rings(struct bnxt *bp)
bnxt_db_write(&rxr->rx_db, rxr->rx_prod);
bnxt_db_write(&rxr->ag_db, rxr->ag_prod);
rxq->index = i;
+#ifdef RTE_LIBRTE_BNXT_INC_VECTOR
+ bnxt_rxq_vec_setup(rxq);
+#endif
}
for (i = 0; i < bp->tx_cp_nr_rings; i++) {