Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
acx.h
Go to the documentation of this file.
1 /*
2  * This file is part of wl12xx
3  *
4  * Copyright (C) 1998-2009, 2011 Texas Instruments. All rights reserved.
5  * Copyright (C) 2008-2010 Nokia Corporation
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * version 2 as published by the Free Software Foundation.
10  *
11  * This program is distributed in the hope that it will be useful, but
12  * WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14  * General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
19  * 02110-1301 USA
20  *
21  */
22 
23 #ifndef __WL12XX_ACX_H__
24 #define __WL12XX_ACX_H__
25 
26 #include "../wlcore/wlcore.h"
27 #include "../wlcore/acx.h"
28 
29 #define WL12XX_ACX_ALL_EVENTS_VECTOR (WL1271_ACX_INTR_WATCHDOG | \
30  WL1271_ACX_INTR_INIT_COMPLETE | \
31  WL1271_ACX_INTR_EVENT_A | \
32  WL1271_ACX_INTR_EVENT_B | \
33  WL1271_ACX_INTR_CMD_COMPLETE | \
34  WL1271_ACX_INTR_HW_AVAILABLE | \
35  WL1271_ACX_INTR_DATA)
36 
37 #define WL12XX_INTR_MASK (WL1271_ACX_INTR_WATCHDOG | \
38  WL1271_ACX_INTR_EVENT_A | \
39  WL1271_ACX_INTR_EVENT_B | \
40  WL1271_ACX_INTR_HW_AVAILABLE | \
41  WL1271_ACX_INTR_DATA)
42 
45 
47 } __packed;
48 
51 } __packed;
52 
62 } __packed;
63 
69 } __packed;
70 
72  /* host command complete */
74 
75  /* fiqisr() */
77 
78  /* (INT_STS_ND & INT_TRIG_RX_HEADER) */
80 
81  /* (INT_STS_ND & INT_TRIG_RX_CMPLT) */
83 
84  /* (INT_STS_ND & INT_TRIG_NO_RX_BUF) */
86 
87  /* (INT_STS_ND & INT_TRIG_S_RX_RDY) */
89 
90  /* irqisr() */
92 
93  /* (INT_STS_ND & INT_TRIG_TX_PROC) */
95 
96  /* (INT_STS_ND & INT_TRIG_DECRYPT_DONE) */
98 
99  /* (INT_STS_ND & INT_TRIG_DMA0) */
101 
102  /* (INT_STS_ND & INT_TRIG_DMA1) */
104 
105  /* (INT_STS_ND & INT_TRIG_TX_EXC_CMPLT) */
107 
108  /* (INT_STS_ND & INT_TRIG_COMMAND) */
110 
111  /* (INT_STS_ND & INT_TRIG_RX_PROC) */
113 
114  /* (INT_STS_ND & INT_TRIG_PM_802) */
116 
117  /* (INT_STS_ND & INT_TRIG_ACKNOWLEDGE) */
119 
120  /* (INT_STS_ND & INT_TRIG_PM_PCI) */
122 
123  /* (INT_STS_ND & INT_TRIG_ACM_WAKEUP) */
125 
126  /* (INT_STS_ND & INT_TRIG_LOW_RSSI) */
128 } __packed;
129 
131  /* WEP address keys configured */
133 
134  /* default keys configured */
136 
138 
139  /* number of times that WEP key not found on lookup */
141 
142  /* number of times that WEP key decryption failed */
144 
145  /* WEP packets decrypted */
147 
148  /* WEP decrypt interrupts */
150 } __packed;
151 
152 #define ACX_MISSED_BEACONS_SPREAD 10
153 
155  /* the amount of enters into power save mode (both PD & ELP) */
157 
158  /* the amount of enters into ELP mode */
160 
161  /* the amount of missing beacon interrupts to the host */
163 
164  /* the amount of wake on host-access times */
166 
167  /* the amount of wake on timer-expire */
169 
170  /* the number of packets that were transmitted with PS bit set */
172 
173  /* the number of packets that were transmitted with PS bit clear */
175 
176  /* the number of received beacons */
178 
179  /* the number of entering into PowerOn (power save off) */
181 
182  /* the number of entries into power save mode */
184 
185  /*
186  * the number of exits from power save, not including failed PS
187  * transitions
188  */
190 
191  /*
192  * the number of times the TSF counter was adjusted because
193  * of drift
194  */
196 
197  /* Gives statistics about the spread continuous missed beacons.
198  * The 16 LSB are dedicated for the PS mode.
199  * The 16 MSB are dedicated for the PS mode.
200  * cont_miss_bcns_spread[0] - single missed beacon.
201  * cont_miss_bcns_spread[1] - two continuous missed beacons.
202  * cont_miss_bcns_spread[2] - three continuous missed beacons.
203  * ...
204  * cont_miss_bcns_spread[9] - ten and more continuous missed beacons.
205  */
207 
208  /* the number of beacons in awake mode */
210 } __packed;
211 
215 } __packed;
216 
224 } __packed;
225 
235 } __packed;
236 
245 } __packed;
246 
253 } __packed;
254 
257 
269 } __packed;
270 
271 int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap);
272 
273 #endif /* __WL12XX_ACX_H__ */