|
@@ -773,9 +773,8 @@ void wil_refresh_fw_capabilities(struct wil6210_priv *wil)
|
|
|
struct wiphy *wiphy = wil_to_wiphy(wil);
|
|
|
|
|
|
wil->keep_radio_on_during_sleep =
|
|
|
- wil->platform_ops.keep_radio_on_during_sleep &&
|
|
|
- wil->platform_ops.keep_radio_on_during_sleep(
|
|
|
- wil->platform_handle) &&
|
|
|
+ test_bit(WIL_PLATFORM_CAPA_RADIO_ON_IN_SUSPEND,
|
|
|
+ wil->platform_capa) &&
|
|
|
test_bit(WMI_FW_CAPABILITY_D3_SUSPEND, wil->fw_capabilities);
|
|
|
|
|
|
wil_info(wil, "keep_radio_on_during_sleep (%d)\n",
|
|
@@ -1008,6 +1007,16 @@ int wil_reset(struct wil6210_priv *wil, bool load_fw)
|
|
|
if (wil->hw_version == HW_VER_UNKNOWN)
|
|
|
return -ENODEV;
|
|
|
|
|
|
+ if (test_bit(WIL_PLATFORM_CAPA_T_PWR_ON_0, wil->platform_capa)) {
|
|
|
+ wil_dbg_misc(wil, "Notify FW to set T_POWER_ON=0\n");
|
|
|
+ wil_s(wil, RGF_USER_USAGE_8, BIT_USER_SUPPORT_T_POWER_ON_0);
|
|
|
+ }
|
|
|
+
|
|
|
+ if (test_bit(WIL_PLATFORM_CAPA_EXT_CLK, wil->platform_capa)) {
|
|
|
+ wil_dbg_misc(wil, "Notify FW on ext clock configuration\n");
|
|
|
+ wil_s(wil, RGF_USER_USAGE_8, BIT_USER_EXT_CLK);
|
|
|
+ }
|
|
|
+
|
|
|
if (wil->platform_ops.notify) {
|
|
|
rc = wil->platform_ops.notify(wil->platform_handle,
|
|
|
WIL_PLATFORM_EVT_PRE_RESET);
|