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

// SPDX-License-Identifier: ISC
/*
 * Copyright (C) 2022 MediaTek Inc.
 */

#include <linux/etherdevice.h>
#include <linux/timekeeping.h>
#include "coredump.h"
#include "mt7996.h"
#include "../dma.h"
#include "mac.h"
#include "mcu.h"

#define to_rssi(field, rcpi)

static const struct mt7996_dfs_radar_spec etsi_radar_specs =;

static const struct mt7996_dfs_radar_spec fcc_radar_specs =;

static const struct mt7996_dfs_radar_spec jp_radar_specs =;

static struct mt76_wcid *mt7996_rx_get_wcid(struct mt7996_dev *dev,
					    u16 idx, bool unicast)
{}

bool mt7996_mac_wtbl_update(struct mt7996_dev *dev, int idx, u32 mask)
{}

u32 mt7996_mac_wtbl_lmac_addr(struct mt7996_dev *dev, u16 wcid, u8 dw)
{}

static void mt7996_mac_sta_poll(struct mt7996_dev *dev)
{}

void mt7996_mac_enable_rtscts(struct mt7996_dev *dev,
			      struct ieee80211_vif *vif, bool enable)
{}

/* The HW does not translate the mac header to 802.3 for mesh point */
static int mt7996_reverse_frag0_hdr_trans(struct sk_buff *skb, u16 hdr_gap)
{}

static int
mt7996_mac_fill_rx_rate(struct mt7996_dev *dev,
			struct mt76_rx_status *status,
			struct ieee80211_supported_band *sband,
			__le32 *rxv, u8 *mode)
{}

static void
mt7996_wed_check_ppe(struct mt7996_dev *dev, struct mt76_queue *q,
		     struct mt7996_sta *msta, struct sk_buff *skb,
		     u32 info)
{}

static int
mt7996_mac_fill_rx(struct mt7996_dev *dev, enum mt76_rxq_id q,
		   struct sk_buff *skb, u32 *info)
{}

static void
mt7996_mac_write_txwi_8023(struct mt7996_dev *dev, __le32 *txwi,
			   struct sk_buff *skb, struct mt76_wcid *wcid)
{}

static void
mt7996_mac_write_txwi_80211(struct mt7996_dev *dev, __le32 *txwi,
			    struct sk_buff *skb, struct ieee80211_key_conf *key)
{}

void mt7996_mac_write_txwi(struct mt7996_dev *dev, __le32 *txwi,
			   struct sk_buff *skb, struct mt76_wcid *wcid,
			   struct ieee80211_key_conf *key, int pid,
			   enum mt76_txq_id qid, u32 changed)
{}

int mt7996_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)
{}

u32 mt7996_wed_init_buf(void *ptr, dma_addr_t phys, int token_id)
{}

static void
mt7996_tx_check_aggr(struct ieee80211_sta *sta, struct sk_buff *skb)
{}

static void
mt7996_txwi_free(struct mt7996_dev *dev, struct mt76_txwi_cache *t,
		 struct ieee80211_sta *sta, struct list_head *free_list)
{}

static void
mt7996_mac_tx_free(struct mt7996_dev *dev, void *data, int len)
{}

static bool
mt7996_mac_add_txs_skb(struct mt7996_dev *dev, struct mt76_wcid *wcid,
		       int pid, __le32 *txs_data)
{}

static void mt7996_mac_add_txs(struct mt7996_dev *dev, void *data)
{}

bool mt7996_rx_check(struct mt76_dev *mdev, void *data, int len)
{}

void mt7996_queue_rx_skb(struct mt76_dev *mdev, enum mt76_rxq_id q,
			 struct sk_buff *skb, u32 *info)
{}

void mt7996_mac_cca_stats_reset(struct mt7996_phy *phy)
{}

void mt7996_mac_reset_counters(struct mt7996_phy *phy)
{}

void mt7996_mac_set_coverage_class(struct mt7996_phy *phy)
{}

void mt7996_mac_enable_nf(struct mt7996_dev *dev, u8 band)
{}

static u8
mt7996_phy_get_nf(struct mt7996_phy *phy, u8 band_idx)
{}

void mt7996_update_channel(struct mt76_phy *mphy)
{}

static bool
mt7996_wait_reset_state(struct mt7996_dev *dev, u32 state)
{}

static void
mt7996_update_vif_beacon(void *priv, u8 *mac, struct ieee80211_vif *vif)
{}

static void
mt7996_update_beacons(struct mt7996_dev *dev)
{}

void mt7996_tx_token_put(struct mt7996_dev *dev)
{}

static int
mt7996_mac_restart(struct mt7996_dev *dev)
{}

static void
mt7996_mac_full_reset(struct mt7996_dev *dev)
{}

void mt7996_mac_reset_work(struct work_struct *work)
{}

/* firmware coredump */
void mt7996_mac_dump_work(struct work_struct *work)
{}

void mt7996_reset(struct mt7996_dev *dev)
{}

void mt7996_mac_update_stats(struct mt7996_phy *phy)
{}

void mt7996_mac_sta_rc_work(struct work_struct *work)
{}

void mt7996_mac_work(struct work_struct *work)
{}

static void mt7996_dfs_stop_radar_detector(struct mt7996_phy *phy)
{}

static int mt7996_dfs_start_rdd(struct mt7996_dev *dev, int chain)
{}

static int mt7996_dfs_start_radar_detector(struct mt7996_phy *phy)
{}

static int
mt7996_dfs_init_radar_specs(struct mt7996_phy *phy)
{}

int mt7996_dfs_init_radar_detector(struct mt7996_phy *phy)
{}

static int
mt7996_mac_twt_duration_align(int duration)
{}

static u64
mt7996_mac_twt_sched_list_add(struct mt7996_dev *dev,
			      struct mt7996_twt_flow *flow)
{}

static int mt7996_mac_check_twt_req(struct ieee80211_twt_setup *twt)
{}

static bool
mt7996_mac_twt_param_equal(struct mt7996_sta *msta,
			   struct ieee80211_twt_params *twt_agrt)
{}

void mt7996_mac_add_twt_setup(struct ieee80211_hw *hw,
			      struct ieee80211_sta *sta,
			      struct ieee80211_twt_setup *twt)
{}

void mt7996_mac_twt_teardown_flow(struct mt7996_dev *dev,
				  struct mt7996_sta *msta,
				  u8 flowid)
{}