12345678910111213141516171819202122232425262728293031323334353637 |
- From: Felix Fietkau <[email protected]>
- Date: Thu, 3 Nov 2022 17:46:25 +0100
- Subject: [PATCH] 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: Felix Fietkau <[email protected]>
- ---
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -3714,9 +3714,12 @@ static int mtk_hw_init(struct mtk_eth *e
- mtk_w32(eth, 0x21021000, MTK_FE_INT_GRP);
-
- 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);
-
- + /* 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 */
- mtk_w32(eth, 0x01fa01f4, PSE_FQFC_CFG2);
-
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h
- @@ -140,6 +140,7 @@
- #define PSE_FQFC_CFG1 0x100
- #define PSE_FQFC_CFG2 0x104
- #define PSE_DROP_CFG 0x108
- +#define PSE_PPE0_DROP 0x110
-
- /* PSE Input Queue Reservation Register*/
- #define PSE_IQ_REV(x) (0x140 + (((x) - 1) << 2))
|