Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
net
wireless
mwifiex
11n_rxreorder.h
Go to the documentation of this file.
1
/*
2
* Marvell Wireless LAN device driver: 802.11n RX Re-ordering
3
*
4
* Copyright (C) 2011, Marvell International Ltd.
5
*
6
* This software file (the "File") is distributed by Marvell International
7
* Ltd. under the terms of the GNU General Public License Version 2, June 1991
8
* (the "License"). You may use, redistribute and/or modify this File in
9
* accordance with the terms and conditions of the License, a copy of which
10
* is available by writing to the Free Software Foundation, Inc.,
11
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
12
* worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
13
*
14
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
15
* IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
16
* ARE EXPRESSLY DISCLAIMED. The License provides additional details about
17
* this warranty disclaimer.
18
*/
19
20
#ifndef _MWIFIEX_11N_RXREORDER_H_
21
#define _MWIFIEX_11N_RXREORDER_H_
22
23
#define MIN_FLUSH_TIMER_MS 50
24
25
#define PKT_TYPE_BAR 0xE7
26
#define MAX_TID_VALUE (2 << 11)
27
#define TWOPOW11 (2 << 10)
28
29
#define BLOCKACKPARAM_TID_POS 2
30
#define BLOCKACKPARAM_AMSDU_SUPP_MASK 0x1
31
#define BLOCKACKPARAM_WINSIZE_POS 6
32
#define DELBA_TID_POS 12
33
#define DELBA_INITIATOR_POS 11
34
#define TYPE_DELBA_SENT 1
35
#define TYPE_DELBA_RECEIVE 2
36
#define IMMEDIATE_BLOCK_ACK 0x2
37
38
#define ADDBA_RSP_STATUS_ACCEPT 0
39
40
#define MWIFIEX_DEF_11N_RX_SEQ_NUM 0xffff
41
#define BA_SETUP_MAX_PACKET_THRESHOLD 16
42
#define BA_SETUP_PACKET_OFFSET 16
43
44
enum
mwifiex_rxreor_flags
{
45
RXREOR_FORCE_NO_DROP
= 1<<0,
46
};
47
48
static
inline
void
mwifiex_reset_11n_rx_seq_num(
struct
mwifiex_private
*
priv
)
49
{
50
memset
(priv->
rx_seq
, 0xff,
sizeof
(priv->
rx_seq
));
51
}
52
53
int
mwifiex_11n_rx_reorder_pkt
(
struct
mwifiex_private
*,
54
u16
seqNum,
55
u16
tid
,
u8
*
ta
,
56
u8
pkttype,
void
*
payload
);
57
void
mwifiex_del_ba_tbl
(
struct
mwifiex_private
*
priv
,
int
Tid
,
58
u8
*PeerMACAddr,
u8
type
,
int
initiator
);
59
void
mwifiex_11n_ba_stream_timeout
(
struct
mwifiex_private
*
priv
,
60
struct
host_cmd_ds_11n_batimeout
*
event
);
61
int
mwifiex_ret_11n_addba_resp
(
struct
mwifiex_private
*
priv
,
62
struct
host_cmd_ds_command
63
*
resp
);
64
int
mwifiex_cmd_11n_delba
(
struct
host_cmd_ds_command
*
cmd
,
65
void
*
data_buf
);
66
int
mwifiex_cmd_11n_addba_rsp_gen
(
struct
mwifiex_private
*
priv
,
67
struct
host_cmd_ds_command
*
cmd
,
68
struct
host_cmd_ds_11n_addba_req
69
*cmd_addba_req);
70
int
mwifiex_cmd_11n_addba_req
(
struct
host_cmd_ds_command
*
cmd
,
71
void
*
data_buf
);
72
void
mwifiex_11n_cleanup_reorder_tbl
(
struct
mwifiex_private
*
priv
);
73
struct
mwifiex_rx_reorder_tbl
*
mwifiex_11n_get_rxreorder_tbl
(
struct
74
mwifiex_private
75
*
priv
,
int
tid
,
76
u8
*
ta
);
77
struct
mwifiex_rx_reorder_tbl
*
78
mwifiex_11n_get_rx_reorder_tbl
(
struct
mwifiex_private
*
priv
,
int
tid
,
u8
*
ta
);
79
void
mwifiex_11n_del_rx_reorder_tbl_by_ta
(
struct
mwifiex_private
*
priv
,
u8
*
ta
);
80
void
mwifiex_update_rxreor_flags
(
struct
mwifiex_adapter
*
adapter
,
u8
flags
);
81
82
#endif
/* _MWIFIEX_11N_RXREORDER_H_ */
Generated on Thu Jan 10 2013 14:12:08 for Linux Kernel by
1.8.2