1 /* 2 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for any 5 * purpose with or without fee is hereby granted, provided that the above 6 * copyright notice and this permission notice appear in all copies. 7 * 8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15 */ 16 17 18 #ifndef _TX_RATE_STATS_INFO_H_ 19 #define _TX_RATE_STATS_INFO_H_ 20 21 #define NUM_OF_DWORDS_TX_RATE_STATS_INFO 2 22 23 struct tx_rate_stats_info { 24 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 25 uint32_t tx_rate_stats_info_valid : 1, 26 transmit_bw : 3, 27 transmit_pkt_type : 4, 28 transmit_stbc : 1, 29 transmit_ldpc : 1, 30 transmit_sgi : 2, 31 transmit_mcs : 4, 32 ofdma_transmission : 1, 33 tones_in_ru : 12, 34 transmit_nss : 3; 35 uint32_t ppdu_transmission_tsf : 32; 36 #else 37 uint32_t transmit_nss : 3, 38 tones_in_ru : 12, 39 ofdma_transmission : 1, 40 transmit_mcs : 4, 41 transmit_sgi : 2, 42 transmit_ldpc : 1, 43 transmit_stbc : 1, 44 transmit_pkt_type : 4, 45 transmit_bw : 3, 46 tx_rate_stats_info_valid : 1; 47 uint32_t ppdu_transmission_tsf : 32; 48 #endif 49 }; 50 51 #define TX_RATE_STATS_INFO_TX_RATE_STATS_INFO_VALID_OFFSET 0x00000000 52 #define TX_RATE_STATS_INFO_TX_RATE_STATS_INFO_VALID_LSB 0 53 #define TX_RATE_STATS_INFO_TX_RATE_STATS_INFO_VALID_MSB 0 54 #define TX_RATE_STATS_INFO_TX_RATE_STATS_INFO_VALID_MASK 0x00000001 55 56 #define TX_RATE_STATS_INFO_TRANSMIT_BW_OFFSET 0x00000000 57 #define TX_RATE_STATS_INFO_TRANSMIT_BW_LSB 1 58 #define TX_RATE_STATS_INFO_TRANSMIT_BW_MSB 3 59 #define TX_RATE_STATS_INFO_TRANSMIT_BW_MASK 0x0000000e 60 61 #define TX_RATE_STATS_INFO_TRANSMIT_PKT_TYPE_OFFSET 0x00000000 62 #define TX_RATE_STATS_INFO_TRANSMIT_PKT_TYPE_LSB 4 63 #define TX_RATE_STATS_INFO_TRANSMIT_PKT_TYPE_MSB 7 64 #define TX_RATE_STATS_INFO_TRANSMIT_PKT_TYPE_MASK 0x000000f0 65 66 #define TX_RATE_STATS_INFO_TRANSMIT_STBC_OFFSET 0x00000000 67 #define TX_RATE_STATS_INFO_TRANSMIT_STBC_LSB 8 68 #define TX_RATE_STATS_INFO_TRANSMIT_STBC_MSB 8 69 #define TX_RATE_STATS_INFO_TRANSMIT_STBC_MASK 0x00000100 70 71 #define TX_RATE_STATS_INFO_TRANSMIT_LDPC_OFFSET 0x00000000 72 #define TX_RATE_STATS_INFO_TRANSMIT_LDPC_LSB 9 73 #define TX_RATE_STATS_INFO_TRANSMIT_LDPC_MSB 9 74 #define TX_RATE_STATS_INFO_TRANSMIT_LDPC_MASK 0x00000200 75 76 #define TX_RATE_STATS_INFO_TRANSMIT_SGI_OFFSET 0x00000000 77 #define TX_RATE_STATS_INFO_TRANSMIT_SGI_LSB 10 78 #define TX_RATE_STATS_INFO_TRANSMIT_SGI_MSB 11 79 #define TX_RATE_STATS_INFO_TRANSMIT_SGI_MASK 0x00000c00 80 81 #define TX_RATE_STATS_INFO_TRANSMIT_MCS_OFFSET 0x00000000 82 #define TX_RATE_STATS_INFO_TRANSMIT_MCS_LSB 12 83 #define TX_RATE_STATS_INFO_TRANSMIT_MCS_MSB 15 84 #define TX_RATE_STATS_INFO_TRANSMIT_MCS_MASK 0x0000f000 85 86 #define TX_RATE_STATS_INFO_OFDMA_TRANSMISSION_OFFSET 0x00000000 87 #define TX_RATE_STATS_INFO_OFDMA_TRANSMISSION_LSB 16 88 #define TX_RATE_STATS_INFO_OFDMA_TRANSMISSION_MSB 16 89 #define TX_RATE_STATS_INFO_OFDMA_TRANSMISSION_MASK 0x00010000 90 91 #define TX_RATE_STATS_INFO_TONES_IN_RU_OFFSET 0x00000000 92 #define TX_RATE_STATS_INFO_TONES_IN_RU_LSB 17 93 #define TX_RATE_STATS_INFO_TONES_IN_RU_MSB 28 94 #define TX_RATE_STATS_INFO_TONES_IN_RU_MASK 0x1ffe0000 95 96 #define TX_RATE_STATS_INFO_TRANSMIT_NSS_OFFSET 0x00000000 97 #define TX_RATE_STATS_INFO_TRANSMIT_NSS_LSB 29 98 #define TX_RATE_STATS_INFO_TRANSMIT_NSS_MSB 31 99 #define TX_RATE_STATS_INFO_TRANSMIT_NSS_MASK 0xe0000000 100 101 #define TX_RATE_STATS_INFO_PPDU_TRANSMISSION_TSF_OFFSET 0x00000004 102 #define TX_RATE_STATS_INFO_PPDU_TRANSMISSION_TSF_LSB 0 103 #define TX_RATE_STATS_INFO_PPDU_TRANSMISSION_TSF_MSB 31 104 #define TX_RATE_STATS_INFO_PPDU_TRANSMISSION_TSF_MASK 0xffffffff 105 106 #endif 107