• Chris Chiu's avatar
    rtl8xxxu: add bluetooth co-existence support for single antenna · e542e66b
    Chris Chiu authored
    The RTL8723BU suffers the wifi disconnection problem while bluetooth
    device connected. While wifi is doing tx/rx, the bluetooth will scan
    without results. This is due to the wifi and bluetooth share the same
    single antenna for RF communication and they need to have a mechanism
    to collaborate.
    
    BT information is provided via the packet sent from co-processor to
    host (C2H). It contains the status of BT but the rtl8723bu_handle_c2h
    dose not really handle it. And there's no bluetooth coexistence
    mechanism to deal with it.
    
    This commit adds a workqueue to set the tdma configurations and
    coefficient table per the parsed bluetooth link status and given
    wifi connection state. The tdma/coef table comes from the vendor
    driver code of the RTL8192EU and RTL8723BU. However, this commit is
    only for single antenna scenario which RTL8192EU is default dual
    antenna. The rtl8xxxu_parse_rxdesc24 which invokes the handle_c2h
    is only for 8723b and 8192e so the mechanism is expected to work
    on both chips with single antenna. Note RTL8192EU dual antenna is
    not supported.
    Signed-off-by: default avatarChris Chiu <chiu@endlessm.com>
    Signed-off-by: default avatarJes Sorensen <Jes.Sorensen@gmail.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    e542e66b
rtl8xxxu.h 35.9 KB