rtl8xxxu: Use flag to indicate whether device has TX report timer support
authorJes Sorensen <Jes.Sorensen@redhat.com>
Fri, 19 Aug 2016 21:46:34 +0000 (17:46 -0400)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 3 Sep 2016 16:57:20 +0000 (19:57 +0300)
Use a fileops flag to indicate whether the device has TX report timer
support. This will make it easier to include future devices such as
8188eu to use the TX report timer.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.h
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c

index da4f1487e2929821444119752b6d22d7191ca36f..c8d7075aefb9d61726b131213e12fd7de1b7c82b 100644 (file)
@@ -1341,6 +1341,7 @@ struct rtl8xxxu_fileops {
        char tx_desc_size;
        char rx_desc_size;
        char has_s0s1;
+       char has_tx_report;
        u32 adda_1t_init;
        u32 adda_1t_path_on;
        u32 adda_2t_path_on_a;
index c1323f0851f74d95455af15867e8a3c07f6da1fb..0b6a6ca40b980e1bed63003cd546a95bdb7ce4c3 100644 (file)
@@ -1666,6 +1666,7 @@ struct rtl8xxxu_fileops rtl8723bu_fops = {
        .tx_desc_size = sizeof(struct rtl8xxxu_txdesc40),
        .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc24),
        .has_s0s1 = 1,
+       .has_tx_report = 1,
        .adda_1t_init = 0x01c00014,
        .adda_1t_path_on = 0x01c00014,
        .adda_2t_path_on_a = 0x01c00014,
index 7a697c0384a6361700634296e70ca2a8e646d0ac..81b95825bc848f492b74729aadc94bcb95d594b6 100644 (file)
@@ -4000,10 +4000,9 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
                priv->fops->usb_quirks(priv);
 
                /*
-                * Presumably this is for 8188EU as well
-                * Enable TX report and TX report timer
+                * Enable TX report and TX report timer for 8723bu/8188eu/...
                 */
-               if (priv->rtl_chip == RTL8723B) {
+               if (priv->fops->has_tx_report) {
                        val8 = rtl8xxxu_read8(priv, REG_TX_REPORT_CTRL);
                        val8 |= TX_REPORT_CTRL_TIMER_ENABLE;
                        rtl8xxxu_write8(priv, REG_TX_REPORT_CTRL, val8);