@@ -2492,7 +2492,7 @@ static int rtw89_pci_dphy_delay(struct rtw89_dev *rtwdev)
2492
2492
PCIE_DPHY_DLY_25US , PCIE_PHY_GEN1 );
2493
2493
}
2494
2494
2495
- static void rtw89_pci_power_wake (struct rtw89_dev * rtwdev , bool pwr_up )
2495
+ static void rtw89_pci_power_wake_ax (struct rtw89_dev * rtwdev , bool pwr_up )
2496
2496
{
2497
2497
if (pwr_up )
2498
2498
rtw89_write32_set (rtwdev , R_AX_HCI_OPT_CTRL , BIT_WAKE_CTRL );
@@ -2799,6 +2799,8 @@ static int rtw89_pci_ops_deinit(struct rtw89_dev *rtwdev)
2799
2799
{
2800
2800
const struct rtw89_pci_info * info = rtwdev -> pci_info ;
2801
2801
2802
+ rtw89_pci_power_wake (rtwdev , false);
2803
+
2802
2804
if (rtwdev -> chip -> chip_id == RTL8852A ) {
2803
2805
/* ltr sw trigger */
2804
2806
rtw89_write32_set (rtwdev , R_AX_LTR_CTRL_0 , B_AX_APP_LTR_IDLE );
@@ -2841,7 +2843,7 @@ static int rtw89_pci_ops_mac_pre_init_ax(struct rtw89_dev *rtwdev)
2841
2843
return ret ;
2842
2844
}
2843
2845
2844
- rtw89_pci_power_wake (rtwdev , true);
2846
+ rtw89_pci_power_wake_ax (rtwdev , true);
2845
2847
rtw89_pci_autoload_hang (rtwdev );
2846
2848
rtw89_pci_l12_vmain (rtwdev );
2847
2849
rtw89_pci_gen2_force_ib (rtwdev );
@@ -2886,6 +2888,13 @@ static int rtw89_pci_ops_mac_pre_init_ax(struct rtw89_dev *rtwdev)
2886
2888
return 0 ;
2887
2889
}
2888
2890
2891
+ static int rtw89_pci_ops_mac_pre_deinit_ax (struct rtw89_dev * rtwdev )
2892
+ {
2893
+ rtw89_pci_power_wake_ax (rtwdev , false);
2894
+
2895
+ return 0 ;
2896
+ }
2897
+
2889
2898
int rtw89_pci_ltr_set (struct rtw89_dev * rtwdev , bool en )
2890
2899
{
2891
2900
u32 val ;
@@ -4264,7 +4273,7 @@ const struct rtw89_pci_gen_def rtw89_pci_gen_ax = {
4264
4273
B_AX_RDU_INT },
4265
4274
4266
4275
.mac_pre_init = rtw89_pci_ops_mac_pre_init_ax ,
4267
- .mac_pre_deinit = NULL ,
4276
+ .mac_pre_deinit = rtw89_pci_ops_mac_pre_deinit_ax ,
4268
4277
.mac_post_init = rtw89_pci_ops_mac_post_init_ax ,
4269
4278
4270
4279
.clr_idx_all = rtw89_pci_clr_idx_all_ax ,
@@ -4280,6 +4289,8 @@ const struct rtw89_pci_gen_def rtw89_pci_gen_ax = {
4280
4289
.aspm_set = rtw89_pci_aspm_set_ax ,
4281
4290
.clkreq_set = rtw89_pci_clkreq_set_ax ,
4282
4291
.l1ss_set = rtw89_pci_l1ss_set_ax ,
4292
+
4293
+ .power_wake = rtw89_pci_power_wake_ax ,
4283
4294
};
4284
4295
EXPORT_SYMBOL (rtw89_pci_gen_ax );
4285
4296
0 commit comments