rtl8xxxu: Introduce fops bitflag indicating type of thermal meter
authorJes Sorensen <Jes.Sorensen@redhat.com>
Fri, 19 Aug 2016 21:46:36 +0000 (17:46 -0400)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 3 Sep 2016 16:57:22 +0000 (19:57 +0300)
Do not rely on TX descriptor size to determine the thermal meter
type.

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_8192e.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c

index c5b6846..68d80c4 100644 (file)
@@ -1342,6 +1342,7 @@ struct rtl8xxxu_fileops {
        char rx_desc_size;
        u8 has_s0s1:1;
        u8 has_tx_report:1;
+       u8 gen2_thermal_meter:1;
        u32 adda_1t_init;
        u32 adda_1t_path_on;
        u32 adda_2t_path_on_a;
index 9a1994f..9901199 100644 (file)
@@ -1505,6 +1505,7 @@ struct rtl8xxxu_fileops rtl8192eu_fops = {
        .tx_desc_size = sizeof(struct rtl8xxxu_txdesc40),
        .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc24),
        .has_s0s1 = 0,
+       .gen2_thermal_meter = 1,
        .adda_1t_init = 0x0fc01616,
        .adda_1t_path_on = 0x0fc01616,
        .adda_2t_path_on_a = 0x0fc01616,
index 0b6a6ca..dd2c0f0 100644 (file)
@@ -1667,6 +1667,7 @@ struct rtl8xxxu_fileops rtl8723bu_fops = {
        .rx_desc_size = sizeof(struct rtl8xxxu_rxdesc24),
        .has_s0s1 = 1,
        .has_tx_report = 1,
+       .gen2_thermal_meter = 1,
        .adda_1t_init = 0x01c00014,
        .adda_1t_path_on = 0x01c00014,
        .adda_2t_path_on_a = 0x01c00014,
index 81b9582..6de5b8f 100644 (file)
@@ -4195,7 +4195,7 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw)
        /*
         * This should enable thermal meter
         */
-       if (priv->fops->tx_desc_size == sizeof(struct rtl8xxxu_txdesc40))
+       if (priv->fops->gen2_thermal_meter)
                rtl8xxxu_write_rfreg(priv,
                                     RF_A, RF6052_REG_T_METER_8723B, 0x37cf8);
        else