[funini.com] -> [kei@sodan] -> Kernel Reading

root/net/mac80211/rc80211_minstrel.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


/*
 * Copyright (C) 2008 Felix Fietkau <nbd@openwrt.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */

#ifndef __RC_MINSTREL_H
#define __RC_MINSTREL_H

struct minstrel_rate {
        int bitrate;
        int rix;

        unsigned int perfect_tx_time;
        unsigned int ack_time;

        unsigned int retry_count;
        unsigned int retry_count_cts;
        unsigned int retry_count_rtscts;
        unsigned int adjusted_retry_count;

        u32 success;
        u32 attempts;
        u32 last_attempts;
        u32 last_success;

        /* parts per thousand */
        u32 cur_prob;
        u32 probability;

        /* per-rate throughput */
        u32 cur_tp;
        u32 throughput;

        u64 succ_hist;
        u64 att_hist;
};

struct minstrel_sta_info {
        unsigned long stats_update;
        unsigned int sp_ack_dur;
        unsigned int rate_avg;

        unsigned int lowest_rix;

        unsigned int max_tp_rate;
        unsigned int max_tp_rate2;
        unsigned int max_prob_rate;
        unsigned int packet_count;
        unsigned int sample_count;
        int sample_deferred;

        unsigned int sample_idx;
        unsigned int sample_column;

        int n_rates;
        struct minstrel_rate *r;

        /* sampling table */
        u8 *sample_table;

#ifdef CONFIG_MAC80211_DEBUGFS
        struct dentry *dbg_stats;
#endif
};

struct minstrel_priv {
        struct ieee80211_hw *hw;
        bool has_mrr;
        unsigned int cw_min;
        unsigned int cw_max;
        unsigned int max_retry;
        unsigned int ewma_level;
        unsigned int segment_size;
        unsigned int update_interval;
        unsigned int lookaround_rate;
        unsigned int lookaround_rate_mrr;
};

void minstrel_add_sta_debugfs(void *priv, void *priv_sta, struct dentry *dir);
void minstrel_remove_sta_debugfs(void *priv, void *priv_sta);

#endif

/* [<][>][^][v][top][bottom][index][help] */

[funini.com] -> [kei@sodan] -> Kernel Reading