aboutsummaryrefslogtreecommitdiff
path: root/drivers/staging/winbond/core.h
blob: 6160b2fab833fe700e5478aa0a5c2f71484e0282 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef __WINBOND_CORE_H
#define __WINBOND_CORE_H

#include <linux/wireless.h>
#include <linux/types.h>
#include <linux/delay.h>

#include "wbhal.h"
#include "mto.h"

#include "mac_structures.h"
#include "mds_s.h"

#define MAX_NUM_TX_MMPDU		2
#define MAX_MMPDU_SIZE			1512
#define MAX_NUM_RX_MMPDU		6

struct mlme_frame {
	s8		*pMMPDU;
	u16		len;
	u8		DataType;
	u8		IsInUsed;

	u8		TxMMPDU[MAX_NUM_TX_MMPDU][MAX_MMPDU_SIZE];
	u8		TxMMPDUInUse[(MAX_NUM_TX_MMPDU + 3) & ~0x03];

	u16		wNumTxMMPDU;
	u16		wNumTxMMPDUDiscarded;

	u8		RxMMPDU[MAX_NUM_RX_MMPDU][MAX_MMPDU_SIZE];
	u8		SaveRxBufSlotInUse[(MAX_NUM_RX_MMPDU + 3) & ~0x03];

	u16		wNumRxMMPDU;
	u16		wNumRxMMPDUDiscarded;

	u16		wNumRxMMPDUInMLME;	/* Number of the Rx MMPDU */
	u16		reserved_1;		/*  in MLME. */
						/*  excluding the discarded */
};

#define WBLINUX_PACKET_ARRAY_SIZE (ETHERNET_TX_DESCRIPTORS*4)

#define WB_MAX_LINK_NAME_LEN 40

struct wbsoft_priv {
	struct wb_local_para sLocalPara;	/* Myself connected
							parameters */

	struct mlme_frame sMlmeFrame;	/* connect to peerSTA parameters */

	struct wb35_mto_params sMtoPara;	/* MTO_struct ... */
	struct hw_data sHwData;	/*For HAL */
	struct wb35_mds Mds;

	atomic_t ThreadCount;

	u32 RxByteCount;
	u32 TxByteCount;

	u8 LinkName[WB_MAX_LINK_NAME_LEN];

	bool enabled;
};

#endif /* __WINBOND_CORE_H */