]> git.baikalelectronics.ru Git - kernel.git/commit
rtlwifi: cleanup 8723be ant_sel definition
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 20 Apr 2018 02:30:09 +0000 (10:30 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Apr 2018 10:15:08 +0000 (13:15 +0300)
commit24c7a39a5069fb741c37a1b21156cd308f22986e
treeb5350d3d5457753a3e5988ca69ce6c8579c06673
parentc75d9651fc4faf38214aa54528b9aeca67f5096c
rtlwifi: cleanup 8723be ant_sel definition

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 92399876f1da ("rtlwifi:
rtl8723be: Add antenna select module parameter"). There was still a
problem with Bluetooth coexistence, which was addressed with commit
9a75d65c06f2 ("rtlwifi: btcoexist: Implement antenna selection").
There were still problems, thus there were commit bd17cf76e459
("rtlwifi: rtl8723be: fix ant_sel code") and commit 82a5d24af193
("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: Ping-Ke Shih <pkshih@realtek.com>
Fixes: 92399876f1da ("rtlwifi: rtl8723be: Add antenna select module parameter")
Fixes: 9a75d65c06f2 ("rtlwifi: btcoexist: Implement antenna selection")
Fixes: bd17cf76e459 ("rtlwifi: rtl8723be: fix ant_sel code")
Fixes: 82a5d24af193 ("rtlwifi: btcoexist: Fix antenna selection code")
Cc: Stable <stable@vger.kernel.org> # 4.7+
Reviewed-by: Larry Finger <Larry.Finger@lwfinger.net>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
drivers/net/wireless/realtek/rtlwifi/wifi.h