PageRenderTime 15ms CodeModel.GetById 8ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/net/mac80211/rc80211_minstrel.h

https://bitbucket.org/abioy/linux
C Header | 86 lines | 58 code | 18 blank | 10 comment | 0 complexity | 50c085a77d1ae03b06f64ba71a91739c MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
 1/*
 2 * Copyright (C) 2008 Felix Fietkau <nbd@openwrt.org>
 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
12struct 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
41struct 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
70struct 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
83void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir);
84void minstrel_remove_sta_debugfs(void *priv, void *priv_sta);
85
86#endif