Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
wl18xx.h
Go to the documentation of this file.
1 /*
2  * This file is part of wl18xx
3  *
4  * Copyright (C) 2011 Texas Instruments Inc.
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * version 2 as published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18  * 02110-1301 USA
19  *
20  */
21 
22 #ifndef __WL18XX_PRIV_H__
23 #define __WL18XX_PRIV_H__
24 
25 #include "conf.h"
26 
27 /* minimum FW required for driver */
28 #define WL18XX_CHIP_VER 8
29 #define WL18XX_IFTYPE_VER 2
30 #define WL18XX_MAJOR_VER 0
31 #define WL18XX_SUBTYPE_VER 0
32 #define WL18XX_MINOR_VER 100
33 
34 #define WL18XX_CMD_MAX_SIZE 740
35 
36 #define WL18XX_AGGR_BUFFER_SIZE (13 * PAGE_SIZE)
37 
38 #define WL18XX_NUM_TX_DESCRIPTORS 32
39 #define WL18XX_NUM_RX_DESCRIPTORS 32
40 
41 #define WL18XX_NUM_MAC_ADDRESSES 3
42 
43 struct wl18xx_priv {
44  /* buffer for sending commands to FW */
46 
48 
49  /* Index of last released Tx desc in FW */
51 
52  /* number of VIFs requiring extra spare mem-blocks */
54 };
55 
56 #define WL18XX_FW_MAX_TX_STATUS_DESC 33
57 
59  /*
60  * Index in released_tx_desc for first byte that holds
61  * released tx host desc
62  */
64 
65  /*
66  * Array of host Tx descriptors, where fw_release_idx
67  * indicated the first released idx.
68  */
70 
71  u8 padding[2];
72 };
73 
74 #define WL18XX_PHY_VERSION_MAX_LEN 20
75 
78 };
79 
81  u32 n;
82  u32 m;
83  u32 p;
84  u32 q;
85  bool swallow;
86 };
87 
88 enum {
98 
100 };
101 
102 #endif /* __WL18XX_PRIV_H__ */