Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / realtek / rtlwifi / rtl8192ee / pwrseq.c
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 2009-2014  Realtek Corporation.*/
3
4 #include "pwrseq.h"
5
6 /* drivers should parse below arrays and do the corresponding actions */
7
8 /*3 Power on  Array*/
9 struct wlan_pwr_cfg rtl8192E_power_on_flow
10                 [RTL8192E_TRANS_CARDEMU_TO_ACT_STEPS +
11                  RTL8192E_TRANS_END_STEPS] = {
12         RTL8192E_TRANS_CARDEMU_TO_ACT
13         RTL8192E_TRANS_END
14 };
15
16 /*3Radio off GPIO Array */
17 struct wlan_pwr_cfg rtl8192E_radio_off_flow
18                 [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS
19                 + RTL8192E_TRANS_END_STEPS] = {
20         RTL8192E_TRANS_ACT_TO_CARDEMU
21         RTL8192E_TRANS_END
22 };
23
24 /*3Card Disable Array*/
25 struct wlan_pwr_cfg rtl8192E_card_disable_flow
26                 [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
27                  RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS +
28                  RTL8192E_TRANS_END_STEPS] = {
29         RTL8192E_TRANS_ACT_TO_CARDEMU
30         RTL8192E_TRANS_CARDEMU_TO_CARDDIS
31         RTL8192E_TRANS_END
32 };
33
34 /*3 Card Enable Array*/
35 struct wlan_pwr_cfg rtl8192E_card_enable_flow
36                 [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
37                  RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS +
38                  RTL8192E_TRANS_END_STEPS] = {
39         RTL8192E_TRANS_CARDDIS_TO_CARDEMU
40         RTL8192E_TRANS_CARDEMU_TO_ACT
41         RTL8192E_TRANS_END
42 };
43
44 /*3Suspend Array*/
45 struct wlan_pwr_cfg rtl8192E_suspend_flow
46                 [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
47                  RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS +
48                  RTL8192E_TRANS_END_STEPS] = {
49         RTL8192E_TRANS_ACT_TO_CARDEMU
50         RTL8192E_TRANS_CARDEMU_TO_SUS
51         RTL8192E_TRANS_END
52 };
53
54 /*3 Resume Array*/
55 struct wlan_pwr_cfg rtl8192E_resume_flow
56                 [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
57                  RTL8192E_TRANS_CARDEMU_TO_SUS_STEPS +
58                  RTL8192E_TRANS_END_STEPS] = {
59         RTL8192E_TRANS_SUS_TO_CARDEMU
60         RTL8192E_TRANS_CARDEMU_TO_ACT
61         RTL8192E_TRANS_END
62 };
63
64 /*3HWPDN Array*/
65 struct wlan_pwr_cfg rtl8192E_hwpdn_flow
66                 [RTL8192E_TRANS_ACT_TO_CARDEMU_STEPS +
67                  RTL8192E_TRANS_CARDEMU_TO_PDN_STEPS +
68                  RTL8192E_TRANS_END_STEPS] = {
69         RTL8192E_TRANS_ACT_TO_CARDEMU
70         RTL8192E_TRANS_CARDEMU_TO_PDN
71         RTL8192E_TRANS_END
72 };
73
74 /*3 Enter LPS */
75 struct wlan_pwr_cfg rtl8192E_enter_lps_flow
76                 [RTL8192E_TRANS_ACT_TO_LPS_STEPS +
77                  RTL8192E_TRANS_END_STEPS] = {
78         /*FW behavior*/
79         RTL8192E_TRANS_ACT_TO_LPS
80         RTL8192E_TRANS_END
81 };
82
83 /*3 Leave LPS */
84 struct wlan_pwr_cfg rtl8192E_leave_lps_flow
85                 [RTL8192E_TRANS_LPS_TO_ACT_STEPS +
86                  RTL8192E_TRANS_END_STEPS] = {
87         /*FW behavior*/
88         RTL8192E_TRANS_LPS_TO_ACT
89         RTL8192E_TRANS_END
90 };