1/* SPDX-License-Identifier: ISC */ 2/* Copyright (C) 2020 MediaTek Inc. */ 3 4#ifndef __MT7915_MAC_H 5#define __MT7915_MAC_H 6 7#include "../mt76_connac2_mac.h" 8 9#define MT_TX_FREE_VER GENMASK(18, 16) 10#define MT_TX_FREE_MSDU_CNT_V0 GENMASK(6, 0) 11/* 0: success, others: dropped */ 12#define MT_TX_FREE_COUNT GENMASK(12, 0) 13#define MT_TX_FREE_COUNT_V3 GENMASK(27, 24) 14#define MT_TX_FREE_STAT GENMASK(14, 13) 15#define MT_TX_FREE_STAT_V3 GENMASK(29, 28) 16#define MT_TX_FREE_MPDU_HEADER BIT(15) 17#define MT_TX_FREE_MPDU_HEADER_V3 BIT(30) 18#define MT_TX_FREE_MSDU_ID_V3 GENMASK(14, 0) 19 20#define MT_TXS5_F0_FINAL_MPDU BIT(31) 21#define MT_TXS5_F0_QOS BIT(30) 22#define MT_TXS5_F0_TX_COUNT GENMASK(29, 25) 23#define MT_TXS5_F0_FRONT_TIME GENMASK(24, 0) 24#define MT_TXS5_F1_MPDU_TX_COUNT GENMASK(31, 24) 25#define MT_TXS5_F1_MPDU_TX_BYTES GENMASK(23, 0) 26 27#define MT_TXS6_F0_NOISE_3 GENMASK(31, 24) 28#define MT_TXS6_F0_NOISE_2 GENMASK(23, 16) 29#define MT_TXS6_F0_NOISE_1 GENMASK(15, 8) 30#define MT_TXS6_F0_NOISE_0 GENMASK(7, 0) 31#define MT_TXS6_F1_MPDU_FAIL_COUNT GENMASK(31, 24) 32#define MT_TXS6_F1_MPDU_FAIL_BYTES GENMASK(23, 0) 33 34#define MT_TXS7_F0_RCPI_3 GENMASK(31, 24) 35#define MT_TXS7_F0_RCPI_2 GENMASK(23, 16) 36#define MT_TXS7_F0_RCPI_1 GENMASK(15, 8) 37#define MT_TXS7_F0_RCPI_0 GENMASK(7, 0) 38#define MT_TXS7_F1_MPDU_RETRY_COUNT GENMASK(31, 24) 39#define MT_TXS7_F1_MPDU_RETRY_BYTES GENMASK(23, 0) 40 41struct mt7915_dfs_pulse { 42 u32 max_width; /* us */ 43 int max_pwr; /* dbm */ 44 int min_pwr; /* dbm */ 45 u32 min_stgr_pri; /* us */ 46 u32 max_stgr_pri; /* us */ 47 u32 min_cr_pri; /* us */ 48 u32 max_cr_pri; /* us */ 49}; 50 51struct mt7915_dfs_pattern { 52 u8 enb; 53 u8 stgr; 54 u8 min_crpn; 55 u8 max_crpn; 56 u8 min_crpr; 57 u8 min_pw; 58 u32 min_pri; 59 u32 max_pri; 60 u8 max_pw; 61 u8 min_crbn; 62 u8 max_crbn; 63 u8 min_stgpn; 64 u8 max_stgpn; 65 u8 min_stgpr; 66 u8 rsv[2]; 67 u32 min_stgpr_diff; 68} __packed; 69 70struct mt7915_dfs_radar_spec { 71 struct mt7915_dfs_pulse pulse_th; 72 struct mt7915_dfs_pattern radar_pattern[16]; 73}; 74 75#endif 76