lkml.org 
[lkml]   [2021]   [Sep]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.14 334/432] octeontx2-pf: Fix NIX1_RX interface backpressure
    Date
    From: Subbaraya Sundeep <sbhatta@marvell.com>

    [ Upstream commit e8fb4df1f5d84bc08dd4f4827821a851d2eab241 ]

    'bp_ena' in Aura context is NIX block index, setting it
    zero will always backpressure NIX0 block, even if NIXLF
    belongs to NIX1. Hence fix this by setting it appropriately
    based on NIX block address.

    Signed-off-by: Subbaraya Sundeep <sbhatta@marvell.com>
    Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
    Signed-off-by: Sunil Goutham <sgoutham@marvell.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    .../ethernet/marvell/octeontx2/nic/otx2_common.c | 15 +++++++++++++++
    1 file changed, 15 insertions(+)

    diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
    index 94dfd64f526f..9c8aa1f3dbbb 100644
    --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
    +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c
    @@ -1204,7 +1204,22 @@ static int otx2_aura_init(struct otx2_nic *pfvf, int aura_id,
    /* Enable backpressure for RQ aura */
    if (aura_id < pfvf->hw.rqpool_cnt && !is_otx2_lbkvf(pfvf->pdev)) {
    aq->aura.bp_ena = 0;
    + /* If NIX1 LF is attached then specify NIX1_RX.
    + *
    + * Below NPA_AURA_S[BP_ENA] is set according to the
    + * NPA_BPINTF_E enumeration given as:
    + * 0x0 + a*0x1 where 'a' is 0 for NIX0_RX and 1 for NIX1_RX so
    + * NIX0_RX is 0x0 + 0*0x1 = 0
    + * NIX1_RX is 0x0 + 1*0x1 = 1
    + * But in HRM it is given that
    + * "NPA_AURA_S[BP_ENA](w1[33:32]) - Enable aura backpressure to
    + * NIX-RX based on [BP] level. One bit per NIX-RX; index
    + * enumerated by NPA_BPINTF_E."
    + */
    + if (pfvf->nix_blkaddr == BLKADDR_NIX1)
    + aq->aura.bp_ena = 1;
    aq->aura.nix0_bpid = pfvf->bpid[0];
    +
    /* Set backpressure level for RQ's Aura */
    aq->aura.bp = RQ_BP_LVL_AURA;
    }
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-09-16 19:43    [W:4.187 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site