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
net
mac80211
rc80211_minstrel.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2008 Felix Fietkau <
[email protected]
>
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation.
7
*/
8
9
#ifndef __RC_MINSTREL_H
10
#define __RC_MINSTREL_H
11
12
struct
minstrel_rate
{
13
int
bitrate
;
14
int
rix
;
15
16
unsigned
int
perfect_tx_time
;
17
unsigned
int
ack_time
;
18
19
int
sample_limit
;
20
unsigned
int
retry_count
;
21
unsigned
int
retry_count_cts
;
22
unsigned
int
retry_count_rtscts
;
23
unsigned
int
adjusted_retry_count
;
24
25
u32
success
;
26
u32
attempts
;
27
u32
last_attempts
;
28
u32
last_success
;
29
30
/* parts per thousand */
31
u32
cur_prob
;
32
u32
probability
;
33
34
/* per-rate throughput */
35
u32
cur_tp
;
36
37
u64
succ_hist
;
38
u64
att_hist
;
39
};
40
41
struct
minstrel_sta_info
{
42
unsigned
long
stats_update
;
43
unsigned
int
sp_ack_dur
;
44
unsigned
int
rate_avg
;
45
46
unsigned
int
lowest_rix
;
47
48
unsigned
int
max_tp_rate
;
49
unsigned
int
max_tp_rate2
;
50
unsigned
int
max_prob_rate
;
51
unsigned
int
packet_count
;
52
unsigned
int
sample_count
;
53
int
sample_deferred
;
54
55
unsigned
int
sample_idx
;
56
unsigned
int
sample_column
;
57
58
int
n_rates
;
59
struct
minstrel_rate
*
r
;
60
bool
prev_sample
;
61
62
/* sampling table */
63
u8
*
sample_table
;
64
65
#ifdef CONFIG_MAC80211_DEBUGFS
66
struct
dentry
*dbg_stats;
67
#endif
68
};
69
70
struct
minstrel_priv
{
71
struct
ieee80211_hw
*
hw
;
72
bool
has_mrr
;
73
unsigned
int
cw_min
;
74
unsigned
int
cw_max
;
75
unsigned
int
max_retry
;
76
unsigned
int
ewma_level
;
77
unsigned
int
segment_size
;
78
unsigned
int
update_interval
;
79
unsigned
int
lookaround_rate
;
80
unsigned
int
lookaround_rate_mrr
;
81
82
#ifdef CONFIG_MAC80211_DEBUGFS
83
/*
84
* enable fixed rate processing per RC
85
* - write static index to debugfs:ieee80211/phyX/rc/fixed_rate_idx
86
* - write -1 to enable RC processing again
87
* - setting will be applied on next update
88
*/
89
u32
fixed_rate_idx;
90
struct
dentry
*dbg_fixed_rate;
91
#endif
92
93
};
94
95
struct
minstrel_debugfs_info
{
96
size_t
len
;
97
char
buf
[];
98
};
99
100
extern
struct
rate_control_ops
mac80211_minstrel
;
101
void
minstrel_add_sta_debugfs
(
void
*
priv
,
void
*priv_sta,
struct
dentry
*dir);
102
void
minstrel_remove_sta_debugfs
(
void
*
priv
,
void
*priv_sta);
103
104
/* debugfs */
105
int
minstrel_stats_open
(
struct
inode
*
inode
,
struct
file
*
file
);
106
ssize_t
minstrel_stats_read
(
struct
file
*
file
,
char
__user *
buf
,
size_t
len, loff_t *ppos);
107
int
minstrel_stats_release
(
struct
inode
*
inode
,
struct
file
*
file
);
108
109
#endif
Generated on Thu Jan 10 2013 15:00:01 for Linux Kernel by
1.8.2