mirror of
https://github.com/outbackdingo/mt76.git
synced 2026-10-24 13:26:48 +00:00
Switch proper tx arbiter mode during testmode tx to prevent from entering the flow of normal tx in FW. Also, testmode SU and MU tx need to use different arbiter mode. Signed-off-by: Shayne Chen <[email protected]> Signed-off-by: Felix Fietkau <[email protected]>
110 lines
1.5 KiB
C
110 lines
1.5 KiB
C
/* SPDX-License-Identifier: ISC */
|
|
/* Copyright (C) 2020 MediaTek Inc. */
|
|
|
|
#ifndef __MT7915_TESTMODE_H
|
|
#define __MT7915_TESTMODE_H
|
|
|
|
struct mt7915_tm_trx {
|
|
u8 type;
|
|
u8 enable;
|
|
u8 band;
|
|
u8 rsv;
|
|
};
|
|
|
|
struct mt7915_tm_freq_offset {
|
|
u8 band;
|
|
__le32 freq_offset;
|
|
};
|
|
|
|
struct mt7915_tm_slot_time {
|
|
u8 slot_time;
|
|
u8 sifs;
|
|
u8 rifs;
|
|
u8 _rsv;
|
|
__le16 eifs;
|
|
u8 band;
|
|
u8 _rsv1[5];
|
|
};
|
|
|
|
struct mt7915_tm_clean_txq {
|
|
bool sta_pause;
|
|
u8 wcid; /* 256 sta */
|
|
u8 band;
|
|
u8 rsv;
|
|
};
|
|
|
|
struct mt7915_tm_cmd {
|
|
u8 testmode_en;
|
|
u8 param_idx;
|
|
u8 _rsv[2];
|
|
union {
|
|
__le32 data;
|
|
struct mt7915_tm_trx trx;
|
|
struct mt7915_tm_freq_offset freq;
|
|
struct mt7915_tm_slot_time slot;
|
|
struct mt7915_tm_clean_txq clean;
|
|
u8 test[72];
|
|
} param;
|
|
} __packed;
|
|
|
|
enum {
|
|
TM_MAC_TX = 1,
|
|
TM_MAC_RX,
|
|
TM_MAC_TXRX,
|
|
TM_MAC_TXRX_RXV,
|
|
TM_MAC_RXV,
|
|
TM_MAC_RX_RXV,
|
|
};
|
|
|
|
struct tm_tx_cont {
|
|
u8 control_ch;
|
|
u8 center_ch;
|
|
u8 bw;
|
|
u8 tx_ant;
|
|
__le16 rateval;
|
|
u8 band;
|
|
u8 txfd_mode;
|
|
};
|
|
|
|
struct mt7915_tm_rf_test {
|
|
u8 action;
|
|
u8 icap_len;
|
|
u8 _rsv[2];
|
|
union {
|
|
__le32 op_mode;
|
|
__le32 freq;
|
|
|
|
struct {
|
|
__le32 func_idx;
|
|
union {
|
|
__le32 func_data;
|
|
__le32 cal_dump;
|
|
|
|
struct tm_tx_cont tx_cont;
|
|
|
|
u8 _pad[80];
|
|
} param;
|
|
} rf;
|
|
} op;
|
|
} __packed;
|
|
|
|
enum {
|
|
RF_OPER_NORMAL,
|
|
RF_OPER_RF_TEST,
|
|
RF_OPER_ICAP,
|
|
RF_OPER_ICAP_OVERLAP,
|
|
RF_OPER_WIFI_SPECTRUM,
|
|
};
|
|
|
|
enum {
|
|
TAM_ARB_OP_MODE_NORMAL = 1,
|
|
TAM_ARB_OP_MODE_TEST,
|
|
TAM_ARB_OP_MODE_FORCE_SU = 5,
|
|
};
|
|
|
|
enum {
|
|
MURU_SET_ARB_OP_MODE = 14,
|
|
};
|
|
|
|
#endif
|