diff --git a/mt7603_init.c b/mt7603_init.c index c325d189..6ac9be3e 100644 --- a/mt7603_init.c +++ b/mt7603_init.c @@ -208,6 +208,10 @@ mt7603_mac_init(struct mt7603_dev *dev) MT76_SET(MT_AGG_CONTROL_CFEND_RATE, 0x69) | MT_AGG_CONTROL_NO_BA_AR_RULE); + mt76_wr(dev, MT_AGG_RETRY_CONTROL, + MT76_SET(MT_AGG_RETRY_CONTROL_BAR_LIMIT, 1) | + MT76_SET(MT_AGG_RETRY_CONTROL_RTS_LIMIT, 15)); + mt76_rmw(dev, MT_DMA_DCR0, ~0xfffc, MT_RX_BUF_SIZE); mt76_rmw(dev, MT_DMA_VCFR0, BIT(0), BIT(13)); diff --git a/mt7603_regs.h b/mt7603_regs.h index 5d84ec28..e51da8c0 100644 --- a/mt7603_regs.h +++ b/mt7603_regs.h @@ -162,6 +162,9 @@ #define MT_AGG_BWCR MT_WF_AGG(0x0ec) #define MT_AGG_BWCR_BW GENMASK(3, 2) +#define MT_AGG_RETRY_CONTROL MT_WF_AGG(0x0f4) +#define MT_AGG_RETRY_CONTROL_RTS_LIMIT GENMASK(11, 7) +#define MT_AGG_RETRY_CONTROL_BAR_LIMIT GENMASK(15, 12) #define MT_WF_DMA_BASE 0x21c00 #define MT_WF_DMA(ofs) (MT_WF_DMA_BASE + (ofs))