TDMA-based MCC (STA+P2P) is a kind of multiple interfaces concurrence. Basically, driver is to calculate timeslot pattern and firmware follows the pattern to switch channels. Since BT-coexistence is also a TDMA-based mechanism, also consider BT timeslot into pattern if BT devices present. To easier to review these 20+ patches, I summary basic purpose of these patches below by group, and submit them by small patchset one by one. Group 1. get BT timeslot from coex mechanism Group 2. adjust some stuff related to driver channel context Group 3. P2P NoA infrastructure to add the IE to beacon when playing GO Group 4. adjust driver to support 2 channel context Group 5. calculate timeslot patterns and trigger firmware to switch channels followed the patterns Group 6. disable some dynamic tracking mechanism of RF calibration when MCC is running. Group 7. monitor states and adjust timeslot patterns. For example, if BT device leaves, we can reassign the slot to WiFi. Group 8. Remain-on-channel and hardware scan are related to channel context, so need some treatments to work with MCC properly. Group 9. Finally, we declare 8852C to support MCC This patchset includes groups 1-4 above, and depends on another patch "wifi: rtw89: Introduce Time Averaged SAR (TAS) feature" because both modify the same file, not functional dependency. Zong-Zhe Yang (6): wifi: rtw89: add function prototype for coex request duration wifi: rtw89: refine rtw89_correct_cck_chan() by rtw89_hw_to_nl80211_band() wifi: rtw89: sar: let caller decide the center frequency to query wifi: rtw89: call rtw89_chan_get() by vif chanctx if aware of vif wifi: rtw89: provide functions to configure NoA for beacon update wifi: rtw89: initialize multi-channel handling drivers/net/wireless/realtek/rtw89/chan.c | 124 ++++++++++++++++++ drivers/net/wireless/realtek/rtw89/chan.h | 5 + drivers/net/wireless/realtek/rtw89/coex.c | 3 +- drivers/net/wireless/realtek/rtw89/coex.h | 9 ++ drivers/net/wireless/realtek/rtw89/core.c | 114 +++++++++++----- drivers/net/wireless/realtek/rtw89/core.h | 78 +++++++++++ drivers/net/wireless/realtek/rtw89/debug.c | 10 +- drivers/net/wireless/realtek/rtw89/fw.c | 16 ++- drivers/net/wireless/realtek/rtw89/mac80211.c | 7 +- drivers/net/wireless/realtek/rtw89/phy.c | 29 ++-- drivers/net/wireless/realtek/rtw89/ps.c | 75 ++++++++++- drivers/net/wireless/realtek/rtw89/ps.h | 4 + drivers/net/wireless/realtek/rtw89/sar.c | 24 ++-- drivers/net/wireless/realtek/rtw89/sar.h | 6 +- 14 files changed, 436 insertions(+), 68 deletions(-) -- 2.25.1