These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / net / wireless / realtek / rtlwifi / wifi.h
@@ -222,6 +222,25 @@ enum rf_tx_num {
 #define        WOL_REASON_REALWOW_V2_WAKEUPPKT BIT(9)
 #define        WOL_REASON_REALWOW_V2_ACKLOST   BIT(10)
 
+struct rtlwifi_firmware_header {
+       __le16 signature;
+       u8 category;
+       u8 function;
+       __le16 version;
+       u8 subversion;
+       u8 rsvd1;
+       u8 month;
+       u8 date;
+       u8 hour;
+       u8 minute;
+       __le16 ramcodeSize;
+       __le16 rsvd2;
+       __le32 svnindex;
+       __le32 rsvd3;
+       __le32 rsvd4;
+       __le32 rsvd5;
+};
+
 struct txpower_info_2g {
        u8 index_cck_base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
        u8 index_bw40_base[MAX_RF_PATH][MAX_CHNL_GROUP_24G];
@@ -1665,6 +1684,7 @@ struct rtl_dm {
        u8 last_dtp_lvl;
        u8 thermalvalue_avg[AVG_THERMAL_NUM];
        u8 thermalvalue_avg_index;
+       u8 tm_trigger;
        bool done_txpower;
        u8 dynamic_txhighpower_lvl;     /*Tx high power level */
        u8 dm_flag;             /*Indicate each dynamic mechanism's status. */
@@ -2063,16 +2083,12 @@ struct rtl_tcb_desc {
        bool tx_enable_sw_calc_duration;
 };
 
-struct rtl92c_firmware_header;
-
 struct rtl_wow_pattern {
        u8 type;
        u16 crc;
        u32 mask[4];
 };
 
-struct rtl8723e_firmware_header;
-
 struct rtl_hal_ops {
        int (*init_sw_vars) (struct ieee80211_hw *hw);
        void (*deinit_sw_vars) (struct ieee80211_hw *hw);
@@ -2176,7 +2192,7 @@ struct rtl_hal_ops {
        void (*fill_h2c_cmd) (struct ieee80211_hw *hw, u8 element_id,
                              u32 cmd_len, u8 *p_cmdbuffer);
        bool (*get_btc_status) (void);
-       bool (*is_fw_header)(struct rtl8723e_firmware_header *hdr);
+       bool (*is_fw_header)(struct rtlwifi_firmware_header *hdr);
        u32 (*rx_command_packet)(struct ieee80211_hw *hw,
                                 struct rtl_stats status, struct sk_buff *skb);
        void (*add_wowlan_pattern)(struct ieee80211_hw *hw,
@@ -2233,6 +2249,9 @@ struct rtl_mod_params {
 
        /* default 0: 1 means disable */
        bool disable_watchdog;
+
+       /* default 0: 1 means do not disable interrupts */
+       bool int_clear;
 };
 
 struct rtl_hal_usbint_cfg {