rtl8xxxu: Do not set FPGA0_TX_INFO for 8723bu and use a larger PBP page size
authorJes Sorensen <Jes.Sorensen@redhat.com>
Mon, 29 Feb 2016 22:05:01 +0000 (17:05 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 10 Mar 2016 13:29:08 +0000 (15:29 +0200)
The vendor driver does not set FPGA0_TX_INFO here. In additiona the
8723bu can handler a larger PBP page size.

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 27fb89fe99ec25c5b2190bdd935a2fe304be97a1..bb43937788ce3b76d0aa06386d78fcbfdeeb2bdd 100644 (file)
@@ -6165,7 +6165,8 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
                goto exit;
 
        /* RFSW Control - clear bit 14 ?? */
-       rtl8xxxu_write32(priv, REG_FPGA0_TX_INFO, 0x00000003);
+       if (priv->rtlchip != 0x8723b)
+               rtl8xxxu_write32(priv, REG_FPGA0_TX_INFO, 0x00000003);
        /* 0x07000760 */
        val32 = FPGA0_RF_TRSW | FPGA0_RF_TRSWB | FPGA0_RF_ANTSW |
                FPGA0_RF_ANTSWB | FPGA0_RF_PAPE |
@@ -6185,8 +6186,12 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
        /*
         * Transfer page size is always 128
         */
-       val8 = (PBP_PAGE_SIZE_128 << PBP_PAGE_SIZE_RX_SHIFT) |
-               (PBP_PAGE_SIZE_128 << PBP_PAGE_SIZE_TX_SHIFT);
+       if (priv->rtlchip == 0x8723b)
+               val8 = (PBP_PAGE_SIZE_256 << PBP_PAGE_SIZE_RX_SHIFT) |
+                       (PBP_PAGE_SIZE_256 << PBP_PAGE_SIZE_TX_SHIFT);
+       else
+               val8 = (PBP_PAGE_SIZE_128 << PBP_PAGE_SIZE_RX_SHIFT) |
+                       (PBP_PAGE_SIZE_128 << PBP_PAGE_SIZE_TX_SHIFT);
        rtl8xxxu_write8(priv, REG_PBP, val8);
 
        /*