blob: d7b3aca5ddebaa71ca7ac169edefc78ef1b7e5b7 [file] [log] [blame]
Pekka Enbergcc180712008-10-30 16:14:35 +02001#ifndef __WINBOND_CORE_H
2#define __WINBOND_CORE_H
3
Pekka Enberg1e8a2b62008-10-30 16:14:38 +02004#include <linux/wireless.h>
Pekka Enberg3c093862010-09-19 12:28:41 +03005#include <linux/types.h>
Pekka Enberg1e8a2b62008-10-30 16:14:38 +02006
Pekka Enbergb5ef0762010-11-01 21:50:06 +02007#include "wbhal.h"
Pekka Enberg64328c82009-01-07 17:33:45 +02008#include "mto.h"
Pekka Enberg1e8a2b62008-10-30 16:14:38 +02009
Pekka Enberg3c093862010-09-19 12:28:41 +030010#include "mac_structures.h"
11#include "mds_s.h"
12
13#define MAX_NUM_TX_MMPDU 2
14#define MAX_MMPDU_SIZE 1512
15#define MAX_NUM_RX_MMPDU 6
16
17struct mlme_frame {
18 s8 *pMMPDU;
19 u16 len;
20 u8 DataType;
21 u8 IsInUsed;
22
Pekka Enberg3c093862010-09-19 12:28:41 +030023 u8 TxMMPDU[MAX_NUM_TX_MMPDU][MAX_MMPDU_SIZE];
24 u8 TxMMPDUInUse[(MAX_NUM_TX_MMPDU + 3) & ~0x03];
25
26 u16 wNumTxMMPDU;
27 u16 wNumTxMMPDUDiscarded;
28
29 u8 RxMMPDU[MAX_NUM_RX_MMPDU][MAX_MMPDU_SIZE];
30 u8 SaveRxBufSlotInUse[(MAX_NUM_RX_MMPDU + 3) & ~0x03];
31
32 u16 wNumRxMMPDU;
33 u16 wNumRxMMPDUDiscarded;
34
35 u16 wNumRxMMPDUInMLME; /* Number of the Rx MMPDU */
36 u16 reserved_1; /* in MLME. */
37 /* excluding the discarded */
38};
39
Pekka Enberg1e8a2b62008-10-30 16:14:38 +020040#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4)
41
42#define WB_MAX_LINK_NAME_LEN 40
Pekka Enbergcc180712008-10-30 16:14:35 +020043
44struct wbsoft_priv {
Ruslan Pisarev5dcf8f62010-03-20 15:37:21 +020045 struct wb_local_para sLocalPara; /* Myself connected
46 parameters */
Pekka Enberg1e8a2b62008-10-30 16:14:38 +020047
Pekka Enbergc4d562a2010-09-19 12:28:38 +030048 struct mlme_frame sMlmeFrame; /* connect to peerSTA parameters */
Pekka Enberg1e8a2b62008-10-30 16:14:38 +020049
Ruslan Pisarev5dcf8f62010-03-20 15:37:21 +020050 struct wb35_mto_params sMtoPara; /* MTO_struct ... */
51 struct hw_data sHwData; /*For HAL */
Pekka Enbergb7caf942009-08-12 11:03:33 +030052 struct wb35_mds Mds;
Pekka Enberg1e8a2b62008-10-30 16:14:38 +020053
Pekka Enberg1e8a2b62008-10-30 16:14:38 +020054 atomic_t ThreadCount;
55
56 u32 RxByteCount;
57 u32 TxByteCount;
58
Pekka Enberg1e8a2b62008-10-30 16:14:38 +020059 u8 LinkName[WB_MAX_LINK_NAME_LEN];
Pekka Enbergc930e0c02008-10-30 18:12:04 +020060
61 bool enabled;
Pekka Enbergcc180712008-10-30 16:14:35 +020062};
63
64#endif /* __WINBOND_CORE_H */