1 2 /* 3 * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. 4 * SPDX-License-Identifier: ISC 5 */ 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #ifndef _TX_FES_STATUS_START_H_ 20 #define _TX_FES_STATUS_START_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 #define NUM_OF_DWORDS_TX_FES_STATUS_START 4 25 26 #define NUM_OF_QWORDS_TX_FES_STATUS_START 2 27 28 29 struct tx_fes_status_start { 30 #ifndef WIFI_BIT_ORDER_BIG_ENDIAN 31 uint32_t schedule_id : 32; 32 uint32_t reserved_1a : 8, 33 transmit_start_reason : 3, 34 disabled_user_bitmap_36_32 : 5, 35 schedule_cmd_ring_id : 5, 36 fes_control_mode : 2, 37 schedule_try : 4, 38 medium_prot_type : 3, 39 reserved_1b : 2; 40 uint32_t optimal_bw_try_count : 4, 41 number_of_users : 7, 42 coex_nack_count : 5, 43 cca_ed0 : 16; 44 uint32_t disabled_user_bitmap_31_0 : 32; 45 #else 46 uint32_t schedule_id : 32; 47 uint32_t reserved_1b : 2, 48 medium_prot_type : 3, 49 schedule_try : 4, 50 fes_control_mode : 2, 51 schedule_cmd_ring_id : 5, 52 disabled_user_bitmap_36_32 : 5, 53 transmit_start_reason : 3, 54 reserved_1a : 8; 55 uint32_t cca_ed0 : 16, 56 coex_nack_count : 5, 57 number_of_users : 7, 58 optimal_bw_try_count : 4; 59 uint32_t disabled_user_bitmap_31_0 : 32; 60 #endif 61 }; 62 63 64 65 66 #define TX_FES_STATUS_START_SCHEDULE_ID_OFFSET 0x0000000000000000 67 #define TX_FES_STATUS_START_SCHEDULE_ID_LSB 0 68 #define TX_FES_STATUS_START_SCHEDULE_ID_MSB 31 69 #define TX_FES_STATUS_START_SCHEDULE_ID_MASK 0x00000000ffffffff 70 71 72 73 74 #define TX_FES_STATUS_START_RESERVED_1A_OFFSET 0x0000000000000000 75 #define TX_FES_STATUS_START_RESERVED_1A_LSB 32 76 #define TX_FES_STATUS_START_RESERVED_1A_MSB 39 77 #define TX_FES_STATUS_START_RESERVED_1A_MASK 0x000000ff00000000 78 79 80 81 82 #define TX_FES_STATUS_START_TRANSMIT_START_REASON_OFFSET 0x0000000000000000 83 #define TX_FES_STATUS_START_TRANSMIT_START_REASON_LSB 40 84 #define TX_FES_STATUS_START_TRANSMIT_START_REASON_MSB 42 85 #define TX_FES_STATUS_START_TRANSMIT_START_REASON_MASK 0x0000070000000000 86 87 88 89 90 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_36_32_OFFSET 0x0000000000000000 91 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_36_32_LSB 43 92 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_36_32_MSB 47 93 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_36_32_MASK 0x0000f80000000000 94 95 96 97 98 #define TX_FES_STATUS_START_SCHEDULE_CMD_RING_ID_OFFSET 0x0000000000000000 99 #define TX_FES_STATUS_START_SCHEDULE_CMD_RING_ID_LSB 48 100 #define TX_FES_STATUS_START_SCHEDULE_CMD_RING_ID_MSB 52 101 #define TX_FES_STATUS_START_SCHEDULE_CMD_RING_ID_MASK 0x001f000000000000 102 103 104 105 106 #define TX_FES_STATUS_START_FES_CONTROL_MODE_OFFSET 0x0000000000000000 107 #define TX_FES_STATUS_START_FES_CONTROL_MODE_LSB 53 108 #define TX_FES_STATUS_START_FES_CONTROL_MODE_MSB 54 109 #define TX_FES_STATUS_START_FES_CONTROL_MODE_MASK 0x0060000000000000 110 111 112 113 114 #define TX_FES_STATUS_START_SCHEDULE_TRY_OFFSET 0x0000000000000000 115 #define TX_FES_STATUS_START_SCHEDULE_TRY_LSB 55 116 #define TX_FES_STATUS_START_SCHEDULE_TRY_MSB 58 117 #define TX_FES_STATUS_START_SCHEDULE_TRY_MASK 0x0780000000000000 118 119 120 121 122 #define TX_FES_STATUS_START_MEDIUM_PROT_TYPE_OFFSET 0x0000000000000000 123 #define TX_FES_STATUS_START_MEDIUM_PROT_TYPE_LSB 59 124 #define TX_FES_STATUS_START_MEDIUM_PROT_TYPE_MSB 61 125 #define TX_FES_STATUS_START_MEDIUM_PROT_TYPE_MASK 0x3800000000000000 126 127 128 129 130 #define TX_FES_STATUS_START_RESERVED_1B_OFFSET 0x0000000000000000 131 #define TX_FES_STATUS_START_RESERVED_1B_LSB 62 132 #define TX_FES_STATUS_START_RESERVED_1B_MSB 63 133 #define TX_FES_STATUS_START_RESERVED_1B_MASK 0xc000000000000000 134 135 136 137 138 #define TX_FES_STATUS_START_OPTIMAL_BW_TRY_COUNT_OFFSET 0x0000000000000008 139 #define TX_FES_STATUS_START_OPTIMAL_BW_TRY_COUNT_LSB 0 140 #define TX_FES_STATUS_START_OPTIMAL_BW_TRY_COUNT_MSB 3 141 #define TX_FES_STATUS_START_OPTIMAL_BW_TRY_COUNT_MASK 0x000000000000000f 142 143 144 145 146 #define TX_FES_STATUS_START_NUMBER_OF_USERS_OFFSET 0x0000000000000008 147 #define TX_FES_STATUS_START_NUMBER_OF_USERS_LSB 4 148 #define TX_FES_STATUS_START_NUMBER_OF_USERS_MSB 10 149 #define TX_FES_STATUS_START_NUMBER_OF_USERS_MASK 0x00000000000007f0 150 151 152 153 154 #define TX_FES_STATUS_START_COEX_NACK_COUNT_OFFSET 0x0000000000000008 155 #define TX_FES_STATUS_START_COEX_NACK_COUNT_LSB 11 156 #define TX_FES_STATUS_START_COEX_NACK_COUNT_MSB 15 157 #define TX_FES_STATUS_START_COEX_NACK_COUNT_MASK 0x000000000000f800 158 159 160 161 162 #define TX_FES_STATUS_START_CCA_ED0_OFFSET 0x0000000000000008 163 #define TX_FES_STATUS_START_CCA_ED0_LSB 16 164 #define TX_FES_STATUS_START_CCA_ED0_MSB 31 165 #define TX_FES_STATUS_START_CCA_ED0_MASK 0x00000000ffff0000 166 167 168 169 170 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_31_0_OFFSET 0x0000000000000008 171 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_31_0_LSB 32 172 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_31_0_MSB 63 173 #define TX_FES_STATUS_START_DISABLED_USER_BITMAP_31_0_MASK 0xffffffff00000000 174 175 176 177 #endif 178