mbox series

[v2,0/6] wifi: rtw89: prepare timeslot and trigger firmware for MCC

Message ID 20230831053133.24015-1-pkshih@realtek.com (mailing list archive)
Headers show
Series wifi: rtw89: prepare timeslot and trigger firmware for MCC | expand

Message

Ping-Ke Shih Aug. 31, 2023, 5:31 a.m. UTC
This is second patchset to prepare more materials for MCC. It includes
group 5 patch below that is to calculate timeslot assignment (or named
pattern) for various combinations, such as use cases with/without BT
devices connected.

Since the detail calculation of timeslot is complicated, we split them
into several patches. Each of them calculates timeslot from
'coarse-grained' to 'fine-grained'. Then, use H2C command to notify
firmware to start MCC work that follows these timeslot patterns to
switch channels with protocols of 802.11 PS and NoA.

v2:
  - fix unfined '__umoddi3' issue found by 0-DAY CI Kernel Test Service

<<< Below commit message is kept as first patchset for reference >>>

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. [DONE] get BT timeslot from coex mechanism
Group 2. [DONE] adjust some stuff related to driver channel context
Group 3. [DONE] P2P NoA infrastructure to add the IE to beacon when playing GO
Group 4. [DONE] adjust driver to support 2 channel context
Group 5. [CURRENT] 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

Zong-Zhe Yang (6):
  wifi: rtw89: mcc: initialize start flow
  wifi: rtw89: mcc: fill fundamental configurations
  wifi: rtw89: mcc: consider and determine BT duration
  wifi: rtw89: mcc: decide pattern and calculate parameters
  wifi: rtw89: fix typo of rtw89_fw_h2c_mcc_macid_bitmap()
  wifi: rtw89: mcc: trigger FW to start/stop MCC

 drivers/net/wireless/realtek/rtw89/chan.c | 1155 +++++++++++++++++++++
 drivers/net/wireless/realtek/rtw89/chan.h |   20 +
 drivers/net/wireless/realtek/rtw89/core.c |    4 +
 drivers/net/wireless/realtek/rtw89/core.h |   87 ++
 drivers/net/wireless/realtek/rtw89/fw.c   |    2 +-
 drivers/net/wireless/realtek/rtw89/fw.h   |    2 +-
 6 files changed, 1268 insertions(+), 2 deletions(-)