1 /* 2 * Copyright (c) 2019 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 // 20 // DO NOT EDIT! This file is automatically generated 21 // These definitions are tied to a particular hardware layout 22 23 24 #ifndef _HE_SIG_B2_MU_INFO_H_ 25 #define _HE_SIG_B2_MU_INFO_H_ 26 #if !defined(__ASSEMBLER__) 27 #endif 28 29 30 // ################ START SUMMARY ################# 31 // 32 // Dword Fields 33 // 0 sta_id[10:0], sta_spatial_config[14:11], sta_mcs[18:15], reserved_set_to_1[19], sta_coding[20], reserved_0a[28:21], nsts[31:29] 34 // 35 // ################ END SUMMARY ################# 36 37 #define NUM_OF_DWORDS_HE_SIG_B2_MU_INFO 1 38 39 struct he_sig_b2_mu_info { 40 uint32_t sta_id : 11, //[10:0] 41 sta_spatial_config : 4, //[14:11] 42 sta_mcs : 4, //[18:15] 43 reserved_set_to_1 : 1, //[19] 44 sta_coding : 1, //[20] 45 reserved_0a : 8, //[28:21] 46 nsts : 3; //[31:29] 47 }; 48 49 /* 50 51 sta_id 52 53 Identifies the STA that is addressed. Details of STA ID 54 are TBD 55 56 sta_spatial_config 57 58 Number of assigned spatial streams and their 59 corresponding index. 60 61 Total number of spatial streams assigned for the MU-MIMO 62 allocation is also signaled. 63 64 sta_mcs 65 66 Indicates the data MCS 67 68 reserved_set_to_1 69 70 <legal 1> 71 72 sta_coding 73 74 Distinguishes between BCC/LDPC 75 76 77 78 0: BCC 79 80 1: LDPC 81 82 <legal all> 83 84 reserved_0a 85 86 <legal 0> 87 88 nsts 89 90 MAC RX side usage only: 91 92 Needed by RXPCU. Provided by PHY so that RXPCU does not 93 need to have the RU number decoding logic. 94 95 96 97 Number of spatial streams for this user 98 99 100 101 <enum 0 1_spatial_stream>Single spatial stream 102 103 <enum 1 2_spatial_streams>2 spatial streams 104 105 <enum 2 3_spatial_streams>3 spatial streams 106 107 <enum 3 4_spatial_streams>4 spatial streams 108 109 <enum 4 5_spatial_streams>5 spatial streams 110 111 <enum 5 6_spatial_streams>6 spatial streams 112 113 <enum 6 7_spatial_streams>7 spatial streams 114 115 <enum 7 8_spatial_streams>8 spatial streams 116 */ 117 118 119 /* Description HE_SIG_B2_MU_INFO_0_STA_ID 120 121 Identifies the STA that is addressed. Details of STA ID 122 are TBD 123 */ 124 #define HE_SIG_B2_MU_INFO_0_STA_ID_OFFSET 0x00000000 125 #define HE_SIG_B2_MU_INFO_0_STA_ID_LSB 0 126 #define HE_SIG_B2_MU_INFO_0_STA_ID_MASK 0x000007ff 127 128 /* Description HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG 129 130 Number of assigned spatial streams and their 131 corresponding index. 132 133 Total number of spatial streams assigned for the MU-MIMO 134 allocation is also signaled. 135 */ 136 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_OFFSET 0x00000000 137 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_LSB 11 138 #define HE_SIG_B2_MU_INFO_0_STA_SPATIAL_CONFIG_MASK 0x00007800 139 140 /* Description HE_SIG_B2_MU_INFO_0_STA_MCS 141 142 Indicates the data MCS 143 */ 144 #define HE_SIG_B2_MU_INFO_0_STA_MCS_OFFSET 0x00000000 145 #define HE_SIG_B2_MU_INFO_0_STA_MCS_LSB 15 146 #define HE_SIG_B2_MU_INFO_0_STA_MCS_MASK 0x00078000 147 148 /* Description HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1 149 150 <legal 1> 151 */ 152 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_OFFSET 0x00000000 153 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_LSB 19 154 #define HE_SIG_B2_MU_INFO_0_RESERVED_SET_TO_1_MASK 0x00080000 155 156 /* Description HE_SIG_B2_MU_INFO_0_STA_CODING 157 158 Distinguishes between BCC/LDPC 159 160 161 162 0: BCC 163 164 1: LDPC 165 166 <legal all> 167 */ 168 #define HE_SIG_B2_MU_INFO_0_STA_CODING_OFFSET 0x00000000 169 #define HE_SIG_B2_MU_INFO_0_STA_CODING_LSB 20 170 #define HE_SIG_B2_MU_INFO_0_STA_CODING_MASK 0x00100000 171 172 /* Description HE_SIG_B2_MU_INFO_0_RESERVED_0A 173 174 <legal 0> 175 */ 176 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_OFFSET 0x00000000 177 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_LSB 21 178 #define HE_SIG_B2_MU_INFO_0_RESERVED_0A_MASK 0x1fe00000 179 180 /* Description HE_SIG_B2_MU_INFO_0_NSTS 181 182 MAC RX side usage only: 183 184 Needed by RXPCU. Provided by PHY so that RXPCU does not 185 need to have the RU number decoding logic. 186 187 188 189 Number of spatial streams for this user 190 191 192 193 <enum 0 1_spatial_stream>Single spatial stream 194 195 <enum 1 2_spatial_streams>2 spatial streams 196 197 <enum 2 3_spatial_streams>3 spatial streams 198 199 <enum 3 4_spatial_streams>4 spatial streams 200 201 <enum 4 5_spatial_streams>5 spatial streams 202 203 <enum 5 6_spatial_streams>6 spatial streams 204 205 <enum 6 7_spatial_streams>7 spatial streams 206 207 <enum 7 8_spatial_streams>8 spatial streams 208 */ 209 #define HE_SIG_B2_MU_INFO_0_NSTS_OFFSET 0x00000000 210 #define HE_SIG_B2_MU_INFO_0_NSTS_LSB 29 211 #define HE_SIG_B2_MU_INFO_0_NSTS_MASK 0xe0000000 212 213 214 #endif // _HE_SIG_B2_MU_INFO_H_ 215