linux/drivers/net/wireless/mediatek/mt76/mt7615/mac.c

// SPDX-License-Identifier: ISC
/* Copyright (C) 2019 MediaTek Inc.
 *
 * Author: Ryder Lee <[email protected]>
 *         Roy Luo <[email protected]>
 *         Felix Fietkau <[email protected]>
 *         Lorenzo Bianconi <[email protected]>
 */

#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)
{}

/* The HW does not translate the mac header to 802.3 for mesh point */
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)
{}