wifi: rtw89: mcc: update role bitmap when changed
authorZong-Zhe Yang <kevin_yang@realtek.com>
Fri, 8 Sep 2023 03:11:41 +0000 (11:11 +0800)
committerKalle Valo <kvalo@kernel.org>
Mon, 18 Sep 2023 14:28:45 +0000 (17:28 +0300)
commit31e415e3d08a3fe2cde555333a4ca3da6f483ef9
treeb152363c20aecb0e405f1f21d1c5ca41cd094dd8
parent6e9d6f8254ee4fd737b954a3d9cf70360d211dbf
wifi: rtw89: mcc: update role bitmap when changed

Each MCC (multi-channel concurrency) role maintains a bitmap of mac IDs.
The bitmap is supposed to contain the two points below.
* mac ID of itself
* mac ID(s) of STA(s) connecting to it
Under STA+GC mode, the bitmaps of both roles should not change. However,
under STA+GO mode, the bitmap of GO may change due to P2P clients which
connect/disconnect to/from it.

FW controls (TDMA-based) MCC things via mac IDs in bitmap of each role.
For example, mac IDs are required by FW when it wants to pause role1's
TX in role0 slot.

So, to sync between driver and FW, we update the new mac ID bitmap of GO
to FW once it's changed.

Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230908031145.20931-5-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/chan.c
drivers/net/wireless/realtek/rtw89/chan.h
drivers/net/wireless/realtek/rtw89/core.c
drivers/net/wireless/realtek/rtw89/core.h