linux/drivers/net/wireless/mediatek/mt76/mt7925/mcu.h

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

#ifndef __MT7925_MCU_H
#define __MT7925_MCU_H

#include "../mt76_connac_mcu.h"

/* ext event table */
enum {};

struct mt7925_mcu_eeprom_info {} __packed;

#define MT_RA_RATE_NSS
#define MT_RA_RATE_MCS
#define MT_RA_RATE_TX_MODE
#define MT_RA_RATE_DCM_EN
#define MT_RA_RATE_BW

struct mt7925_mcu_rxd {};

struct mt7925_mcu_uni_event {} __packed;

enum {};

struct mt7925_mcu_reg_event {} __packed;

struct mt7925_mcu_ant_id_config {} __packed;

struct mt7925_txpwr_req {} __packed;

struct mt7925_txpwr_event {} __packed;

enum {};

enum {};

struct mt7925_rftest_cmd {} __packed;

struct mt7925_rftest_evt {} __packed;

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum {};

enum connac3_mcu_cipher_type {};

struct mt7925_mcu_scan_chinfo_event {} __packed;

enum {};

enum {};

struct scan_hdr_tlv {} __packed;

struct scan_req_tlv {};

struct scan_ssid_tlv {};

struct scan_bssid_tlv {};

struct scan_chan_info_tlv {};

struct scan_ie_tlv {};

struct scan_misc_tlv {};

struct scan_sched_req {};

struct scan_sched_ssid_match_sets {};

struct scan_sched_enable {};

struct mbmc_set_req {} __packed;

struct mbmc_conf_tlv {} __packed;

struct edca {};

struct bss_req_hdr {} __packed;

struct bss_rate_tlv {} __packed;

struct bss_mld_tlv {} __packed;

struct sta_rec_ba_uni {} __packed;

struct sta_rec_eht {} __packed;

struct sta_rec_sec_uni {} __packed;

struct sta_rec_hdr_trans {} __packed;

struct sta_rec_mld {} __packed;

struct sta_rec_eht_mld {} __packed;

struct bss_ifs_time_tlv {} __packed;

struct bss_rlm_tlv {} __packed;

#define MT7925_STA_UPDATE_MAX_SIZE

#define MT7925_BSS_UPDATE_MAX_SIZE

#define MT_CONNAC3_SKU_POWER_LIMIT
struct mt7925_sku_tlv {} __packed;

struct mt7925_tx_power_limit_tlv {} __packed;

struct mt7925_arpns_tlv {} __packed;

struct mt7925_wow_pattern_tlv {} __packed;

struct roc_acquire_tlv {} __packed;

static inline enum connac3_mcu_cipher_type
mt7925_mcu_get_cipher(int cipher)
{}

int mt7925_mcu_set_dbdc(struct mt76_phy *phy);
int mt7925_mcu_hw_scan(struct mt76_phy *phy, struct ieee80211_vif *vif,
		       struct ieee80211_scan_request *scan_req);
int mt7925_mcu_cancel_hw_scan(struct mt76_phy *phy,
			      struct ieee80211_vif *vif);
int mt7925_mcu_sched_scan_req(struct mt76_phy *phy,
			      struct ieee80211_vif *vif,
			      struct cfg80211_sched_scan_request *sreq);
int mt7925_mcu_sched_scan_enable(struct mt76_phy *phy,
				 struct ieee80211_vif *vif,
				 bool enable);
int mt7925_mcu_add_bss_info(struct mt792x_phy *phy,
			    struct ieee80211_chanctx_conf *ctx,
			    struct ieee80211_bss_conf *link_conf,
			    struct ieee80211_link_sta *link_sta,
			    int enable);
int mt7925_mcu_set_timing(struct mt792x_phy *phy,
			  struct ieee80211_bss_conf *link_conf);
int mt7925_mcu_set_deep_sleep(struct mt792x_dev *dev, bool enable);
int mt7925_mcu_set_channel_domain(struct mt76_phy *phy);
int mt7925_mcu_set_radio_en(struct mt792x_phy *phy, bool enable);
int mt7925_mcu_set_chctx(struct mt76_phy *phy, struct mt76_vif *mvif,
			 struct ieee80211_bss_conf *link_conf,
			 struct ieee80211_chanctx_conf *ctx);
int mt7925_mcu_set_rate_txpower(struct mt76_phy *phy);
int mt7925_mcu_update_arp_filter(struct mt76_dev *dev,
				 struct ieee80211_bss_conf *link_conf);
#endif