[Description]

Add configurations to enable WDMA Rx ring full drop for
solving Panther AX7800/AX8400 5G(MT7915) WA CPU bound issue.

If without this patch, system might run into WiFi Tx/Rx
deadlock issue or WiFi Tx small packet low throughput issue.

[Release-log]
N/A

Change-Id: I57cd4a8e3ae19bdcb34d7d042989b7c1327ea08e
Reviewed-on: https://gerrit.mediatek.inc/c/openwrt/feeds/mtk_openwrt_feeds/+/6193220
This commit is contained in:
developer 2022-07-01 17:25:10 +08:00 committed by hanwckf
parent 5ead770db2
commit cb8d930879
2 changed files with 7 additions and 3 deletions

View File

@ -2941,8 +2941,11 @@ static int mtk_hw_init(struct mtk_eth *eth, u32 type)
/* PSE Free Queue Flow Control */
mtk_w32(eth, 0x01fa01f4, PSE_FQFC_CFG2);
/* PSE should not drop port8 and port9 packets */
mtk_w32(eth, 0x00000300, PSE_DROP_CFG);
/* PSE should not drop port8 and port9 packets from WDMA Tx */
mtk_w32(eth, 0x00000300, PSE_NO_DROP_CFG);
/* PSE should drop p8 and p9 packets when WDMA Rx ring full*/
mtk_w32(eth, 0x00000300, PSE_PPE0_DROP);
/* PSE config input queue threshold */
mtk_w32(eth, 0x001a000e, PSE_IQ_REV(1));

View File

@ -124,7 +124,8 @@
/* PSE Free Queue Flow Control */
#define PSE_FQFC_CFG1 0x100
#define PSE_FQFC_CFG2 0x104
#define PSE_DROP_CFG 0x108
#define PSE_NO_DROP_CFG 0x108
#define PSE_PPE0_DROP 0x110
/* PSE Input Queue Reservation Register*/
#define PSE_IQ_REV(x) (0x140 + ((x - 1) * 0x4))