Browse Source

rtl8xxxu: Pick PHY init table based on chip version first

Pick PHY init table based on device before distinguishing between
1T/2T/high PA tables. The latter is only currently used for
8188cu/8192cu/8188ru.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Jes Sorensen 9 years ago
parent
commit
abd71bdb94
1 changed files with 6 additions and 7 deletions
  1. 6 7
      drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c

+ 6 - 7
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c

@@ -3637,11 +3637,7 @@ static int rtl8xxxu_init_phy_bb(struct rtl8xxxu_priv *priv)
 	val8 = RF_ENABLE | RF_RSTB | RF_SDMRSTB;
 	rtl8xxxu_write8(priv, REG_RF_CTRL, val8);
 
-	if (priv->hi_pa)
-		rtl8xxxu_init_phy_regs(priv, rtl8188ru_phy_1t_highpa_table);
-	else if (priv->tx_paths == 2)
-		rtl8xxxu_init_phy_regs(priv, rtl8192cu_phy_2t_init_table);
-	else if (priv->rtl_chip == RTL8723B) {
+	if (priv->rtl_chip == RTL8723B) {
 		/*
 		 * Why?
 		 */
@@ -3656,10 +3652,13 @@ static int rtl8xxxu_init_phy_bb(struct rtl8xxxu_priv *priv)
 		val8 = RF_ENABLE | RF_RSTB | RF_SDMRSTB;
 		rtl8xxxu_write8(priv, REG_RF_CTRL, val8);
 		rtl8xxxu_init_phy_regs(priv, rtl8192eu_phy_init_table);
-	} else
+	} else	if (priv->hi_pa)
+		rtl8xxxu_init_phy_regs(priv, rtl8188ru_phy_1t_highpa_table);
+	else if (priv->tx_paths == 2)
+		rtl8xxxu_init_phy_regs(priv, rtl8192cu_phy_2t_init_table);
+	else
 		rtl8xxxu_init_phy_regs(priv, rtl8723a_phy_1t_init_table);
 
-
 	if (priv->rtl_chip == RTL8188C && priv->hi_pa &&
 	    priv->vendor_umc && priv->chip_cut == 1)
 		rtl8xxxu_write8(priv, REG_OFDM0_AGC_PARM1 + 2, 0x50);