bdbdc1c99d046707f5b8d1a70ddee5a5289f7794
[cascardo/linux.git] / drivers / staging / vt6656 / datarate.h
1 /*
2  * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
3  * All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License along
16  * with this program; if not, write to the Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18  *
19  *
20  * File: datarate.h
21  *
22  * Purpose: Handles the auto fallback & data rates functions
23  *
24  * Author: Lyndon Chen
25  *
26  * Date: July 16, 2002
27  *
28  */
29 #ifndef __DATARATE_H__
30 #define __DATARATE_H__
31
32
33
34 #define FALLBACK_PKT_COLLECT_TR_H  50   /* pkts */
35 #define FALLBACK_PKT_COLLECT_TR_L  10   /* pkts */
36 #define FALLBACK_POLL_SECOND       5    /* 5 sec */
37 #define FALLBACK_RECOVER_SECOND    30   /* 30 sec */
38 #define FALLBACK_THRESHOLD         15   /* percent */
39 #define UPGRADE_THRESHOLD          5    /* percent */
40 #define UPGRADE_CNT_THRD           3    /* times */
41 #define RETRY_TIMES_THRD_H         2    /* times */
42 #define RETRY_TIMES_THRD_L         1    /* times */
43
44 #define RATE_1M         0
45 #define RATE_2M         1
46 #define RATE_5M         2
47 #define RATE_11M        3
48 #define RATE_6M         4
49 #define RATE_9M         5
50 #define RATE_12M        6
51 #define RATE_18M        7
52 #define RATE_24M        8
53 #define RATE_36M        9
54 #define RATE_48M       10
55 #define RATE_54M       11
56 #define RATE_AUTO      12
57 #define MAX_RATE       12
58
59
60
61
62
63
64
65
66
67 void RATEvParseMaxRate(struct vnt_private *, PWLAN_IE_SUPP_RATES pItemRates,
68         PWLAN_IE_SUPP_RATES pItemExtRates, int bUpdateBasicRate,
69         u16 *pwMaxBasicRate, u16 *pwMaxSuppRate, u16 *pwSuppRate,
70         u8 *pbyTopCCKRate, u8 *pbyTopOFDMRate);
71
72 void RATEvTxRateFallBack(struct vnt_private *pDevice,
73         PKnownNodeDB psNodeDBTable);
74
75 u8
76 RATEuSetIE(
77      PWLAN_IE_SUPP_RATES pSrcRates,
78      PWLAN_IE_SUPP_RATES pDstRates,
79      unsigned int                uRateLen
80     );
81
82 u16
83 RATEwGetRateIdx(
84      u8 byRate
85     );
86
87 #endif /* __DATARATE_H__ */