#include <linux/devcoredump.h>
#include <linux/etherdevice.h>
#include <linux/timekeeping.h>
#include "mt7615.h"
#include "../trace.h"
#include "../dma.h"
#include "mt7615_trace.h"
#include "mac.h"
#include "mcu.h"
#define to_rssi(field, rxv) …
static const struct mt7615_dfs_radar_spec etsi_radar_specs = …;
static const struct mt7615_dfs_radar_spec fcc_radar_specs = …;
static const struct mt7615_dfs_radar_spec jp_radar_specs = …;
static enum mt76_cipher_type
mt7615_mac_get_cipher(int cipher)
{ … }
static struct mt76_wcid *mt7615_rx_get_wcid(struct mt7615_dev *dev,
u8 idx, bool unicast)
{ … }
void mt7615_mac_reset_counters(struct mt7615_phy *phy)
{ … }
void mt7615_mac_set_timing(struct mt7615_phy *phy)
{ … }
static void
mt7615_get_status_freq_info(struct mt7615_dev *dev, struct mt76_phy *mphy,
struct mt76_rx_status *status, u8 chfreq)
{ … }
static void mt7615_mac_fill_tm_rx(struct mt7615_phy *phy, __le32 *rxv)
{ … }
static int mt7615_reverse_frag0_hdr_trans(struct sk_buff *skb, u16 hdr_gap)
{ … }
static int mt7615_mac_fill_rx(struct mt7615_dev *dev, struct sk_buff *skb)
{ … }
static u16
mt7615_mac_tx_rate_val(struct mt7615_dev *dev,
struct mt76_phy *mphy,
const struct ieee80211_tx_rate *rate,
bool stbc, u8 *bw)
{ … }
int mt7615_mac_write_txwi(struct mt7615_dev *dev, __le32 *txwi,
struct sk_buff *skb, struct mt76_wcid *wcid,
struct ieee80211_sta *sta, int pid,
struct ieee80211_key_conf *key,
enum mt76_txq_id qid, bool beacon)
{ … }
EXPORT_SYMBOL_GPL(…);
bool mt7615_mac_wtbl_update(struct mt7615_dev *dev, int idx, u32 mask)
{ … }
void mt7615_mac_sta_poll(struct mt7615_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static void
mt7615_mac_update_rate_desc(struct mt7615_phy *phy, struct mt7615_sta *sta,
struct ieee80211_tx_rate *probe_rate,
struct ieee80211_tx_rate *rates,
struct mt7615_rate_desc *rd)
{ … }
static int
mt7615_mac_queue_rate_update(struct mt7615_phy *phy, struct mt7615_sta *sta,
struct ieee80211_tx_rate *probe_rate,
struct ieee80211_tx_rate *rates)
{ … }
u32 mt7615_mac_get_sta_tid_sn(struct mt7615_dev *dev, int wcid, u8 tid)
{ … }
void mt7615_mac_set_rates(struct mt7615_phy *phy, struct mt7615_sta *sta,
struct ieee80211_tx_rate *probe_rate,
struct ieee80211_tx_rate *rates)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt7615_mac_enable_rtscts(struct mt7615_dev *dev,
struct ieee80211_vif *vif, bool enable)
{ … }
EXPORT_SYMBOL_GPL(…);
static int
mt7615_mac_wtbl_update_key(struct mt7615_dev *dev, struct mt76_wcid *wcid,
struct ieee80211_key_conf *key,
enum mt76_cipher_type cipher, u16 cipher_mask)
{ … }
static int
mt7615_mac_wtbl_update_pk(struct mt7615_dev *dev, struct mt76_wcid *wcid,
enum mt76_cipher_type cipher, u16 cipher_mask,
int keyidx)
{ … }
static void
mt7615_mac_wtbl_update_cipher(struct mt7615_dev *dev, struct mt76_wcid *wcid,
enum mt76_cipher_type cipher, u16 cipher_mask)
{ … }
int __mt7615_mac_wtbl_set_key(struct mt7615_dev *dev,
struct mt76_wcid *wcid,
struct ieee80211_key_conf *key)
{ … }
int mt7615_mac_wtbl_set_key(struct mt7615_dev *dev,
struct mt76_wcid *wcid,
struct ieee80211_key_conf *key)
{ … }
static bool mt7615_fill_txs(struct mt7615_dev *dev, struct mt7615_sta *sta,
struct ieee80211_tx_info *info, __le32 *txs_data)
{ … }
static bool mt7615_mac_add_txs_skb(struct mt7615_dev *dev,
struct mt7615_sta *sta, int pid,
__le32 *txs_data)
{ … }
static void mt7615_mac_add_txs(struct mt7615_dev *dev, void *data)
{ … }
static void
mt7615_txwi_free(struct mt7615_dev *dev, struct mt76_txwi_cache *txwi)
{ … }
static void
mt7615_mac_tx_free_token(struct mt7615_dev *dev, u16 token)
{ … }
static void mt7615_mac_tx_free(struct mt7615_dev *dev, void *data, int len)
{ … }
bool mt7615_rx_check(struct mt76_dev *mdev, void *data, int len)
{ … }
EXPORT_SYMBOL_GPL(…);
void mt7615_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
struct sk_buff *skb, u32 *info)
{ … }
EXPORT_SYMBOL_GPL(…);
static void
mt7615_mac_set_sensitivity(struct mt7615_phy *phy, int val, bool ofdm)
{ … }
static void
mt7615_mac_set_default_sensitivity(struct mt7615_phy *phy)
{ … }
void mt7615_mac_set_scs(struct mt7615_phy *phy, bool enable)
{ … }
void mt7615_mac_enable_nf(struct mt7615_dev *dev, bool ext_phy)
{ … }
void mt7615_mac_cca_stats_reset(struct mt7615_phy *phy)
{ … }
static void
mt7615_mac_adjust_sensitivity(struct mt7615_phy *phy,
u32 rts_err_rate, bool ofdm)
{ … }
static void
mt7615_mac_scs_check(struct mt7615_phy *phy)
{ … }
static u8
mt7615_phy_get_nf(struct mt7615_dev *dev, int idx)
{ … }
static void
mt7615_phy_update_channel(struct mt76_phy *mphy, int idx)
{ … }
static void mt7615_update_survey(struct mt7615_dev *dev)
{ … }
void mt7615_update_channel(struct mt76_phy *mphy)
{ … }
EXPORT_SYMBOL_GPL(…);
static void
mt7615_mac_update_mib_stats(struct mt7615_phy *phy)
{ … }
void mt7615_pm_wake_work(struct work_struct *work)
{ … }
void mt7615_pm_power_save_work(struct work_struct *work)
{ … }
void mt7615_mac_work(struct work_struct *work)
{ … }
void mt7615_tx_token_put(struct mt7615_dev *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
static void mt7615_dfs_stop_radar_detector(struct mt7615_phy *phy)
{ … }
static int mt7615_dfs_start_rdd(struct mt7615_dev *dev, int chain)
{ … }
static int mt7615_dfs_start_radar_detector(struct mt7615_phy *phy)
{ … }
static int
mt7615_dfs_init_radar_specs(struct mt7615_phy *phy)
{ … }
int mt7615_dfs_init_radar_detector(struct mt7615_phy *phy)
{ … }
int mt7615_mac_set_beacon_filter(struct mt7615_phy *phy,
struct ieee80211_vif *vif,
bool enable)
{ … }
void mt7615_coredump_work(struct work_struct *work)
{ … }