1 /* 2 * Copyright (c) 2016-2018 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 #ifndef _RXPT_CLASSIFY_INFO_H_ 20 #define _RXPT_CLASSIFY_INFO_H_ 21 #if !defined(__ASSEMBLER__) 22 #endif 23 24 25 // ################ START SUMMARY ################# 26 // 27 // Dword Fields 28 // 0 reo_destination_indication[4:0], use_toeplitz_hash_2_clfy[5], use_toeplitz_hash_4_clfy[6], use_flow_id_toeplitz_clfy[7], reserved_0a[31:8] 29 // 30 // ################ END SUMMARY ################# 31 32 #define NUM_OF_DWORDS_RXPT_CLASSIFY_INFO 1 33 34 struct rxpt_classify_info { 35 uint32_t reo_destination_indication : 5, //[4:0] 36 use_toeplitz_hash_2_clfy : 1, //[5] 37 use_toeplitz_hash_4_clfy : 1, //[6] 38 use_flow_id_toeplitz_clfy : 1, //[7] 39 reserved_0a : 24; //[31:8] 40 }; 41 42 /* 43 44 reo_destination_indication 45 46 The ID of the REO exit ring where the MSDU frame shall 47 push after (MPDU level) reordering has finished. 48 49 50 51 <enum 0 reo_destination_tcl> Reo will push the frame 52 into the REO2TCL ring 53 54 <enum 1 reo_destination_sw1> Reo will push the frame 55 into the REO2SW1 ring 56 57 <enum 2 reo_destination_sw2> Reo will push the frame 58 into the REO2SW1 ring 59 60 <enum 3 reo_destination_sw3> Reo will push the frame 61 into the REO2SW1 ring 62 63 <enum 4 reo_destination_sw4> Reo will push the frame 64 into the REO2SW1 ring 65 66 <enum 5 reo_destination_release> Reo will push the frame 67 into the REO_release ring 68 69 <enum 6 reo_destination_fw> Reo will push the frame into 70 the REO2FW ring 71 72 <enum 7 reo_destination_7> REO remaps this 73 74 <enum 8 reo_destination_8> REO remaps this <enum 9 75 reo_destination_9> REO remaps this <enum 10 76 reo_destination_10> REO remaps this 77 78 <enum 11 reo_destination_11> REO remaps this 79 80 <enum 12 reo_destination_12> REO remaps this <enum 13 81 reo_destination_13> REO remaps this 82 83 <enum 14 reo_destination_14> REO remaps this 84 85 <enum 15 reo_destination_15> REO remaps this 86 87 <enum 16 reo_destination_16> REO remaps this 88 89 <enum 17 reo_destination_17> REO remaps this 90 91 <enum 18 reo_destination_18> REO remaps this 92 93 <enum 19 reo_destination_19> REO remaps this 94 95 <enum 20 reo_destination_20> REO remaps this 96 97 <enum 21 reo_destination_21> REO remaps this 98 99 <enum 22 reo_destination_22> REO remaps this 100 101 <enum 23 reo_destination_23> REO remaps this 102 103 <enum 24 reo_destination_24> REO remaps this 104 105 <enum 25 reo_destination_25> REO remaps this 106 107 <enum 26 reo_destination_26> REO remaps this 108 109 <enum 27 reo_destination_27> REO remaps this 110 111 <enum 28 reo_destination_28> REO remaps this 112 113 <enum 29 reo_destination_29> REO remaps this 114 115 <enum 30 reo_destination_30> REO remaps this 116 117 <enum 31 reo_destination_31> REO remaps this 118 119 120 121 <legal all> 122 123 use_toeplitz_hash_2_clfy 124 125 indication to Rx OLE to enable classification based on 126 'hash_2_toeplitz' . 127 128 <legal all> 129 130 use_toeplitz_hash_4_clfy 131 132 indication to Rx OLE to enable classification based on 133 'hash_4_toeplitz' . 134 135 <legal all> 136 137 use_flow_id_toeplitz_clfy 138 139 indication to Rx OLE to enable classification based on 140 'flow_id_toeplitz' from Common Parser, in case flow search 141 fails 142 143 <legal all> 144 145 reserved_0a 146 147 <legal 0> 148 */ 149 150 151 /* Description RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION 152 153 The ID of the REO exit ring where the MSDU frame shall 154 push after (MPDU level) reordering has finished. 155 156 157 158 <enum 0 reo_destination_tcl> Reo will push the frame 159 into the REO2TCL ring 160 161 <enum 1 reo_destination_sw1> Reo will push the frame 162 into the REO2SW1 ring 163 164 <enum 2 reo_destination_sw2> Reo will push the frame 165 into the REO2SW1 ring 166 167 <enum 3 reo_destination_sw3> Reo will push the frame 168 into the REO2SW1 ring 169 170 <enum 4 reo_destination_sw4> Reo will push the frame 171 into the REO2SW1 ring 172 173 <enum 5 reo_destination_release> Reo will push the frame 174 into the REO_release ring 175 176 <enum 6 reo_destination_fw> Reo will push the frame into 177 the REO2FW ring 178 179 <enum 7 reo_destination_7> REO remaps this 180 181 <enum 8 reo_destination_8> REO remaps this <enum 9 182 reo_destination_9> REO remaps this <enum 10 183 reo_destination_10> REO remaps this 184 185 <enum 11 reo_destination_11> REO remaps this 186 187 <enum 12 reo_destination_12> REO remaps this <enum 13 188 reo_destination_13> REO remaps this 189 190 <enum 14 reo_destination_14> REO remaps this 191 192 <enum 15 reo_destination_15> REO remaps this 193 194 <enum 16 reo_destination_16> REO remaps this 195 196 <enum 17 reo_destination_17> REO remaps this 197 198 <enum 18 reo_destination_18> REO remaps this 199 200 <enum 19 reo_destination_19> REO remaps this 201 202 <enum 20 reo_destination_20> REO remaps this 203 204 <enum 21 reo_destination_21> REO remaps this 205 206 <enum 22 reo_destination_22> REO remaps this 207 208 <enum 23 reo_destination_23> REO remaps this 209 210 <enum 24 reo_destination_24> REO remaps this 211 212 <enum 25 reo_destination_25> REO remaps this 213 214 <enum 26 reo_destination_26> REO remaps this 215 216 <enum 27 reo_destination_27> REO remaps this 217 218 <enum 28 reo_destination_28> REO remaps this 219 220 <enum 29 reo_destination_29> REO remaps this 221 222 <enum 30 reo_destination_30> REO remaps this 223 224 <enum 31 reo_destination_31> REO remaps this 225 226 227 228 <legal all> 229 */ 230 #define RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION_OFFSET 0x00000000 231 #define RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION_LSB 0 232 #define RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION_MASK 0x0000001f 233 234 /* Description RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY 235 236 indication to Rx OLE to enable classification based on 237 'hash_2_toeplitz' . 238 239 <legal all> 240 */ 241 #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY_OFFSET 0x00000000 242 #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY_LSB 5 243 #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY_MASK 0x00000020 244 245 /* Description RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY 246 247 indication to Rx OLE to enable classification based on 248 'hash_4_toeplitz' . 249 250 <legal all> 251 */ 252 #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY_OFFSET 0x00000000 253 #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY_LSB 6 254 #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY_MASK 0x00000040 255 256 /* Description RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY 257 258 indication to Rx OLE to enable classification based on 259 'flow_id_toeplitz' from Common Parser, in case flow search 260 fails 261 262 <legal all> 263 */ 264 #define RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY_OFFSET 0x00000000 265 #define RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY_LSB 7 266 #define RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY_MASK 0x00000080 267 268 /* Description RXPT_CLASSIFY_INFO_0_RESERVED_0A 269 270 <legal 0> 271 */ 272 #define RXPT_CLASSIFY_INFO_0_RESERVED_0A_OFFSET 0x00000000 273 #define RXPT_CLASSIFY_INFO_0_RESERVED_0A_LSB 8 274 #define RXPT_CLASSIFY_INFO_0_RESERVED_0A_MASK 0xffffff00 275 276 277 #endif // _RXPT_CLASSIFY_INFO_H_ 278