wifi: rtw89: pause/proceed MCC for ROC and HW scan
authorZong-Zhe Yang <kevin_yang@realtek.com>
Thu, 21 Sep 2023 00:35:57 +0000 (08:35 +0800)
committerKalle Valo <kvalo@kernel.org>
Thu, 28 Sep 2023 16:25:04 +0000 (19:25 +0300)
commit5f499ce69b8dfcae6c7459eb30175c2495b8441f
treeccf8cecf021c44f5dc46bf43e8017fde6ec453c8
parenta4d7c872eb87ac00b0af475796f77abda3193b3f
wifi: rtw89: pause/proceed MCC for ROC and HW scan

During (TDMA-based) MCC (multi-channel concurrency), the below two
cases might not have a good behavior on channel usage.
* ROC (remain on channel)
* HW scan
So, we tend to separate them from MCC.

The two cases would expect to operate the channel to which they want.
However, during MCC, channels are scheduled by FW MCC state mechanism.
So, channels cannot be controlled explicitly. To avoid the two cases
from operating wrong channels with chance, we pause MCC (essentially
stop FW MCC) once the two cases are coming. And then, we proceed MCC
again (essentially restart FW MCC) once the two cases finish.

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/20230921003559.11588-3-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
drivers/net/wireless/realtek/rtw89/fw.c