wifi: rtw89: move enable_cpu/disable_cpu into fw_download
For WoWLAN mode, we need to download WoWLAN firmware by calling fw_download(). Another, to disable/enable WiFi CPU is needed before calling fw_download. Since Firmware runs on WiFi CPU, it is intuitive to combine enable_cpu/disable_cpu functions into fw_download. Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20221027052707.14605-3-pkshih@realtek.com
This commit is contained in:
parent
d9112042d9
commit
5f05bdb0a7
@ -531,6 +531,11 @@ int rtw89_fw_download(struct rtw89_dev *rtwdev, enum rtw89_fw_type type)
|
||||
u8 val;
|
||||
int ret;
|
||||
|
||||
rtw89_mac_disable_cpu(rtwdev);
|
||||
ret = rtw89_mac_enable_cpu(rtwdev, 0, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (!fw || !len) {
|
||||
rtw89_err(rtwdev, "fw type %d isn't recognized\n", type);
|
||||
return -ENOENT;
|
||||
|
@ -3116,7 +3116,7 @@ static void rtw89_disable_fw_watchdog(struct rtw89_dev *rtwdev)
|
||||
rtw89_mac_mem_write(rtwdev, R_AX_WDT_STATUS, val32, RTW89_MAC_MEM_CPU_LOCAL);
|
||||
}
|
||||
|
||||
static void rtw89_mac_disable_cpu(struct rtw89_dev *rtwdev)
|
||||
void rtw89_mac_disable_cpu(struct rtw89_dev *rtwdev)
|
||||
{
|
||||
clear_bit(RTW89_FLAG_FW_RDY, rtwdev->flags);
|
||||
|
||||
@ -3131,8 +3131,7 @@ static void rtw89_mac_disable_cpu(struct rtw89_dev *rtwdev)
|
||||
rtw89_write32_set(rtwdev, R_AX_PLATFORM_ENABLE, B_AX_PLATFORM_EN);
|
||||
}
|
||||
|
||||
static int rtw89_mac_enable_cpu(struct rtw89_dev *rtwdev, u8 boot_reason,
|
||||
bool dlfw)
|
||||
int rtw89_mac_enable_cpu(struct rtw89_dev *rtwdev, u8 boot_reason, bool dlfw)
|
||||
{
|
||||
u32 val;
|
||||
int ret;
|
||||
@ -3271,11 +3270,6 @@ int rtw89_mac_partial_init(struct rtw89_dev *rtwdev)
|
||||
return ret;
|
||||
}
|
||||
|
||||
rtw89_mac_disable_cpu(rtwdev);
|
||||
ret = rtw89_mac_enable_cpu(rtwdev, 0, true);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = rtw89_fw_download(rtwdev, RTW89_FW_NORMAL);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
@ -815,6 +815,8 @@ int rtw89_mac_port_update(struct rtw89_dev *rtwdev, struct rtw89_vif *rtwvif);
|
||||
void rtw89_mac_set_he_obss_narrow_bw_ru(struct rtw89_dev *rtwdev,
|
||||
struct ieee80211_vif *vif);
|
||||
int rtw89_mac_remove_vif(struct rtw89_dev *rtwdev, struct rtw89_vif *vif);
|
||||
void rtw89_mac_disable_cpu(struct rtw89_dev *rtwdev);
|
||||
int rtw89_mac_enable_cpu(struct rtw89_dev *rtwdev, u8 boot_reason, bool dlfw);
|
||||
int rtw89_mac_enable_bb_rf(struct rtw89_dev *rtwdev);
|
||||
int rtw89_mac_disable_bb_rf(struct rtw89_dev *rtwdev);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user