rxpt_classify_info.h 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  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. #ifndef _RXPT_CLASSIFY_INFO_H_
  19. #define _RXPT_CLASSIFY_INFO_H_
  20. #if !defined(__ASSEMBLER__)
  21. #endif
  22. // ################ START SUMMARY #################
  23. //
  24. // Dword Fields
  25. // 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]
  26. //
  27. // ################ END SUMMARY #################
  28. #define NUM_OF_DWORDS_RXPT_CLASSIFY_INFO 1
  29. struct rxpt_classify_info {
  30. uint32_t reo_destination_indication : 5, //[4:0]
  31. use_toeplitz_hash_2_clfy : 1, //[5]
  32. use_toeplitz_hash_4_clfy : 1, //[6]
  33. use_flow_id_toeplitz_clfy : 1, //[7]
  34. reserved_0a : 24; //[31:8]
  35. };
  36. /*
  37. reo_destination_indication
  38. The ID of the REO exit ring where the MSDU frame shall
  39. push after (MPDU level) reordering has finished.
  40. <enum 0 reo_destination_tcl> Reo will push the frame
  41. into the REO2TCL ring
  42. <enum 1 reo_destination_sw1> Reo will push the frame
  43. into the REO2SW1 ring
  44. <enum 2 reo_destination_sw2> Reo will push the frame
  45. into the REO2SW1 ring
  46. <enum 3 reo_destination_sw3> Reo will push the frame
  47. into the REO2SW1 ring
  48. <enum 4 reo_destination_sw4> Reo will push the frame
  49. into the REO2SW1 ring
  50. <enum 5 reo_destination_release> Reo will push the frame
  51. into the REO_release ring
  52. <enum 6 reo_destination_fw> Reo will push the frame into
  53. the REO2FW ring
  54. <enum 7 reo_destination_7> REO remaps this
  55. <enum 8 reo_destination_8> REO remaps this <enum 9
  56. reo_destination_9> REO remaps this <enum 10
  57. reo_destination_10> REO remaps this
  58. <enum 11 reo_destination_11> REO remaps this
  59. <enum 12 reo_destination_12> REO remaps this <enum 13
  60. reo_destination_13> REO remaps this
  61. <enum 14 reo_destination_14> REO remaps this
  62. <enum 15 reo_destination_15> REO remaps this
  63. <enum 16 reo_destination_16> REO remaps this
  64. <enum 17 reo_destination_17> REO remaps this
  65. <enum 18 reo_destination_18> REO remaps this
  66. <enum 19 reo_destination_19> REO remaps this
  67. <enum 20 reo_destination_20> REO remaps this
  68. <enum 21 reo_destination_21> REO remaps this
  69. <enum 22 reo_destination_22> REO remaps this
  70. <enum 23 reo_destination_23> REO remaps this
  71. <enum 24 reo_destination_24> REO remaps this
  72. <enum 25 reo_destination_25> REO remaps this
  73. <enum 26 reo_destination_26> REO remaps this
  74. <enum 27 reo_destination_27> REO remaps this
  75. <enum 28 reo_destination_28> REO remaps this
  76. <enum 29 reo_destination_29> REO remaps this
  77. <enum 30 reo_destination_30> REO remaps this
  78. <enum 31 reo_destination_31> REO remaps this
  79. <legal all>
  80. use_toeplitz_hash_2_clfy
  81. indication to Rx OLE to enable classification based on
  82. 'hash_2_toeplitz' .
  83. <legal all>
  84. use_toeplitz_hash_4_clfy
  85. indication to Rx OLE to enable classification based on
  86. 'hash_4_toeplitz' .
  87. <legal all>
  88. use_flow_id_toeplitz_clfy
  89. indication to Rx OLE to enable classification based on
  90. 'flow_id_toeplitz' from Common Parser, in case flow search
  91. fails
  92. <legal all>
  93. reserved_0a
  94. <legal 0>
  95. */
  96. /* Description RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION
  97. The ID of the REO exit ring where the MSDU frame shall
  98. push after (MPDU level) reordering has finished.
  99. <enum 0 reo_destination_tcl> Reo will push the frame
  100. into the REO2TCL ring
  101. <enum 1 reo_destination_sw1> Reo will push the frame
  102. into the REO2SW1 ring
  103. <enum 2 reo_destination_sw2> Reo will push the frame
  104. into the REO2SW1 ring
  105. <enum 3 reo_destination_sw3> Reo will push the frame
  106. into the REO2SW1 ring
  107. <enum 4 reo_destination_sw4> Reo will push the frame
  108. into the REO2SW1 ring
  109. <enum 5 reo_destination_release> Reo will push the frame
  110. into the REO_release ring
  111. <enum 6 reo_destination_fw> Reo will push the frame into
  112. the REO2FW ring
  113. <enum 7 reo_destination_7> REO remaps this
  114. <enum 8 reo_destination_8> REO remaps this <enum 9
  115. reo_destination_9> REO remaps this <enum 10
  116. reo_destination_10> REO remaps this
  117. <enum 11 reo_destination_11> REO remaps this
  118. <enum 12 reo_destination_12> REO remaps this <enum 13
  119. reo_destination_13> REO remaps this
  120. <enum 14 reo_destination_14> REO remaps this
  121. <enum 15 reo_destination_15> REO remaps this
  122. <enum 16 reo_destination_16> REO remaps this
  123. <enum 17 reo_destination_17> REO remaps this
  124. <enum 18 reo_destination_18> REO remaps this
  125. <enum 19 reo_destination_19> REO remaps this
  126. <enum 20 reo_destination_20> REO remaps this
  127. <enum 21 reo_destination_21> REO remaps this
  128. <enum 22 reo_destination_22> REO remaps this
  129. <enum 23 reo_destination_23> REO remaps this
  130. <enum 24 reo_destination_24> REO remaps this
  131. <enum 25 reo_destination_25> REO remaps this
  132. <enum 26 reo_destination_26> REO remaps this
  133. <enum 27 reo_destination_27> REO remaps this
  134. <enum 28 reo_destination_28> REO remaps this
  135. <enum 29 reo_destination_29> REO remaps this
  136. <enum 30 reo_destination_30> REO remaps this
  137. <enum 31 reo_destination_31> REO remaps this
  138. <legal all>
  139. */
  140. #define RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION_OFFSET 0x00000000
  141. #define RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION_LSB 0
  142. #define RXPT_CLASSIFY_INFO_0_REO_DESTINATION_INDICATION_MASK 0x0000001f
  143. /* Description RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY
  144. indication to Rx OLE to enable classification based on
  145. 'hash_2_toeplitz' .
  146. <legal all>
  147. */
  148. #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY_OFFSET 0x00000000
  149. #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY_LSB 5
  150. #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_2_CLFY_MASK 0x00000020
  151. /* Description RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY
  152. indication to Rx OLE to enable classification based on
  153. 'hash_4_toeplitz' .
  154. <legal all>
  155. */
  156. #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY_OFFSET 0x00000000
  157. #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY_LSB 6
  158. #define RXPT_CLASSIFY_INFO_0_USE_TOEPLITZ_HASH_4_CLFY_MASK 0x00000040
  159. /* Description RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY
  160. indication to Rx OLE to enable classification based on
  161. 'flow_id_toeplitz' from Common Parser, in case flow search
  162. fails
  163. <legal all>
  164. */
  165. #define RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY_OFFSET 0x00000000
  166. #define RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY_LSB 7
  167. #define RXPT_CLASSIFY_INFO_0_USE_FLOW_ID_TOEPLITZ_CLFY_MASK 0x00000080
  168. /* Description RXPT_CLASSIFY_INFO_0_RESERVED_0A
  169. <legal 0>
  170. */
  171. #define RXPT_CLASSIFY_INFO_0_RESERVED_0A_OFFSET 0x00000000
  172. #define RXPT_CLASSIFY_INFO_0_RESERVED_0A_LSB 8
  173. #define RXPT_CLASSIFY_INFO_0_RESERVED_0A_MASK 0xffffff00
  174. #endif // _RXPT_CLASSIFY_INFO_H_