lkml.org 
[lkml]   [2021]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 045/120] net: mvpp2: TCAM entry enable should be written after SRAM data
    Date
    From: Stefan Chulski <stefanc@marvell.com>

    [ Upstream commit 43f4a20a1266d393840ce010f547486d14cc0071 ]

    Last TCAM data contains TCAM enable bit.
    It should be written after SRAM data before entry enabled.

    Fixes: 3f518509dedc ("ethernet: Add new driver for Marvell Armada 375 network unit")
    Signed-off-by: Stefan Chulski <stefanc@marvell.com>
    Link: https://lore.kernel.org/r/1612172139-28343-1-git-send-email-stefanc@marvell.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
    index a30eb90ba3d28..dd590086fe6a5 100644
    --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
    +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_prs.c
    @@ -29,16 +29,16 @@ static int mvpp2_prs_hw_write(struct mvpp2 *priv, struct mvpp2_prs_entry *pe)
    /* Clear entry invalidation bit */
    pe->tcam[MVPP2_PRS_TCAM_INV_WORD] &= ~MVPP2_PRS_TCAM_INV_MASK;

    - /* Write tcam index - indirect access */
    - mvpp2_write(priv, MVPP2_PRS_TCAM_IDX_REG, pe->index);
    - for (i = 0; i < MVPP2_PRS_TCAM_WORDS; i++)
    - mvpp2_write(priv, MVPP2_PRS_TCAM_DATA_REG(i), pe->tcam[i]);
    -
    /* Write sram index - indirect access */
    mvpp2_write(priv, MVPP2_PRS_SRAM_IDX_REG, pe->index);
    for (i = 0; i < MVPP2_PRS_SRAM_WORDS; i++)
    mvpp2_write(priv, MVPP2_PRS_SRAM_DATA_REG(i), pe->sram[i]);

    + /* Write tcam index - indirect access */
    + mvpp2_write(priv, MVPP2_PRS_TCAM_IDX_REG, pe->index);
    + for (i = 0; i < MVPP2_PRS_TCAM_WORDS; i++)
    + mvpp2_write(priv, MVPP2_PRS_TCAM_DATA_REG(i), pe->tcam[i]);
    +
    return 0;
    }

    --
    2.27.0


    \
     
     \ /
      Last update: 2021-02-08 18:07    [W:4.059 / U:1.524 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site