mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
wifi: rtw89: wow: update WoWLAN status register for different generation
The statue register is for driver to check if WoWLAN mode works or stops successfully. It is changed for new generation, so update it. Signed-off-by: Chin-Yen Lee <timlee@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://msgid.link/20240302005828.13666-3-pkshih@realtek.com
This commit is contained in:
parent
6ec8faa365
commit
a0f0046533
|
|
@ -6308,6 +6308,7 @@ const struct rtw89_mac_gen_def rtw89_mac_gen_ax = {
|
|||
.addr = R_AX_RXTRIG_TEST_USER_2,
|
||||
.mask = B_AX_RXTRIG_RU26_DIS,
|
||||
},
|
||||
.wow_ctrl = {.addr = R_AX_WOW_CTRL, .mask = B_AX_WOW_WOWEN,},
|
||||
|
||||
.check_mac_en = rtw89_mac_check_mac_en_ax,
|
||||
.sys_init = sys_init_ax,
|
||||
|
|
|
|||
|
|
@ -913,6 +913,7 @@ struct rtw89_mac_gen_def {
|
|||
struct rtw89_reg_def muedca_ctrl;
|
||||
struct rtw89_reg_def bfee_ctrl;
|
||||
struct rtw89_reg_def narrow_bw_ru_dis;
|
||||
struct rtw89_reg_def wow_ctrl;
|
||||
|
||||
int (*check_mac_en)(struct rtw89_dev *rtwdev, u8 band,
|
||||
enum rtw89_mac_hwmod_sel sel);
|
||||
|
|
|
|||
|
|
@ -2520,6 +2520,7 @@ const struct rtw89_mac_gen_def rtw89_mac_gen_be = {
|
|||
.addr = R_BE_RXTRIG_TEST_USER_2,
|
||||
.mask = B_BE_RXTRIG_RU26_DIS,
|
||||
},
|
||||
.wow_ctrl = {.addr = R_BE_WOW_CTRL, .mask = B_BE_WOW_WOWEN,},
|
||||
|
||||
.check_mac_en = rtw89_mac_check_mac_en_be,
|
||||
.sys_init = sys_init_be,
|
||||
|
|
|
|||
|
|
@ -5540,6 +5540,12 @@
|
|||
#define B_BE_CUT_AMSDU_CHKLEN_L_TH_MASK GENMASK(23, 16)
|
||||
#define B_BE_CUT_AMSDU_CHKLEN_H_TH_MASK GENMASK(15, 0)
|
||||
|
||||
#define R_BE_WOW_CTRL 0x9CB8
|
||||
#define B_BE_WOW_HCI BIT(5)
|
||||
#define B_BE_WOW_DROP BIT(2)
|
||||
#define B_BE_WOW_WOWEN BIT(1)
|
||||
#define B_BE_WOW_FORCE_WAKEUP BIT(0)
|
||||
|
||||
#define R_BE_RX_HDRTRNS 0x9CC0
|
||||
#define B_BE_RX_MGN_MLD_ADDR_EN BIT(6)
|
||||
#define B_BE_HDR_INFO_MASK GENMASK(5, 4)
|
||||
|
|
|
|||
|
|
@ -463,13 +463,14 @@ static int rtw89_wow_cfg_wake(struct rtw89_dev *rtwdev, bool wow)
|
|||
|
||||
static int rtw89_wow_check_fw_status(struct rtw89_dev *rtwdev, bool wow_enable)
|
||||
{
|
||||
const struct rtw89_mac_gen_def *mac = rtwdev->chip->mac_def;
|
||||
u8 polling;
|
||||
int ret;
|
||||
|
||||
ret = read_poll_timeout_atomic(rtw89_read8_mask, polling,
|
||||
wow_enable == !!polling,
|
||||
50, 50000, false, rtwdev,
|
||||
R_AX_WOW_CTRL, B_AX_WOW_WOWEN);
|
||||
mac->wow_ctrl.addr, mac->wow_ctrl.mask);
|
||||
if (ret)
|
||||
rtw89_err(rtwdev, "failed to check wow status %s\n",
|
||||
wow_enable ? "enabled" : "disabled");
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user