wifi: mt76: mt7996: enable BSS_CHANGED_BASIC_RATES support
authorRyder Lee <ryder.lee@mediatek.com>
Thu, 13 Apr 2023 20:23:31 +0000 (04:23 +0800)
committerFelix Fietkau <nbd@nbd.name>
Wed, 19 Apr 2023 08:09:43 +0000 (10:09 +0200)
commit15ee62e73705df447971613de4fa660dd71ed40e
treecb5d868888b0656b0dd070e2816d74e146a61f7c
parent9c54548bc9e46217c551ed69fd2f14f4cb5155eb
wifi: mt76: mt7996: enable BSS_CHANGED_BASIC_RATES support

The connac3 removes fixed rate fields to reduce txd size and introduces
global rate tables (64 entries) for rate setting. Driver needs to fill
the corresponding idx in MT_TXD6_TX_RATE while tx, and push mt76_rate
into predifined table at bootup stage so that  mvif->basic_rates_idx
can immediately switch out once setting changes.

spe_idx is also needed for fixed rate frames, and will be updated by
future patches.

Note that all table entries are shared across driver and firmware
(i.e.TxBF), hence adding MT7996_BASIC_RATES_TBL to reflect mapping
status.

Signed-off-by: Ryder Lee <ryder.lee@mediatek.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/mt7996/init.c
drivers/net/wireless/mediatek/mt76/mt7996/mac.c
drivers/net/wireless/mediatek/mt76/mt7996/mac.h
drivers/net/wireless/mediatek/mt76/mt7996/main.c
drivers/net/wireless/mediatek/mt76/mt7996/mcu.c
drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h
drivers/net/wireless/mediatek/mt76/mt7996/regs.h