mirror of
https://github.com/torvalds/linux.git
synced 2024-12-04 01:51:34 +00:00
4136214f7c
Both RTL8822BE/RTL8822CE are WiFi + BT combo chips. Since WiFi and BT use 2.4GHz to transmit, it is important to make sure they run concurrently without interfering each other. To achieve this, WiFi driver requires a mechanism to collaborate with BT, whether they share the antenna(s) or not. The final decision made by the co-existence mechanism is to choose a proper strategy, or called "tdma/table", and inform either firmware or hardware of the strategy. To choose a strategy, co-existence mechanism needs to have enough information from WiFi and BT. BT information is provided through firmware C2H. The contents describe the current status of BT, such as if BT is connected or is idle, or the profile that is being used. WiFi information can be provided by WiFi itself. The WiFi driver will call various of "notify" functions each time the state of WiFi changed, such as WiFi is going to switch channel or is connected. Also WiFi driver can know if it shares antenna with BT by reading efuse content. Antenna configuration of the module will finally get a different strategy. Upon receiving any information from WiFi or BT, the WiFi driver will run the co-existence mechanism immediately. It will set the RF antenna configuration according to the strategy through the TDMA H2C to firmware and a hardware table. Based on the tdma/table, WiFi + BT should work with each other, and having a better user experience. Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> |
||
---|---|---|
.. | ||
coex.c | ||
coex.h | ||
debug.c | ||
debug.h | ||
efuse.c | ||
efuse.h | ||
fw.c | ||
fw.h | ||
hci.h | ||
Kconfig | ||
mac80211.c | ||
mac.c | ||
mac.h | ||
main.c | ||
main.h | ||
Makefile | ||
pci.c | ||
pci.h | ||
phy.c | ||
phy.h | ||
ps.c | ||
ps.h | ||
reg.h | ||
regd.c | ||
regd.h | ||
rtw8822b_table.c | ||
rtw8822b_table.h | ||
rtw8822b.c | ||
rtw8822b.h | ||
rtw8822c_table.c | ||
rtw8822c_table.h | ||
rtw8822c.c | ||
rtw8822c.h | ||
rx.c | ||
rx.h | ||
sec.c | ||
sec.h | ||
tx.c | ||
tx.h | ||
util.c | ||
util.h |