#include <linux/etherdevice.h>
#include <linux/timekeeping.h>
#include "mt7603.h"
#include "mac.h"
#include "../trace.h"
#define MT_PSE_PAGE_SIZE …
static u32
mt7603_ac_queue_mask0(u32 mask)
{ … }
static void
mt76_stop_tx_ac(struct mt7603_dev *dev, u32 mask)
{ … }
static void
mt76_start_tx_ac(struct mt7603_dev *dev, u32 mask)
{ … }
void mt7603_mac_reset_counters(struct mt7603_dev *dev)
{ … }
void mt7603_mac_set_timing(struct mt7603_dev *dev)
{ … }
static void
mt7603_wtbl_update(struct mt7603_dev *dev, int idx, u32 mask)
{ … }
static u32
mt7603_wtbl1_addr(int idx)
{ … }
static u32
mt7603_wtbl2_addr(int idx)
{ … }
static u32
mt7603_wtbl3_addr(int idx)
{ … }
static u32
mt7603_wtbl4_addr(int idx)
{ … }
void mt7603_wtbl_init(struct mt7603_dev *dev, int idx, int vif,
const u8 *mac_addr)
{ … }
static void
mt7603_wtbl_set_skip_tx(struct mt7603_dev *dev, int idx, bool enabled)
{ … }
void mt7603_filter_tx(struct mt7603_dev *dev, int mac_idx, int idx, bool abort)
{ … }
void mt7603_wtbl_set_smps(struct mt7603_dev *dev, struct mt7603_sta *sta,
bool enabled)
{ … }
void mt7603_wtbl_set_ps(struct mt7603_dev *dev, struct mt7603_sta *sta,
bool enabled)
{ … }
void mt7603_wtbl_clear(struct mt7603_dev *dev, int idx)
{ … }
void mt7603_wtbl_update_cap(struct mt7603_dev *dev, struct ieee80211_sta *sta)
{ … }
void mt7603_mac_rx_ba_reset(struct mt7603_dev *dev, void *addr, u8 tid)
{ … }
void mt7603_mac_tx_ba_reset(struct mt7603_dev *dev, int wcid, int tid,
int ba_size)
{ … }
void mt7603_mac_sta_poll(struct mt7603_dev *dev)
{ … }
static struct mt76_wcid *
mt7603_rx_get_wcid(struct mt7603_dev *dev, u8 idx, bool unicast)
{ … }
int
mt7603_mac_fill_rx(struct mt7603_dev *dev, struct sk_buff *skb)
{ … }
static u16
mt7603_mac_tx_rate_val(struct mt7603_dev *dev,
const struct ieee80211_tx_rate *rate, bool stbc, u8 *bw)
{ … }
void mt7603_wtbl_set_rates(struct mt7603_dev *dev, struct mt7603_sta *sta,
struct ieee80211_tx_rate *probe_rate,
struct ieee80211_tx_rate *rates)
{ … }
static enum mt76_cipher_type
mt7603_mac_get_key_info(struct ieee80211_key_conf *key, u8 *key_data)
{ … }
int mt7603_wtbl_set_key(struct mt7603_dev *dev, int wcid,
struct ieee80211_key_conf *key)
{ … }
static int
mt7603_mac_write_txwi(struct mt7603_dev *dev, __le32 *txwi,
struct sk_buff *skb, enum mt76_txq_id qid,
struct mt76_wcid *wcid, struct ieee80211_sta *sta,
int pid, struct ieee80211_key_conf *key)
{ … }
int mt7603_tx_prepare_skb(struct mt76_dev *mdev, void *txwi_ptr,
enum mt76_txq_id qid, struct mt76_wcid *wcid,
struct ieee80211_sta *sta,
struct mt76_tx_info *tx_info)
{ … }
static bool
mt7603_fill_txs(struct mt7603_dev *dev, struct mt7603_sta *sta,
struct ieee80211_tx_info *info, __le32 *txs_data)
{ … }
static bool
mt7603_mac_add_txs_skb(struct mt7603_dev *dev, struct mt7603_sta *sta, int pid,
__le32 *txs_data)
{ … }
void mt7603_mac_add_txs(struct mt7603_dev *dev, void *data)
{ … }
void mt7603_tx_complete_skb(struct mt76_dev *mdev, struct mt76_queue_entry *e)
{ … }
static bool
wait_for_wpdma(struct mt7603_dev *dev)
{ … }
static void mt7603_pse_reset(struct mt7603_dev *dev)
{ … }
void mt7603_mac_dma_start(struct mt7603_dev *dev)
{ … }
void mt7603_mac_start(struct mt7603_dev *dev)
{ … }
void mt7603_mac_stop(struct mt7603_dev *dev)
{ … }
void mt7603_pse_client_reset(struct mt7603_dev *dev)
{ … }
static void mt7603_dma_sched_reset(struct mt7603_dev *dev)
{ … }
static void mt7603_mac_watchdog_reset(struct mt7603_dev *dev)
{ … }
static u32 mt7603_dma_debug(struct mt7603_dev *dev, u8 index)
{ … }
static bool mt7603_rx_fifo_busy(struct mt7603_dev *dev)
{ … }
static bool mt7603_rx_dma_busy(struct mt7603_dev *dev)
{ … }
static bool mt7603_tx_dma_busy(struct mt7603_dev *dev)
{ … }
static bool mt7603_tx_hang(struct mt7603_dev *dev)
{ … }
static bool mt7603_rx_pse_busy(struct mt7603_dev *dev)
{ … }
static bool
mt7603_watchdog_check(struct mt7603_dev *dev, u8 *counter,
enum mt7603_reset_cause cause,
bool (*check)(struct mt7603_dev *dev))
{ … }
void mt7603_update_channel(struct mt76_phy *mphy)
{ … }
void
mt7603_edcca_set_strict(struct mt7603_dev *dev, bool val)
{ … }
static void
mt7603_edcca_check(struct mt7603_dev *dev)
{ … }
void mt7603_cca_stats_reset(struct mt7603_dev *dev)
{ … }
static void
mt7603_adjust_sensitivity(struct mt7603_dev *dev)
{ … }
static void
mt7603_false_cca_check(struct mt7603_dev *dev)
{ … }
void mt7603_mac_work(struct work_struct *work)
{ … }