Commit f4b2fa2c authored by Felix Fietkau's avatar Felix Fietkau Committed by Jakub Kicinski

net: ethernet: mtk_eth_soc: drop packets to WDMA if the ring is full

Improves handling of DMA ring overflow.
Clarify other WDMA drop related comment.
Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
Link: https://lore.kernel.org/r/20221116080734.44013-3-nbd@nbd.nameSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent c30e0b9b
...@@ -3425,9 +3425,12 @@ static int mtk_hw_init(struct mtk_eth *eth) ...@@ -3425,9 +3425,12 @@ static int mtk_hw_init(struct mtk_eth *eth)
mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP); mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) { if (MTK_HAS_CAPS(eth->soc->caps, MTK_NETSYS_V2)) {
/* PSE should not drop port8 and port9 packets */ /* PSE should not drop port8 and port9 packets from WDMA Tx */
mtk_w32(eth, 0x00000300, PSE_DROP_CFG); mtk_w32(eth, 0x00000300, PSE_DROP_CFG);
/* PSE should drop packets to port 8/9 on WDMA Rx ring full */
mtk_w32(eth, 0x00000300, PSE_PPE0_DROP);
/* PSE Free Queue Flow Control */ /* PSE Free Queue Flow Control */
mtk_w32(eth, 0x01fa01f4, PSE_FQFC_CFG2); mtk_w32(eth, 0x01fa01f4, PSE_FQFC_CFG2);
......
...@@ -127,6 +127,7 @@ ...@@ -127,6 +127,7 @@
#define PSE_FQFC_CFG1 0x100 #define PSE_FQFC_CFG1 0x100
#define PSE_FQFC_CFG2 0x104 #define PSE_FQFC_CFG2 0x104
#define PSE_DROP_CFG 0x108 #define PSE_DROP_CFG 0x108
#define PSE_PPE0_DROP 0x110
/* PSE Input Queue Reservation Register*/ /* PSE Input Queue Reservation Register*/
#define PSE_IQ_REV(x) (0x140 + (((x) - 1) << 2)) #define PSE_IQ_REV(x) (0x140 + (((x) - 1) << 2))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment