Blame view

drivers/staging/vt6655/card.h 4.96 KB
5449c685a   Forest Bond   Staging: Add pris...
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
  /*
   * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
   * All rights reserved.
   *
   * This program is free software; you can redistribute it and/or modify
   * it under the terms of the GNU General Public License as published by
   * the Free Software Foundation; either version 2 of the License, or
   * (at your option) any later version.
   *
   * This program is distributed in the hope that it will be useful,
   * but WITHOUT ANY WARRANTY; without even the implied warranty of
   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   * GNU General Public License for more details.
   *
   * You should have received a copy of the GNU General Public License along
   * with this program; if not, write to the Free Software Foundation, Inc.,
   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
   *
   * File: card.h
   *
   * Purpose: Provide functions to setup NIC operation mode
   *
   * Author: Tevin Chen
   *
   * Date: May 21, 1996
   *
   */
5449c685a   Forest Bond   Staging: Add pris...
28
29
  #ifndef __CARD_H__
  #define __CARD_H__
5449c685a   Forest Bond   Staging: Add pris...
30
  #include "ttype.h"
7b6a00131   Charles Clément   Staging: vt6655: ...
31
  #include <linux/types.h>
a98736734   Malcolm Priestley   staging: vt6655: ...
32
  #include <linux/nl80211.h>
5449c685a   Forest Bond   Staging: Add pris...
33

5449c685a   Forest Bond   Staging: Add pris...
34
35
36
37
38
39
40
  //
  // Loopback mode
  //
  // LOBYTE is MAC LB mode, HIBYTE is MII LB mode
  #define CARD_LB_NONE            MAKEWORD(MAC_LB_NONE, 0)
  #define CARD_LB_MAC             MAKEWORD(MAC_LB_INTERNAL, 0)   // PHY must ISO, avoid MAC loopback packet go out
  #define CARD_LB_PHY             MAKEWORD(MAC_LB_EXT, 0)
5449c685a   Forest Bond   Staging: Add pris...
41
42
43
44
45
46
47
  #define DEFAULT_MSDU_LIFETIME           512  // ms
  #define DEFAULT_MSDU_LIFETIME_RES_64us  8000 // 64us
  
  #define DEFAULT_MGN_LIFETIME            8    // ms
  #define DEFAULT_MGN_LIFETIME_RES_64us   125  // 64us
  
  #define CB_MAX_CHANNEL_24G      14
7745bd682   Igor Bezukh   Staging: vt6655: ...
48
  #define CB_MAX_CHANNEL_5G       42
5449c685a   Forest Bond   Staging: Add pris...
49
50
51
  #define CB_MAX_CHANNEL          (CB_MAX_CHANNEL_24G+CB_MAX_CHANNEL_5G)
  
  typedef enum _CARD_PHY_TYPE {
d4945f09d   Joe Perches   staging:vt6655:ca...
52
53
54
55
  	PHY_TYPE_AUTO,
  	PHY_TYPE_11B,
  	PHY_TYPE_11G,
  	PHY_TYPE_11A
5449c685a   Forest Bond   Staging: Add pris...
56
57
58
  } CARD_PHY_TYPE, *PCARD_PHY_TYPE;
  
  typedef enum _CARD_PKT_TYPE {
d4945f09d   Joe Perches   staging:vt6655:ca...
59
60
61
62
  	PKT_TYPE_802_11_BCN,
  	PKT_TYPE_802_11_MNG,
  	PKT_TYPE_802_11_DATA,
  	PKT_TYPE_802_11_ALL
5449c685a   Forest Bond   Staging: Add pris...
63
64
65
  } CARD_PKT_TYPE, *PCARD_PKT_TYPE;
  
  typedef enum _CARD_STATUS_TYPE {
d4945f09d   Joe Perches   staging:vt6655:ca...
66
67
68
  	CARD_STATUS_MEDIA_CONNECT,
  	CARD_STATUS_MEDIA_DISCONNECT,
  	CARD_STATUS_PMKID
5449c685a   Forest Bond   Staging: Add pris...
69
  } CARD_STATUS_TYPE, *PCARD_STATUS_TYPE;
d052270b4   Malcolm Priestley   staging: vt6655: ...
70
71
72
73
74
75
76
  struct vnt_private;
  
  void CARDvSetRSPINF(struct vnt_private *, CARD_PHY_TYPE ePHYType);
  void vUpdateIFS(struct vnt_private *);
  void CARDvUpdateBasicTopRate(struct vnt_private *);
  bool CARDbAddBasicRate(struct vnt_private *, unsigned short wRateIdx);
  bool CARDbIsOFDMinBasicRate(struct vnt_private *);
168344059   Guillaume Clement   staging: vt6655: ...
77
  void CARDvSetLoopbackMode(void __iomem *dwIoBase, unsigned short wLoopbackMode);
d052270b4   Malcolm Priestley   staging: vt6655: ...
78
  bool CARDbSoftwareReset(struct vnt_private *);
168344059   Guillaume Clement   staging: vt6655: ...
79
  void CARDvSetFirstNextTBTT(void __iomem *dwIoBase, unsigned short wBeaconInterval);
0fc2a76ee   Malcolm Priestley   staging: vt6655: ...
80
81
82
83
  void CARDvUpdateNextTBTT(void __iomem *dwIoBase, u64 qwTSF, unsigned short wBeaconInterval);
  bool CARDbGetCurrentTSF(void __iomem *dwIoBase, u64 *pqwCurrTSF);
  u64 CARDqGetNextTBTT(u64 qwTSF, unsigned short wBeaconInterval);
  u64 CARDqGetTSFOffset(unsigned char byRxRate, u64 qwTSF1, u64 qwTSF2);
d052270b4   Malcolm Priestley   staging: vt6655: ...
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
  bool CARDbSetTxPower(struct vnt_private *, unsigned long ulTxPower);
  unsigned char CARDbyGetPktType(struct vnt_private *);
  void CARDvSafeResetTx(struct vnt_private *);
  void CARDvSafeResetRx(struct vnt_private *);
  bool CARDbRadioPowerOff(struct vnt_private *);
  bool CARDbRadioPowerOn(struct vnt_private *);
  bool CARDbIsShortPreamble(struct vnt_private *);
  bool CARDbIsShorSlotTime(struct vnt_private *);
  bool CARDbSetPhyParameter(struct vnt_private *, CARD_PHY_TYPE ePHYType,
  			  unsigned short wCapInfo, unsigned char byERPField,
  			  void *pvSupportRateIEs, void *pvExtSupportRateIEs);
  bool CARDbUpdateTSF(struct vnt_private *, unsigned char byRxRate,
  		    u64 qwBSSTimestamp, u64 qwLocalTSF);
  bool CARDbStopTxPacket(struct vnt_private *, CARD_PKT_TYPE ePktType);
  bool CARDbStartTxPacket(struct vnt_private *, CARD_PKT_TYPE ePktType);
  bool CARDbSetBeaconPeriod(struct vnt_private *, unsigned short wBeaconInterval);
  bool CARDbSetBSSID(struct vnt_private *,
a98736734   Malcolm Priestley   staging: vt6655: ...
101
  		   unsigned char *pbyBSSID, enum nl80211_iftype);
d052270b4   Malcolm Priestley   staging: vt6655: ...
102
103
104
105
106
107
  
  bool CARDbPowerDown(struct vnt_private *);
  
  bool CARDbSetTxDataRate(struct vnt_private *, unsigned short wDataRate);
  
  bool CARDbRemoveKey(struct vnt_private *, unsigned char *pbyBSSID);
5449c685a   Forest Bond   Staging: Add pris...
108

7b6a00131   Charles Clément   Staging: vt6655: ...
109
  bool
d4945f09d   Joe Perches   staging:vt6655:ca...
110
  CARDbAdd_PMKID_Candidate(
d052270b4   Malcolm Priestley   staging: vt6655: ...
111
  	struct vnt_private *,
d4945f09d   Joe Perches   staging:vt6655:ca...
112
113
114
115
  	unsigned char *pbyBSSID,
  	bool bRSNCapExist,
  	unsigned short wRSNCap
  );
5449c685a   Forest Bond   Staging: Add pris...
116

830a619c0   Charles Clément   Staging: vt6655: ...
117
  void *
d4945f09d   Joe Perches   staging:vt6655:ca...
118
  CARDpGetCurrentAddress(
d052270b4   Malcolm Priestley   staging: vt6655: ...
119
  	struct vnt_private *
d4945f09d   Joe Perches   staging:vt6655:ca...
120
  );
5449c685a   Forest Bond   Staging: Add pris...
121

7b6a00131   Charles Clément   Staging: vt6655: ...
122
  bool
d4945f09d   Joe Perches   staging:vt6655:ca...
123
  CARDbStartMeasure(
d052270b4   Malcolm Priestley   staging: vt6655: ...
124
  	struct vnt_private *,
d4945f09d   Joe Perches   staging:vt6655:ca...
125
126
127
  	void *pvMeasureEIDs,
  	unsigned int uNumOfMeasureEIDs
  );
5449c685a   Forest Bond   Staging: Add pris...
128

7b6a00131   Charles Clément   Staging: vt6655: ...
129
  bool
d4945f09d   Joe Perches   staging:vt6655:ca...
130
  CARDbChannelSwitch(
d052270b4   Malcolm Priestley   staging: vt6655: ...
131
  	struct vnt_private *,
d4945f09d   Joe Perches   staging:vt6655:ca...
132
133
134
135
  	unsigned char byMode,
  	unsigned char byNewChannel,
  	unsigned char byCount
  );
5449c685a   Forest Bond   Staging: Add pris...
136

7b6a00131   Charles Clément   Staging: vt6655: ...
137
  bool
d4945f09d   Joe Perches   staging:vt6655:ca...
138
  CARDbSetQuiet(
d052270b4   Malcolm Priestley   staging: vt6655: ...
139
  	struct vnt_private *,
d4945f09d   Joe Perches   staging:vt6655:ca...
140
141
142
143
144
145
  	bool bResetQuiet,
  	unsigned char byQuietCount,
  	unsigned char byQuietPeriod,
  	unsigned short wQuietDuration,
  	unsigned short wQuietOffset
  );
5449c685a   Forest Bond   Staging: Add pris...
146

7b6a00131   Charles Clément   Staging: vt6655: ...
147
  bool
d4945f09d   Joe Perches   staging:vt6655:ca...
148
  CARDbStartQuiet(
d052270b4   Malcolm Priestley   staging: vt6655: ...
149
  	struct vnt_private *
d4945f09d   Joe Perches   staging:vt6655:ca...
150
  );
5449c685a   Forest Bond   Staging: Add pris...
151

6b35b7b37   Charles Clément   Staging: vt6655: ...
152
  void
d4945f09d   Joe Perches   staging:vt6655:ca...
153
  CARDvSetPowerConstraint(
d052270b4   Malcolm Priestley   staging: vt6655: ...
154
  	struct vnt_private *,
d4945f09d   Joe Perches   staging:vt6655:ca...
155
156
157
  	unsigned char byChannel,
  	char byPower
  );
5449c685a   Forest Bond   Staging: Add pris...
158

6b35b7b37   Charles Clément   Staging: vt6655: ...
159
  void
d4945f09d   Joe Perches   staging:vt6655:ca...
160
  CARDvGetPowerCapability(
d052270b4   Malcolm Priestley   staging: vt6655: ...
161
  	struct vnt_private *,
d4945f09d   Joe Perches   staging:vt6655:ca...
162
163
164
  	unsigned char *pbyMinPower,
  	unsigned char *pbyMaxPower
  );
5449c685a   Forest Bond   Staging: Add pris...
165

ec28c7fab   Charles Clément   Staging: vt6655: ...
166
  char
d4945f09d   Joe Perches   staging:vt6655:ca...
167
  CARDbyGetTransmitPower(
d052270b4   Malcolm Priestley   staging: vt6655: ...
168
  	struct vnt_private *
d4945f09d   Joe Perches   staging:vt6655:ca...
169
  );
5449c685a   Forest Bond   Staging: Add pris...
170

5449c685a   Forest Bond   Staging: Add pris...
171
  #endif // __CARD_H__