octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable
authorAngela Czubak <aczubak@marvell.com>
Thu, 5 Jan 2023 16:01:07 +0000 (21:31 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Jan 2023 10:58:26 +0000 (11:58 +0100)
[ Upstream commit b4e9b8763e417db31c7088103cc557d55cb7a8f5 ]

PF netdev can request AF to enable or disable reception and transmission
on assigned CGX::LMAC. The current code instead of disabling or enabling
'reception and transmission' also disables/enable the LMAC. This patch
fixes this issue.

Fixes: 1435f66a28b4 ("octeontx2-af: CGX Rx/Tx enable/disable mbox handlers")
Signed-off-by: Angela Czubak <aczubak@marvell.com>
Signed-off-by: Hariprasad Kelam <hkelam@marvell.com>
Reviewed-by: Leon Romanovsky <leonro@nvidia.com>
Link: https://lore.kernel.org/r/20230105160107.17638-1-hkelam@marvell.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/marvell/octeontx2/af/cgx.c
drivers/net/ethernet/marvell/octeontx2/af/cgx.h

index c8724bf..8fdd3af 100644 (file)
@@ -768,9 +768,9 @@ int cgx_lmac_rx_tx_enable(void *cgxd, int lmac_id, bool enable)
 
        cfg = cgx_read(cgx, lmac_id, CGXX_CMRX_CFG);
        if (enable)
-               cfg |= CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN;
+               cfg |= DATA_PKT_RX_EN | DATA_PKT_TX_EN;
        else
-               cfg &= ~(CMR_EN | DATA_PKT_RX_EN | DATA_PKT_TX_EN);
+               cfg &= ~(DATA_PKT_RX_EN | DATA_PKT_TX_EN);
        cgx_write(cgx, lmac_id, CGXX_CMRX_CFG, cfg);
        return 0;
 }
index 0b06788..04338db 100644 (file)
@@ -30,7 +30,6 @@
 #define CMR_P2X_SEL_SHIFT              59ULL
 #define CMR_P2X_SEL_NIX0               1ULL
 #define CMR_P2X_SEL_NIX1               2ULL
-#define CMR_EN                         BIT_ULL(55)
 #define DATA_PKT_TX_EN                 BIT_ULL(53)
 #define DATA_PKT_RX_EN                 BIT_ULL(54)
 #define CGX_LMAC_TYPE_SHIFT            40