diff mbox series

[1/1] UBUNTU: SAUCE: Revert "rtlwifi: cleanup 8723be ant_sel definition"

Message ID 20190311161057.10757-2-kai.heng.feng@canonical.com
State New
Headers show
Series Make rtl8723be work again | expand

Commit Message

Kai-Heng Feng March 11, 2019, 4:10 p.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1788997

This reverts commit c4748a936d6c0498c382abf479e78f4aa65312be.

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c      | 15 +++++++++++++++
 .../net/wireless/realtek/rtlwifi/rtl8723be/hw.c   | 11 ++++-------
 drivers/net/wireless/realtek/rtlwifi/wifi.h       |  5 -----
 3 files changed, 19 insertions(+), 12 deletions(-)

Comments

Kleber Sacilotto de Souza March 27, 2019, 4:37 p.m. UTC | #1
On 3/11/19 5:10 PM, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1788997
>
> This reverts commit c4748a936d6c0498c382abf479e78f4aa65312be.
>
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>


Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>


> ---
>  .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c      | 15 +++++++++++++++
>  .../net/wireless/realtek/rtlwifi/rtl8723be/hw.c   | 11 ++++-------
>  drivers/net/wireless/realtek/rtlwifi/wifi.h       |  5 -----
>  3 files changed, 19 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
> index a9e1239ff21b..b5e9877d935c 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
> @@ -173,6 +173,16 @@ static u8 halbtc_get_wifi_central_chnl(struct btc_coexist *btcoexist)
>  
>  u8 rtl_get_hwpg_single_ant_path(struct rtl_priv *rtlpriv)
>  {
> +	struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params;
> +
> +	/* override ant_num / ant_path */
> +	if (mod_params->ant_sel) {
> +		rtlpriv->btcoexist.btc_info.ant_num =
> +			(mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1);
> +
> +		rtlpriv->btcoexist.btc_info.single_ant_path =
> +			(mod_params->ant_sel == 1 ? 0 : 1);
> +	}
>  	return rtlpriv->btcoexist.btc_info.single_ant_path;
>  }
>  
> @@ -183,6 +193,7 @@ u8 rtl_get_hwpg_bt_type(struct rtl_priv *rtlpriv)
>  
>  u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv)
>  {
> +	struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params;
>  	u8 num;
>  
>  	if (rtlpriv->btcoexist.btc_info.ant_num == ANT_X2)
> @@ -190,6 +201,10 @@ u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv)
>  	else
>  		num = 1;
>  
> +	/* override ant_num / ant_path */
> +	if (mod_params->ant_sel)
> +		num = (mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1) + 1;
> +
>  	return num;
>  }
>  
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> index 67a490c0a98c..7df0a02f9b34 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> @@ -847,9 +847,6 @@ static bool _rtl8723be_init_mac(struct ieee80211_hw *hw)
>  		return false;
>  	}
>  
> -	if (rtlpriv->cfg->ops->get_btc_status())
> -		rtlpriv->btcoexist.btc_ops->btc_power_on_setting(rtlpriv);
> -
>  	bytetmp = rtl_read_byte(rtlpriv, REG_MULTI_FUNC_CTRL);
>  	rtl_write_byte(rtlpriv, REG_MULTI_FUNC_CTRL, bytetmp | BIT(3));
>  
> @@ -2699,21 +2696,21 @@ void rtl8723be_read_bt_coexist_info_from_hwpg(struct ieee80211_hw *hw,
>  		rtlpriv->btcoexist.btc_info.bt_type = BT_RTL8723B;
>  		rtlpriv->btcoexist.btc_info.ant_num = (value & 0x1);
>  		rtlpriv->btcoexist.btc_info.single_ant_path =
> -			 (value & 0x40 ? ANT_AUX : ANT_MAIN);	/*0xc3[6]*/
> +			 (value & 0x40);	/*0xc3[6]*/
>  	} else {
>  		rtlpriv->btcoexist.btc_info.btcoexist = 0;
>  		rtlpriv->btcoexist.btc_info.bt_type = BT_RTL8723B;
>  		rtlpriv->btcoexist.btc_info.ant_num = ANT_X2;
> -		rtlpriv->btcoexist.btc_info.single_ant_path = ANT_MAIN;
> +		rtlpriv->btcoexist.btc_info.single_ant_path = 0;
>  	}
>  
>  	/* override ant_num / ant_path */
>  	if (mod_params->ant_sel) {
>  		rtlpriv->btcoexist.btc_info.ant_num =
> -			(mod_params->ant_sel == 1 ? ANT_X1 : ANT_X2);
> +			(mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1);
>  
>  		rtlpriv->btcoexist.btc_info.single_ant_path =
> -			(mod_params->ant_sel == 1 ? ANT_AUX : ANT_MAIN);
> +			(mod_params->ant_sel == 1 ? 0 : 1);
>  	}
>  }
>  
> diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h
> index c7a07b95341e..e005bed150cc 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/wifi.h
> +++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h
> @@ -2714,11 +2714,6 @@ enum bt_ant_num {
>  	ANT_X1 = 1,
>  };
>  
> -enum bt_ant_path {
> -	ANT_MAIN = 0,
> -	ANT_AUX = 1,
> -};
> -
>  enum bt_co_type {
>  	BT_2WIRE = 0,
>  	BT_ISSC_3WIRE = 1,
Stefan Bader March 27, 2019, 4:40 p.m. UTC | #2
On 11.03.19 17:10, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1788997
> 
> This reverts commit c4748a936d6c0498c382abf479e78f4aa65312be.
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>
> ---

For the time being ok, but need some plan for future.

>  .../realtek/rtlwifi/btcoexist/halbtcoutsrc.c      | 15 +++++++++++++++
>  .../net/wireless/realtek/rtlwifi/rtl8723be/hw.c   | 11 ++++-------
>  drivers/net/wireless/realtek/rtlwifi/wifi.h       |  5 -----
>  3 files changed, 19 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
> index a9e1239ff21b..b5e9877d935c 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
> @@ -173,6 +173,16 @@ static u8 halbtc_get_wifi_central_chnl(struct btc_coexist *btcoexist)
>  
>  u8 rtl_get_hwpg_single_ant_path(struct rtl_priv *rtlpriv)
>  {
> +	struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params;
> +
> +	/* override ant_num / ant_path */
> +	if (mod_params->ant_sel) {
> +		rtlpriv->btcoexist.btc_info.ant_num =
> +			(mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1);
> +
> +		rtlpriv->btcoexist.btc_info.single_ant_path =
> +			(mod_params->ant_sel == 1 ? 0 : 1);
> +	}
>  	return rtlpriv->btcoexist.btc_info.single_ant_path;
>  }
>  
> @@ -183,6 +193,7 @@ u8 rtl_get_hwpg_bt_type(struct rtl_priv *rtlpriv)
>  
>  u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv)
>  {
> +	struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params;
>  	u8 num;
>  
>  	if (rtlpriv->btcoexist.btc_info.ant_num == ANT_X2)
> @@ -190,6 +201,10 @@ u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv)
>  	else
>  		num = 1;
>  
> +	/* override ant_num / ant_path */
> +	if (mod_params->ant_sel)
> +		num = (mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1) + 1;
> +
>  	return num;
>  }
>  
> diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> index 67a490c0a98c..7df0a02f9b34 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
> @@ -847,9 +847,6 @@ static bool _rtl8723be_init_mac(struct ieee80211_hw *hw)
>  		return false;
>  	}
>  
> -	if (rtlpriv->cfg->ops->get_btc_status())
> -		rtlpriv->btcoexist.btc_ops->btc_power_on_setting(rtlpriv);
> -
>  	bytetmp = rtl_read_byte(rtlpriv, REG_MULTI_FUNC_CTRL);
>  	rtl_write_byte(rtlpriv, REG_MULTI_FUNC_CTRL, bytetmp | BIT(3));
>  
> @@ -2699,21 +2696,21 @@ void rtl8723be_read_bt_coexist_info_from_hwpg(struct ieee80211_hw *hw,
>  		rtlpriv->btcoexist.btc_info.bt_type = BT_RTL8723B;
>  		rtlpriv->btcoexist.btc_info.ant_num = (value & 0x1);
>  		rtlpriv->btcoexist.btc_info.single_ant_path =
> -			 (value & 0x40 ? ANT_AUX : ANT_MAIN);	/*0xc3[6]*/
> +			 (value & 0x40);	/*0xc3[6]*/
>  	} else {
>  		rtlpriv->btcoexist.btc_info.btcoexist = 0;
>  		rtlpriv->btcoexist.btc_info.bt_type = BT_RTL8723B;
>  		rtlpriv->btcoexist.btc_info.ant_num = ANT_X2;
> -		rtlpriv->btcoexist.btc_info.single_ant_path = ANT_MAIN;
> +		rtlpriv->btcoexist.btc_info.single_ant_path = 0;
>  	}
>  
>  	/* override ant_num / ant_path */
>  	if (mod_params->ant_sel) {
>  		rtlpriv->btcoexist.btc_info.ant_num =
> -			(mod_params->ant_sel == 1 ? ANT_X1 : ANT_X2);
> +			(mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1);
>  
>  		rtlpriv->btcoexist.btc_info.single_ant_path =
> -			(mod_params->ant_sel == 1 ? ANT_AUX : ANT_MAIN);
> +			(mod_params->ant_sel == 1 ? 0 : 1);
>  	}
>  }
>  
> diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h
> index c7a07b95341e..e005bed150cc 100644
> --- a/drivers/net/wireless/realtek/rtlwifi/wifi.h
> +++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h
> @@ -2714,11 +2714,6 @@ enum bt_ant_num {
>  	ANT_X1 = 1,
>  };
>  
> -enum bt_ant_path {
> -	ANT_MAIN = 0,
> -	ANT_AUX = 1,
> -};
> -
>  enum bt_co_type {
>  	BT_2WIRE = 0,
>  	BT_ISSC_3WIRE = 1,
>
diff mbox series

Patch

diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
index a9e1239ff21b..b5e9877d935c 100644
--- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
+++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c
@@ -173,6 +173,16 @@  static u8 halbtc_get_wifi_central_chnl(struct btc_coexist *btcoexist)
 
 u8 rtl_get_hwpg_single_ant_path(struct rtl_priv *rtlpriv)
 {
+	struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params;
+
+	/* override ant_num / ant_path */
+	if (mod_params->ant_sel) {
+		rtlpriv->btcoexist.btc_info.ant_num =
+			(mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1);
+
+		rtlpriv->btcoexist.btc_info.single_ant_path =
+			(mod_params->ant_sel == 1 ? 0 : 1);
+	}
 	return rtlpriv->btcoexist.btc_info.single_ant_path;
 }
 
@@ -183,6 +193,7 @@  u8 rtl_get_hwpg_bt_type(struct rtl_priv *rtlpriv)
 
 u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv)
 {
+	struct rtl_mod_params *mod_params = rtlpriv->cfg->mod_params;
 	u8 num;
 
 	if (rtlpriv->btcoexist.btc_info.ant_num == ANT_X2)
@@ -190,6 +201,10 @@  u8 rtl_get_hwpg_ant_num(struct rtl_priv *rtlpriv)
 	else
 		num = 1;
 
+	/* override ant_num / ant_path */
+	if (mod_params->ant_sel)
+		num = (mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1) + 1;
+
 	return num;
 }
 
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
index 67a490c0a98c..7df0a02f9b34 100644
--- a/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
+++ b/drivers/net/wireless/realtek/rtlwifi/rtl8723be/hw.c
@@ -847,9 +847,6 @@  static bool _rtl8723be_init_mac(struct ieee80211_hw *hw)
 		return false;
 	}
 
-	if (rtlpriv->cfg->ops->get_btc_status())
-		rtlpriv->btcoexist.btc_ops->btc_power_on_setting(rtlpriv);
-
 	bytetmp = rtl_read_byte(rtlpriv, REG_MULTI_FUNC_CTRL);
 	rtl_write_byte(rtlpriv, REG_MULTI_FUNC_CTRL, bytetmp | BIT(3));
 
@@ -2699,21 +2696,21 @@  void rtl8723be_read_bt_coexist_info_from_hwpg(struct ieee80211_hw *hw,
 		rtlpriv->btcoexist.btc_info.bt_type = BT_RTL8723B;
 		rtlpriv->btcoexist.btc_info.ant_num = (value & 0x1);
 		rtlpriv->btcoexist.btc_info.single_ant_path =
-			 (value & 0x40 ? ANT_AUX : ANT_MAIN);	/*0xc3[6]*/
+			 (value & 0x40);	/*0xc3[6]*/
 	} else {
 		rtlpriv->btcoexist.btc_info.btcoexist = 0;
 		rtlpriv->btcoexist.btc_info.bt_type = BT_RTL8723B;
 		rtlpriv->btcoexist.btc_info.ant_num = ANT_X2;
-		rtlpriv->btcoexist.btc_info.single_ant_path = ANT_MAIN;
+		rtlpriv->btcoexist.btc_info.single_ant_path = 0;
 	}
 
 	/* override ant_num / ant_path */
 	if (mod_params->ant_sel) {
 		rtlpriv->btcoexist.btc_info.ant_num =
-			(mod_params->ant_sel == 1 ? ANT_X1 : ANT_X2);
+			(mod_params->ant_sel == 1 ? ANT_X2 : ANT_X1);
 
 		rtlpriv->btcoexist.btc_info.single_ant_path =
-			(mod_params->ant_sel == 1 ? ANT_AUX : ANT_MAIN);
+			(mod_params->ant_sel == 1 ? 0 : 1);
 	}
 }
 
diff --git a/drivers/net/wireless/realtek/rtlwifi/wifi.h b/drivers/net/wireless/realtek/rtlwifi/wifi.h
index c7a07b95341e..e005bed150cc 100644
--- a/drivers/net/wireless/realtek/rtlwifi/wifi.h
+++ b/drivers/net/wireless/realtek/rtlwifi/wifi.h
@@ -2714,11 +2714,6 @@  enum bt_ant_num {
 	ANT_X1 = 1,
 };
 
-enum bt_ant_path {
-	ANT_MAIN = 0,
-	ANT_AUX = 1,
-};
-
 enum bt_co_type {
 	BT_2WIRE = 0,
 	BT_ISSC_3WIRE = 1,