#include "mt76x02.h"
#include "mt76x02_trace.h"
#include "trace.h"
void mt76x02_mac_reset_counters(struct mt76x02_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static enum mt76x02_cipher_type
mt76x02_mac_get_key_info(struct ieee80211_key_conf *key, u8 *key_data)
{ … }
int mt76x02_mac_shared_key_setup(struct mt76x02_dev *dev, u8 vif_idx,
u8 key_idx, struct ieee80211_key_conf *key)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76x02_mac_wcid_sync_pn(struct mt76x02_dev *dev, u8 idx,
struct ieee80211_key_conf *key)
{ … }
int mt76x02_mac_wcid_set_key(struct mt76x02_dev *dev, u8 idx,
struct ieee80211_key_conf *key)
{ … }
void mt76x02_mac_wcid_setup(struct mt76x02_dev *dev, u8 idx,
u8 vif_idx, u8 *mac)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76x02_mac_wcid_set_drop(struct mt76x02_dev *dev, u8 idx, bool drop)
{ … }
static u16
mt76x02_mac_tx_rate_val(struct mt76x02_dev *dev,
const struct ieee80211_tx_rate *rate, u8 *nss_val)
{ … }
void mt76x02_mac_wcid_set_rate(struct mt76x02_dev *dev, struct mt76_wcid *wcid,
const struct ieee80211_tx_rate *rate)
{ … }
void mt76x02_mac_set_short_preamble(struct mt76x02_dev *dev, bool enable)
{ … }
bool mt76x02_mac_load_tx_status(struct mt76x02_dev *dev,
struct mt76x02_tx_status *stat)
{ … }
static int
mt76x02_mac_process_tx_rate(struct ieee80211_tx_rate *txrate, u16 rate,
enum nl80211_band band)
{ … }
void mt76x02_mac_write_txwi(struct mt76x02_dev *dev, struct mt76x02_txwi *txwi,
struct sk_buff *skb, struct mt76_wcid *wcid,
struct ieee80211_sta *sta, int len)
{ … }
EXPORT_SYMBOL_GPL(…);
static void
mt76x02_tx_rate_fallback(struct ieee80211_tx_rate *rates, int idx, int phy)
{ … }
static void
mt76x02_mac_fill_tx_status(struct mt76x02_dev *dev, struct mt76x02_sta *msta,
struct ieee80211_tx_info *info,
struct mt76x02_tx_status *st, int n_frames)
{ … }
void mt76x02_send_tx_status(struct mt76x02_dev *dev,
struct mt76x02_tx_status *stat, u8 *update)
{ … }
static int
mt76x02_mac_process_rate(struct mt76x02_dev *dev,
struct mt76_rx_status *status,
u16 rate)
{ … }
void mt76x02_mac_setaddr(struct mt76x02_dev *dev, const u8 *addr)
{ … }
EXPORT_SYMBOL_GPL(…);
static int
mt76x02_mac_get_rssi(struct mt76x02_dev *dev, s8 rssi, int chain)
{ … }
int mt76x02_mac_process_rx(struct mt76x02_dev *dev, struct sk_buff *skb,
void *rxi)
{ … }
void mt76x02_mac_poll_tx_status(struct mt76x02_dev *dev, bool irq)
{ … }
void mt76x02_tx_complete_skb(struct mt76_dev *mdev, struct mt76_queue_entry *e)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76x02_mac_set_rts_thresh(struct mt76x02_dev *dev, u32 val)
{ … }
void mt76x02_mac_set_tx_protection(struct mt76x02_dev *dev, bool legacy_prot,
int ht_mode)
{ … }
void mt76x02_update_channel(struct mt76_phy *mphy)
{ … }
EXPORT_SYMBOL_GPL(…);
static void mt76x02_check_mac_err(struct mt76x02_dev *dev)
{ … }
static void
mt76x02_edcca_tx_enable(struct mt76x02_dev *dev, bool enable)
{ … }
void mt76x02_edcca_init(struct mt76x02_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
#define MT_EDCCA_TH …
#define MT_EDCCA_BLOCK_TH …
#define MT_EDCCA_LEARN_TH …
#define MT_EDCCA_LEARN_CCA …
#define MT_EDCCA_LEARN_TIMEOUT …
static void mt76x02_edcca_check(struct mt76x02_dev *dev)
{ … }
void mt76x02_mac_work(struct work_struct *work)
{ … }
void mt76x02_mac_cc_reset(struct mt76x02_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt76x02_mac_set_bssid(struct mt76x02_dev *dev, u8 idx, const u8 *addr)
{ … }