OSDN Git Service

rtl8xxxu: Pick PHY init table based on chip version first
authorJes Sorensen <Jes.Sorensen@redhat.com>
Thu, 7 Apr 2016 18:19:22 +0000 (14:19 -0400)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 14 Apr 2016 12:45:19 +0000 (15:45 +0300)
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>
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c

index 48d2d56..fcbb679 100644 (file)
@@ -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);