summaryrefslogtreecommitdiff
path: root/drivers/net/wireless/realtek/rtw88/main.h
diff options
context:
space:
mode:
authorChin-Yen Lee <timlee@realtek.com>2019-12-19 16:58:13 +0800
committerKalle Valo <kvalo@codeaurora.org>2020-01-26 17:37:02 +0200
commitc8e5695eae9959fc5774c0f490f2450be8bad3de (patch)
tree426333f9e622d7e2d68e6cb80c143e2a6da18edf /drivers/net/wireless/realtek/rtw88/main.h
parent786221048e8f74bafb87b4ba8b613cd5bc0ea159 (diff)
downloadlinux-next-c8e5695eae9959fc5774c0f490f2450be8bad3de.tar.gz
rtw88: load wowlan firmware if wowlan is supported
Driver used to download normal firmware only, but some devices support wowlan and require to download wowlan firmware when system suspends. So modify rtw_load_firmware() and its callback to allow driver to download both normal and wowlan firmware. Signed-off-by: Chin-Yen Lee <timlee@realtek.com> Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/realtek/rtw88/main.h')
-rw-r--r--drivers/net/wireless/realtek/rtw88/main.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw88/main.h b/drivers/net/wireless/realtek/rtw88/main.h
index d012eefcd0da..b7690666fd57 100644
--- a/drivers/net/wireless/realtek/rtw88/main.h
+++ b/drivers/net/wireless/realtek/rtw88/main.h
@@ -193,6 +193,11 @@ enum rtw_rx_queue_type {
RTK_MAX_RX_QUEUE_NUM
};
+enum rtw_fw_type {
+ RTW_NORMAL_FW = 0x0,
+ RTW_WOWLAN_FW = 0x1,
+};
+
enum rtw_rate_index {
RTW_RATEID_BGN_40M_2SS = 0,
RTW_RATEID_BGN_40M_1SS = 1,
@@ -1030,6 +1035,8 @@ struct rtw_chip_info {
u8 bfer_su_max_num;
u8 bfer_mu_max_num;
+ const char *wow_fw_name;
+
/* coex paras */
u32 coex_para_ver;
u8 bt_desired_ver;
@@ -1456,6 +1463,7 @@ struct rtw_fifo_conf {
struct rtw_fw_state {
const struct firmware *firmware;
+ struct rtw_dev *rtwdev;
struct completion completion;
u16 version;
u8 sub_version;
@@ -1580,6 +1588,8 @@ struct rtw_dev {
u8 mp_mode;
+ struct rtw_fw_state wow_fw;
+
/* hci related data, must be last */
u8 priv[0] __aligned(sizeof(void *));
};