• Ping-Ke Shih's avatar
    rtlwifi: cleanup 8723be ant_sel definition · af8a41cc
    Ping-Ke Shih authored
    Some HP laptops have only a single wifi antenna. This would not be a
    problem except that they were shipped with an incorrectly encoded
    EFUSE. It should have been possible to open the computer and transfer
    the antenna connection to the other terminal except that such action
    might void the warranty, and moving the antenna broke the Windows
    driver. The fix was to add a module option that would override the
    EFUSE encoding. That was done with commit c18d8f50 ("rtlwifi:
    rtl8723be: Add antenna select module parameter"). There was still a
    problem with Bluetooth coexistence, which was addressed with commit
    baa17022 ("rtlwifi: btcoexist: Implement antenna selection").
    There were still problems, thus there were commit 0ff78ade
    ("rtlwifi: rtl8723be: fix ant_sel code") and commit 6d622692
    ("rtlwifi: btcoexist: Fix antenna selection code"). Despite all these
    attempts at fixing the problem, the code is not yet right. A proper
    fix is important as there are now instances of laptops having
    RTL8723DE chips with the same problem.
    
    The module parameter ant_sel is used to control antenna number and path.
    At present enum ANT_{X2,X1} is used to define the antenna number, but
    this choice is not intuitive, thus change to a new enum ANT_{MAIN,AUX}
    to make it more readable. This change showed examples where incorrect
    values were used. It was also possible to remove a workaround in
    halbtcoutsrc.c.
    
    The experimental results with single antenna connected to specific path
    are now as follows:
      ant_sel  ANT_MAIN(#1)  ANT_AUX(#2)
         0        -8            -62
         1        -62           -10
         2        -6            -60
    Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
    Fixes: c18d8f50 ("rtlwifi: rtl8723be: Add antenna select module parameter")
    Fixes: baa17022 ("rtlwifi: btcoexist: Implement antenna selection")
    Fixes: 0ff78ade ("rtlwifi: rtl8723be: fix ant_sel code")
    Fixes: 6d622692 ("rtlwifi: btcoexist: Fix antenna selection code")
    Cc: Stable <stable@vger.kernel.org> # 4.7+
    Reviewed-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    af8a41cc
halbtcoutsrc.c 56.4 KB