chip_registers.h 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314
  1. #ifndef DEF_CHIP_REG
  2. #define DEF_CHIP_REG
  3. /*
  4. * Copyright(c) 2015, 2016 Intel Corporation.
  5. *
  6. * This file is provided under a dual BSD/GPLv2 license. When using or
  7. * redistributing this file, you may do so under either license.
  8. *
  9. * GPL LICENSE SUMMARY
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of version 2 of the GNU General Public License as
  13. * published by the Free Software Foundation.
  14. *
  15. * This program is distributed in the hope that it will be useful, but
  16. * WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  18. * General Public License for more details.
  19. *
  20. * BSD LICENSE
  21. *
  22. * Redistribution and use in source and binary forms, with or without
  23. * modification, are permitted provided that the following conditions
  24. * are met:
  25. *
  26. * - Redistributions of source code must retain the above copyright
  27. * notice, this list of conditions and the following disclaimer.
  28. * - Redistributions in binary form must reproduce the above copyright
  29. * notice, this list of conditions and the following disclaimer in
  30. * the documentation and/or other materials provided with the
  31. * distribution.
  32. * - Neither the name of Intel Corporation nor the names of its
  33. * contributors may be used to endorse or promote products derived
  34. * from this software without specific prior written permission.
  35. *
  36. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  37. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  38. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  39. * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  40. * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  41. * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  42. * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  43. * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  44. * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  45. * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  46. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  47. *
  48. */
  49. #define CORE 0x000000000000
  50. #define CCE (CORE + 0x000000000000)
  51. #define ASIC (CORE + 0x000000400000)
  52. #define MISC (CORE + 0x000000500000)
  53. #define DC_TOP_CSRS (CORE + 0x000000600000)
  54. #define CHIP_DEBUG (CORE + 0x000000700000)
  55. #define RXE (CORE + 0x000001000000)
  56. #define TXE (CORE + 0x000001800000)
  57. #define DCC_CSRS (DC_TOP_CSRS + 0x000000000000)
  58. #define DC_LCB_CSRS (DC_TOP_CSRS + 0x000000001000)
  59. #define DC_8051_CSRS (DC_TOP_CSRS + 0x000000002000)
  60. #define PCIE 0
  61. #define ASIC_NUM_SCRATCH 4
  62. #define CCE_ERR_INT_CNT 0
  63. #define CCE_MISC_INT_CNT 2
  64. #define CCE_NUM_32_BIT_COUNTERS 3
  65. #define CCE_NUM_32_BIT_INT_COUNTERS 6
  66. #define CCE_NUM_INT_CSRS 12
  67. #define CCE_NUM_INT_MAP_CSRS 96
  68. #define CCE_NUM_MSIX_PBAS 4
  69. #define CCE_NUM_MSIX_VECTORS 256
  70. #define CCE_NUM_SCRATCH 4
  71. #define CCE_PCIE_POSTED_CRDT_STALL_CNT 2
  72. #define CCE_PCIE_TRGT_STALL_CNT 0
  73. #define CCE_PIO_WR_STALL_CNT 1
  74. #define CCE_RCV_AVAIL_INT_CNT 3
  75. #define CCE_RCV_URGENT_INT_CNT 4
  76. #define CCE_SDMA_INT_CNT 1
  77. #define CCE_SEND_CREDIT_INT_CNT 5
  78. #define DCC_CFG_LED_CNTRL (DCC_CSRS + 0x000000000040)
  79. #define DCC_CFG_LED_CNTRL_LED_CNTRL_SMASK 0x10ull
  80. #define DCC_CFG_LED_CNTRL_LED_SW_BLINK_RATE_SHIFT 0
  81. #define DCC_CFG_LED_CNTRL_LED_SW_BLINK_RATE_SMASK 0xFull
  82. #define DCC_CFG_PORT_CONFIG (DCC_CSRS + 0x000000000008)
  83. #define DCC_CFG_PORT_CONFIG1 (DCC_CSRS + 0x000000000010)
  84. #define DCC_CFG_PORT_CONFIG1_DLID_MASK_MASK 0xFFFFull
  85. #define DCC_CFG_PORT_CONFIG1_DLID_MASK_SHIFT 16
  86. #define DCC_CFG_PORT_CONFIG1_DLID_MASK_SMASK 0xFFFF0000ull
  87. #define DCC_CFG_PORT_CONFIG1_TARGET_DLID_MASK 0xFFFFull
  88. #define DCC_CFG_PORT_CONFIG1_TARGET_DLID_SHIFT 0
  89. #define DCC_CFG_PORT_CONFIG1_TARGET_DLID_SMASK 0xFFFFull
  90. #define DCC_CFG_PORT_CONFIG_LINK_STATE_MASK 0x7ull
  91. #define DCC_CFG_PORT_CONFIG_LINK_STATE_SHIFT 48
  92. #define DCC_CFG_PORT_CONFIG_LINK_STATE_SMASK 0x7000000000000ull
  93. #define DCC_CFG_PORT_CONFIG_MTU_CAP_MASK 0x7ull
  94. #define DCC_CFG_PORT_CONFIG_MTU_CAP_SHIFT 32
  95. #define DCC_CFG_PORT_CONFIG_MTU_CAP_SMASK 0x700000000ull
  96. #define DCC_CFG_RESET (DCC_CSRS + 0x000000000000)
  97. #define DCC_CFG_RESET_RESET_LCB_SHIFT 0
  98. #define DCC_CFG_RESET_RESET_RX_FPE_SHIFT 2
  99. #define DCC_CFG_SC_VL_TABLE_15_0 (DCC_CSRS + 0x000000000028)
  100. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY0_SHIFT 0
  101. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY10_SHIFT 40
  102. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY11_SHIFT 44
  103. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY12_SHIFT 48
  104. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY13_SHIFT 52
  105. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY14_SHIFT 56
  106. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY15_SHIFT 60
  107. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY1_SHIFT 4
  108. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY2_SHIFT 8
  109. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY3_SHIFT 12
  110. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY4_SHIFT 16
  111. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY5_SHIFT 20
  112. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY6_SHIFT 24
  113. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY7_SHIFT 28
  114. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY8_SHIFT 32
  115. #define DCC_CFG_SC_VL_TABLE_15_0_ENTRY9_SHIFT 36
  116. #define DCC_CFG_SC_VL_TABLE_31_16 (DCC_CSRS + 0x000000000030)
  117. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY16_SHIFT 0
  118. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY17_SHIFT 4
  119. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY18_SHIFT 8
  120. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY19_SHIFT 12
  121. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY20_SHIFT 16
  122. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY21_SHIFT 20
  123. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY22_SHIFT 24
  124. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY23_SHIFT 28
  125. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY24_SHIFT 32
  126. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY25_SHIFT 36
  127. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY26_SHIFT 40
  128. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY27_SHIFT 44
  129. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY28_SHIFT 48
  130. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY29_SHIFT 52
  131. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY30_SHIFT 56
  132. #define DCC_CFG_SC_VL_TABLE_31_16_ENTRY31_SHIFT 60
  133. #define DCC_ERR_DROPPED_PKT_CNT (DCC_CSRS + 0x000000000120)
  134. #define DCC_ERR_FLG (DCC_CSRS + 0x000000000050)
  135. #define DCC_ERR_FLG_BAD_CRDT_ACK_ERR_SMASK 0x4000ull
  136. #define DCC_ERR_FLG_BAD_CTRL_DIST_ERR_SMASK 0x200000ull
  137. #define DCC_ERR_FLG_BAD_CTRL_FLIT_ERR_SMASK 0x10000ull
  138. #define DCC_ERR_FLG_BAD_DLID_TARGET_ERR_SMASK 0x200ull
  139. #define DCC_ERR_FLG_BAD_HEAD_DIST_ERR_SMASK 0x800000ull
  140. #define DCC_ERR_FLG_BAD_L2_ERR_SMASK 0x2ull
  141. #define DCC_ERR_FLG_BAD_LVER_ERR_SMASK 0x400ull
  142. #define DCC_ERR_FLG_BAD_MID_TAIL_ERR_SMASK 0x8ull
  143. #define DCC_ERR_FLG_BAD_PKT_LENGTH_ERR_SMASK 0x4000000ull
  144. #define DCC_ERR_FLG_BAD_PREEMPTION_ERR_SMASK 0x10ull
  145. #define DCC_ERR_FLG_BAD_SC_ERR_SMASK 0x4ull
  146. #define DCC_ERR_FLG_BAD_TAIL_DIST_ERR_SMASK 0x400000ull
  147. #define DCC_ERR_FLG_BAD_VL_MARKER_ERR_SMASK 0x80ull
  148. #define DCC_ERR_FLG_CLR (DCC_CSRS + 0x000000000060)
  149. #define DCC_ERR_FLG_CSR_ACCESS_BLOCKED_HOST_SMASK 0x8000000000ull
  150. #define DCC_ERR_FLG_CSR_ACCESS_BLOCKED_UC_SMASK 0x10000000000ull
  151. #define DCC_ERR_FLG_CSR_INVAL_ADDR_SMASK 0x400000000000ull
  152. #define DCC_ERR_FLG_CSR_PARITY_ERR_SMASK 0x200000000000ull
  153. #define DCC_ERR_FLG_DLID_ZERO_ERR_SMASK 0x40000000ull
  154. #define DCC_ERR_FLG_EN (DCC_CSRS + 0x000000000058)
  155. #define DCC_ERR_FLG_EN_CSR_ACCESS_BLOCKED_HOST_SMASK 0x8000000000ull
  156. #define DCC_ERR_FLG_EN_CSR_ACCESS_BLOCKED_UC_SMASK 0x10000000000ull
  157. #define DCC_ERR_FLG_EVENT_CNTR_PARITY_ERR_SMASK 0x20000ull
  158. #define DCC_ERR_FLG_EVENT_CNTR_ROLLOVER_ERR_SMASK 0x40000ull
  159. #define DCC_ERR_FLG_FMCONFIG_ERR_SMASK 0x40000000000000ull
  160. #define DCC_ERR_FLG_FPE_TX_FIFO_OVFLW_ERR_SMASK 0x2000000000ull
  161. #define DCC_ERR_FLG_FPE_TX_FIFO_UNFLW_ERR_SMASK 0x4000000000ull
  162. #define DCC_ERR_FLG_LATE_EBP_ERR_SMASK 0x1000000000ull
  163. #define DCC_ERR_FLG_LATE_LONG_ERR_SMASK 0x800000000ull
  164. #define DCC_ERR_FLG_LATE_SHORT_ERR_SMASK 0x400000000ull
  165. #define DCC_ERR_FLG_LENGTH_MTU_ERR_SMASK 0x80000000ull
  166. #define DCC_ERR_FLG_LINK_ERR_SMASK 0x80000ull
  167. #define DCC_ERR_FLG_MISC_CNTR_ROLLOVER_ERR_SMASK 0x100000ull
  168. #define DCC_ERR_FLG_NONVL15_STATE_ERR_SMASK 0x1000000ull
  169. #define DCC_ERR_FLG_PERM_NVL15_ERR_SMASK 0x10000000ull
  170. #define DCC_ERR_FLG_PREEMPTION_ERR_SMASK 0x20ull
  171. #define DCC_ERR_FLG_PREEMPTIONVL15_ERR_SMASK 0x40ull
  172. #define DCC_ERR_FLG_RCVPORT_ERR_SMASK 0x80000000000000ull
  173. #define DCC_ERR_FLG_RX_BYTE_SHFT_PARITY_ERR_SMASK 0x1000000000000ull
  174. #define DCC_ERR_FLG_RX_CTRL_PARITY_MBE_ERR_SMASK 0x100000000000ull
  175. #define DCC_ERR_FLG_RX_EARLY_DROP_ERR_SMASK 0x200000000ull
  176. #define DCC_ERR_FLG_SLID_ZERO_ERR_SMASK 0x20000000ull
  177. #define DCC_ERR_FLG_TX_BYTE_SHFT_PARITY_ERR_SMASK 0x800000000000ull
  178. #define DCC_ERR_FLG_TX_CTRL_PARITY_ERR_SMASK 0x20000000000ull
  179. #define DCC_ERR_FLG_TX_CTRL_PARITY_MBE_ERR_SMASK 0x40000000000ull
  180. #define DCC_ERR_FLG_TX_SC_PARITY_ERR_SMASK 0x80000000000ull
  181. #define DCC_ERR_FLG_UNCORRECTABLE_ERR_SMASK 0x2000ull
  182. #define DCC_ERR_FLG_UNSUP_PKT_TYPE_SMASK 0x8000ull
  183. #define DCC_ERR_FLG_UNSUP_VL_ERR_SMASK 0x8000000ull
  184. #define DCC_ERR_FLG_VL15_MULTI_ERR_SMASK 0x2000000ull
  185. #define DCC_ERR_FMCONFIG_ERR_CNT (DCC_CSRS + 0x000000000110)
  186. #define DCC_ERR_INFO_FMCONFIG (DCC_CSRS + 0x000000000090)
  187. #define DCC_ERR_INFO_PORTRCV (DCC_CSRS + 0x000000000078)
  188. #define DCC_ERR_INFO_PORTRCV_HDR0 (DCC_CSRS + 0x000000000080)
  189. #define DCC_ERR_INFO_PORTRCV_HDR1 (DCC_CSRS + 0x000000000088)
  190. #define DCC_ERR_INFO_UNCORRECTABLE (DCC_CSRS + 0x000000000098)
  191. #define DCC_ERR_PORTRCV_ERR_CNT (DCC_CSRS + 0x000000000108)
  192. #define DCC_ERR_RCVREMOTE_PHY_ERR_CNT (DCC_CSRS + 0x000000000118)
  193. #define DCC_ERR_UNCORRECTABLE_CNT (DCC_CSRS + 0x000000000100)
  194. #define DCC_PRF_PORT_MARK_FECN_CNT (DCC_CSRS + 0x000000000330)
  195. #define DCC_PRF_PORT_RCV_BECN_CNT (DCC_CSRS + 0x000000000290)
  196. #define DCC_PRF_PORT_RCV_BUBBLE_CNT (DCC_CSRS + 0x0000000002E0)
  197. #define DCC_PRF_PORT_RCV_CORRECTABLE_CNT (DCC_CSRS + 0x000000000140)
  198. #define DCC_PRF_PORT_RCV_DATA_CNT (DCC_CSRS + 0x000000000198)
  199. #define DCC_PRF_PORT_RCV_FECN_CNT (DCC_CSRS + 0x000000000240)
  200. #define DCC_PRF_PORT_RCV_MULTICAST_PKT_CNT (DCC_CSRS + 0x000000000130)
  201. #define DCC_PRF_PORT_RCV_PKTS_CNT (DCC_CSRS + 0x0000000001A8)
  202. #define DCC_PRF_PORT_VL_MARK_FECN_CNT (DCC_CSRS + 0x000000000338)
  203. #define DCC_PRF_PORT_VL_RCV_BECN_CNT (DCC_CSRS + 0x000000000298)
  204. #define DCC_PRF_PORT_VL_RCV_BUBBLE_CNT (DCC_CSRS + 0x0000000002E8)
  205. #define DCC_PRF_PORT_VL_RCV_DATA_CNT (DCC_CSRS + 0x0000000001B0)
  206. #define DCC_PRF_PORT_VL_RCV_FECN_CNT (DCC_CSRS + 0x000000000248)
  207. #define DCC_PRF_PORT_VL_RCV_PKTS_CNT (DCC_CSRS + 0x0000000001F8)
  208. #define DCC_PRF_PORT_XMIT_CORRECTABLE_CNT (DCC_CSRS + 0x000000000138)
  209. #define DCC_PRF_PORT_XMIT_DATA_CNT (DCC_CSRS + 0x000000000190)
  210. #define DCC_PRF_PORT_XMIT_MULTICAST_CNT (DCC_CSRS + 0x000000000128)
  211. #define DCC_PRF_PORT_XMIT_PKTS_CNT (DCC_CSRS + 0x0000000001A0)
  212. #define DCC_PRF_RX_FLOW_CRTL_CNT (DCC_CSRS + 0x000000000180)
  213. #define DCC_PRF_TX_FLOW_CRTL_CNT (DCC_CSRS + 0x000000000188)
  214. #define DC_DC8051_CFG_CSR_ACCESS_SEL (DC_8051_CSRS + 0x000000000110)
  215. #define DC_DC8051_CFG_CSR_ACCESS_SEL_DCC_SMASK 0x2ull
  216. #define DC_DC8051_CFG_CSR_ACCESS_SEL_LCB_SMASK 0x1ull
  217. #define DC_DC8051_CFG_EXT_DEV_0 (DC_8051_CSRS + 0x000000000118)
  218. #define DC_DC8051_CFG_EXT_DEV_0_COMPLETED_SMASK 0x1ull
  219. #define DC_DC8051_CFG_EXT_DEV_0_RETURN_CODE_SHIFT 8
  220. #define DC_DC8051_CFG_EXT_DEV_0_RSP_DATA_SHIFT 16
  221. #define DC_DC8051_CFG_EXT_DEV_1 (DC_8051_CSRS + 0x000000000120)
  222. #define DC_DC8051_CFG_EXT_DEV_1_REQ_DATA_MASK 0xFFFFull
  223. #define DC_DC8051_CFG_EXT_DEV_1_REQ_DATA_SHIFT 16
  224. #define DC_DC8051_CFG_EXT_DEV_1_REQ_DATA_SMASK 0xFFFF0000ull
  225. #define DC_DC8051_CFG_EXT_DEV_1_REQ_NEW_SMASK 0x1ull
  226. #define DC_DC8051_CFG_EXT_DEV_1_REQ_TYPE_MASK 0xFFull
  227. #define DC_DC8051_CFG_EXT_DEV_1_REQ_TYPE_SHIFT 8
  228. #define DC_DC8051_CFG_HOST_CMD_0 (DC_8051_CSRS + 0x000000000028)
  229. #define DC_DC8051_CFG_HOST_CMD_0_REQ_DATA_MASK 0xFFFFFFFFFFFFull
  230. #define DC_DC8051_CFG_HOST_CMD_0_REQ_DATA_SHIFT 16
  231. #define DC_DC8051_CFG_HOST_CMD_0_REQ_NEW_SMASK 0x1ull
  232. #define DC_DC8051_CFG_HOST_CMD_0_REQ_TYPE_MASK 0xFFull
  233. #define DC_DC8051_CFG_HOST_CMD_0_REQ_TYPE_SHIFT 8
  234. #define DC_DC8051_CFG_HOST_CMD_1 (DC_8051_CSRS + 0x000000000030)
  235. #define DC_DC8051_CFG_HOST_CMD_1_COMPLETED_SMASK 0x1ull
  236. #define DC_DC8051_CFG_HOST_CMD_1_RETURN_CODE_MASK 0xFFull
  237. #define DC_DC8051_CFG_HOST_CMD_1_RETURN_CODE_SHIFT 8
  238. #define DC_DC8051_CFG_HOST_CMD_1_RSP_DATA_MASK 0xFFFFFFFFFFFFull
  239. #define DC_DC8051_CFG_HOST_CMD_1_RSP_DATA_SHIFT 16
  240. #define DC_DC8051_CFG_LOCAL_GUID (DC_8051_CSRS + 0x000000000038)
  241. #define DC_DC8051_CFG_MODE (DC_8051_CSRS + 0x000000000070)
  242. #define DC_DC8051_CFG_RAM_ACCESS_CTRL (DC_8051_CSRS + 0x000000000008)
  243. #define DC_DC8051_CFG_RAM_ACCESS_CTRL_ADDRESS_MASK 0x7FFFull
  244. #define DC_DC8051_CFG_RAM_ACCESS_CTRL_ADDRESS_SHIFT 0
  245. #define DC_DC8051_CFG_RAM_ACCESS_CTRL_WRITE_ENA_SMASK 0x1000000ull
  246. #define DC_DC8051_CFG_RAM_ACCESS_CTRL_READ_ENA_SMASK 0x10000ull
  247. #define DC_DC8051_CFG_RAM_ACCESS_SETUP (DC_8051_CSRS + 0x000000000000)
  248. #define DC_DC8051_CFG_RAM_ACCESS_SETUP_AUTO_INCR_ADDR_SMASK 0x100ull
  249. #define DC_DC8051_CFG_RAM_ACCESS_SETUP_RAM_SEL_SMASK 0x1ull
  250. #define DC_DC8051_CFG_RAM_ACCESS_STATUS (DC_8051_CSRS + 0x000000000018)
  251. #define DC_DC8051_CFG_RAM_ACCESS_STATUS_ACCESS_COMPLETED_SMASK 0x10000ull
  252. #define DC_DC8051_CFG_RAM_ACCESS_WR_DATA (DC_8051_CSRS + 0x000000000010)
  253. #define DC_DC8051_CFG_RAM_ACCESS_RD_DATA (DC_8051_CSRS + 0x000000000020)
  254. #define DC_DC8051_CFG_RST (DC_8051_CSRS + 0x000000000068)
  255. #define DC_DC8051_CFG_RST_CRAM_SMASK 0x2ull
  256. #define DC_DC8051_CFG_RST_DRAM_SMASK 0x4ull
  257. #define DC_DC8051_CFG_RST_IRAM_SMASK 0x8ull
  258. #define DC_DC8051_CFG_RST_M8051W_SMASK 0x1ull
  259. #define DC_DC8051_CFG_RST_SFR_SMASK 0x10ull
  260. #define DC_DC8051_DBG_ERR_INFO_SET_BY_8051 (DC_8051_CSRS + 0x0000000000D8)
  261. #define DC_DC8051_DBG_ERR_INFO_SET_BY_8051_ERROR_MASK 0xFFFFFFFFull
  262. #define DC_DC8051_DBG_ERR_INFO_SET_BY_8051_ERROR_SHIFT 16
  263. #define DC_DC8051_DBG_ERR_INFO_SET_BY_8051_HOST_MSG_MASK 0xFFFFull
  264. #define DC_DC8051_DBG_ERR_INFO_SET_BY_8051_HOST_MSG_SHIFT 0
  265. #define DC_DC8051_ERR_CLR (DC_8051_CSRS + 0x0000000000E8)
  266. #define DC_DC8051_ERR_EN (DC_8051_CSRS + 0x0000000000F0)
  267. #define DC_DC8051_ERR_EN_LOST_8051_HEART_BEAT_SMASK 0x2ull
  268. #define DC_DC8051_ERR_FLG (DC_8051_CSRS + 0x0000000000E0)
  269. #define DC_DC8051_ERR_FLG_CRAM_MBE_SMASK 0x4ull
  270. #define DC_DC8051_ERR_FLG_CRAM_SBE_SMASK 0x8ull
  271. #define DC_DC8051_ERR_FLG_DRAM_MBE_SMASK 0x10ull
  272. #define DC_DC8051_ERR_FLG_DRAM_SBE_SMASK 0x20ull
  273. #define DC_DC8051_ERR_FLG_INVALID_CSR_ADDR_SMASK 0x400ull
  274. #define DC_DC8051_ERR_FLG_IRAM_MBE_SMASK 0x40ull
  275. #define DC_DC8051_ERR_FLG_IRAM_SBE_SMASK 0x80ull
  276. #define DC_DC8051_ERR_FLG_LOST_8051_HEART_BEAT_SMASK 0x2ull
  277. #define DC_DC8051_ERR_FLG_SET_BY_8051_SMASK 0x1ull
  278. #define DC_DC8051_ERR_FLG_UNMATCHED_SECURE_MSG_ACROSS_BCC_LANES_SMASK 0x100ull
  279. #define DC_DC8051_STS_CUR_STATE (DC_8051_CSRS + 0x000000000060)
  280. #define DC_DC8051_STS_CUR_STATE_FIRMWARE_MASK 0xFFull
  281. #define DC_DC8051_STS_CUR_STATE_FIRMWARE_SHIFT 16
  282. #define DC_DC8051_STS_CUR_STATE_PORT_MASK 0xFFull
  283. #define DC_DC8051_STS_CUR_STATE_PORT_SHIFT 0
  284. #define DC_DC8051_STS_LOCAL_FM_SECURITY (DC_8051_CSRS + 0x000000000050)
  285. #define DC_DC8051_STS_LOCAL_FM_SECURITY_DISABLED_MASK 0x1ull
  286. #define DC_DC8051_STS_REMOTE_FM_SECURITY (DC_8051_CSRS + 0x000000000058)
  287. #define DC_DC8051_STS_REMOTE_GUID (DC_8051_CSRS + 0x000000000040)
  288. #define DC_DC8051_STS_REMOTE_NODE_TYPE (DC_8051_CSRS + 0x000000000048)
  289. #define DC_DC8051_STS_REMOTE_NODE_TYPE_VAL_MASK 0x3ull
  290. #define DC_DC8051_STS_REMOTE_PORT_NO (DC_8051_CSRS + 0x000000000130)
  291. #define DC_DC8051_STS_REMOTE_PORT_NO_VAL_SMASK 0xFFull
  292. #define DC_LCB_CFG_ALLOW_LINK_UP (DC_LCB_CSRS + 0x000000000128)
  293. #define DC_LCB_CFG_ALLOW_LINK_UP_VAL_SHIFT 0
  294. #define DC_LCB_CFG_CRC_MODE (DC_LCB_CSRS + 0x000000000058)
  295. #define DC_LCB_CFG_CRC_MODE_TX_VAL_SHIFT 0
  296. #define DC_LCB_CFG_IGNORE_LOST_RCLK (DC_LCB_CSRS + 0x000000000020)
  297. #define DC_LCB_CFG_IGNORE_LOST_RCLK_EN_SMASK 0x1ull
  298. #define DC_LCB_CFG_LANE_WIDTH (DC_LCB_CSRS + 0x000000000100)
  299. #define DC_LCB_CFG_LINK_KILL_EN (DC_LCB_CSRS + 0x000000000120)
  300. #define DC_LCB_CFG_LINK_KILL_EN_FLIT_INPUT_BUF_MBE_SMASK 0x100000ull
  301. #define DC_LCB_CFG_LINK_KILL_EN_REPLAY_BUF_MBE_SMASK 0x400000ull
  302. #define DC_LCB_CFG_LN_DCLK (DC_LCB_CSRS + 0x000000000060)
  303. #define DC_LCB_CFG_LOOPBACK (DC_LCB_CSRS + 0x0000000000F8)
  304. #define DC_LCB_CFG_LOOPBACK_VAL_SHIFT 0
  305. #define DC_LCB_CFG_RUN (DC_LCB_CSRS + 0x000000000000)
  306. #define DC_LCB_CFG_RUN_EN_SHIFT 0
  307. #define DC_LCB_CFG_RX_FIFOS_RADR (DC_LCB_CSRS + 0x000000000018)
  308. #define DC_LCB_CFG_RX_FIFOS_RADR_DO_NOT_JUMP_VAL_SHIFT 8
  309. #define DC_LCB_CFG_RX_FIFOS_RADR_OK_TO_JUMP_VAL_SHIFT 4
  310. #define DC_LCB_CFG_RX_FIFOS_RADR_RST_VAL_SHIFT 0
  311. #define DC_LCB_CFG_TX_FIFOS_RADR (DC_LCB_CSRS + 0x000000000010)
  312. #define DC_LCB_CFG_TX_FIFOS_RADR_RST_VAL_SHIFT 0
  313. #define DC_LCB_CFG_TX_FIFOS_RESET (DC_LCB_CSRS + 0x000000000008)
  314. #define DC_LCB_CFG_TX_FIFOS_RESET_VAL_SHIFT 0
  315. #define DC_LCB_CFG_REINIT_AS_SLAVE (DC_LCB_CSRS + 0x000000000030)
  316. #define DC_LCB_CFG_CNT_FOR_SKIP_STALL (DC_LCB_CSRS + 0x000000000040)
  317. #define DC_LCB_CFG_CLK_CNTR (DC_LCB_CSRS + 0x000000000110)
  318. #define DC_LCB_ERR_CLR (DC_LCB_CSRS + 0x000000000308)
  319. #define DC_LCB_ERR_EN (DC_LCB_CSRS + 0x000000000310)
  320. #define DC_LCB_ERR_FLG (DC_LCB_CSRS + 0x000000000300)
  321. #define DC_LCB_ERR_FLG_REDUNDANT_FLIT_PARITY_ERR_SMASK 0x20000000ull
  322. #define DC_LCB_ERR_FLG_NEG_EDGE_LINK_TRANSFER_ACTIVE_SMASK 0x10000000ull
  323. #define DC_LCB_ERR_FLG_HOLD_REINIT_SMASK 0x8000000ull
  324. #define DC_LCB_ERR_FLG_RST_FOR_INCOMPLT_RND_TRIP_SMASK 0x4000000ull
  325. #define DC_LCB_ERR_FLG_RST_FOR_LINK_TIMEOUT_SMASK 0x2000000ull
  326. #define DC_LCB_ERR_FLG_CREDIT_RETURN_FLIT_MBE_SMASK 0x1000000ull
  327. #define DC_LCB_ERR_FLG_REPLAY_BUF_SBE_SMASK 0x800000ull
  328. #define DC_LCB_ERR_FLG_REPLAY_BUF_MBE_SMASK 0x400000ull
  329. #define DC_LCB_ERR_FLG_FLIT_INPUT_BUF_SBE_SMASK 0x200000ull
  330. #define DC_LCB_ERR_FLG_FLIT_INPUT_BUF_MBE_SMASK 0x100000ull
  331. #define DC_LCB_ERR_FLG_VL_ACK_INPUT_WRONG_CRC_MODE_SMASK 0x80000ull
  332. #define DC_LCB_ERR_FLG_VL_ACK_INPUT_PARITY_ERR_SMASK 0x40000ull
  333. #define DC_LCB_ERR_FLG_VL_ACK_INPUT_BUF_OFLW_SMASK 0x20000ull
  334. #define DC_LCB_ERR_FLG_FLIT_INPUT_BUF_OFLW_SMASK 0x10000ull
  335. #define DC_LCB_ERR_FLG_ILLEGAL_FLIT_ENCODING_SMASK 0x8000ull
  336. #define DC_LCB_ERR_FLG_ILLEGAL_NULL_LTP_SMASK 0x4000ull
  337. #define DC_LCB_ERR_FLG_UNEXPECTED_ROUND_TRIP_MARKER_SMASK 0x2000ull
  338. #define DC_LCB_ERR_FLG_UNEXPECTED_REPLAY_MARKER_SMASK 0x1000ull
  339. #define DC_LCB_ERR_FLG_RCLK_STOPPED_SMASK 0x800ull
  340. #define DC_LCB_ERR_FLG_CRC_ERR_CNT_HIT_LIMIT_SMASK 0x400ull
  341. #define DC_LCB_ERR_FLG_REINIT_FOR_LN_DEGRADE_SMASK 0x200ull
  342. #define DC_LCB_ERR_FLG_REINIT_FROM_PEER_SMASK 0x100ull
  343. #define DC_LCB_ERR_FLG_SEQ_CRC_ERR_SMASK 0x80ull
  344. #define DC_LCB_ERR_FLG_RX_LESS_THAN_FOUR_LNS_SMASK 0x40ull
  345. #define DC_LCB_ERR_FLG_TX_LESS_THAN_FOUR_LNS_SMASK 0x20ull
  346. #define DC_LCB_ERR_FLG_LOST_REINIT_STALL_OR_TOS_SMASK 0x10ull
  347. #define DC_LCB_ERR_FLG_ALL_LNS_FAILED_REINIT_TEST_SMASK 0x8ull
  348. #define DC_LCB_ERR_FLG_RST_FOR_FAILED_DESKEW_SMASK 0x4ull
  349. #define DC_LCB_ERR_FLG_INVALID_CSR_ADDR_SMASK 0x2ull
  350. #define DC_LCB_ERR_FLG_CSR_PARITY_ERR_SMASK 0x1ull
  351. #define DC_LCB_ERR_INFO_CRC_ERR_LN0 (DC_LCB_CSRS + 0x000000000328)
  352. #define DC_LCB_ERR_INFO_CRC_ERR_LN1 (DC_LCB_CSRS + 0x000000000330)
  353. #define DC_LCB_ERR_INFO_CRC_ERR_LN2 (DC_LCB_CSRS + 0x000000000338)
  354. #define DC_LCB_ERR_INFO_CRC_ERR_LN3 (DC_LCB_CSRS + 0x000000000340)
  355. #define DC_LCB_ERR_INFO_CRC_ERR_MULTI_LN (DC_LCB_CSRS + 0x000000000348)
  356. #define DC_LCB_ERR_INFO_ESCAPE_0_ONLY_CNT (DC_LCB_CSRS + 0x000000000368)
  357. #define DC_LCB_ERR_INFO_ESCAPE_0_PLUS1_CNT (DC_LCB_CSRS + 0x000000000370)
  358. #define DC_LCB_ERR_INFO_ESCAPE_0_PLUS2_CNT (DC_LCB_CSRS + 0x000000000378)
  359. #define DC_LCB_ERR_INFO_MISC_FLG_CNT (DC_LCB_CSRS + 0x000000000390)
  360. #define DC_LCB_ERR_INFO_REINIT_FROM_PEER_CNT (DC_LCB_CSRS + 0x000000000380)
  361. #define DC_LCB_ERR_INFO_RX_REPLAY_CNT (DC_LCB_CSRS + 0x000000000358)
  362. #define DC_LCB_ERR_INFO_SBE_CNT (DC_LCB_CSRS + 0x000000000388)
  363. #define DC_LCB_ERR_INFO_SEQ_CRC_CNT (DC_LCB_CSRS + 0x000000000360)
  364. #define DC_LCB_ERR_INFO_TOTAL_CRC_ERR (DC_LCB_CSRS + 0x000000000320)
  365. #define DC_LCB_ERR_INFO_TX_REPLAY_CNT (DC_LCB_CSRS + 0x000000000350)
  366. #define DC_LCB_PG_DBG_FLIT_CRDTS_CNT (DC_LCB_CSRS + 0x000000000580)
  367. #define DC_LCB_PG_STS_PAUSE_COMPLETE_CNT (DC_LCB_CSRS + 0x0000000005F8)
  368. #define DC_LCB_PG_STS_TX_MBE_CNT (DC_LCB_CSRS + 0x000000000608)
  369. #define DC_LCB_PG_STS_TX_SBE_CNT (DC_LCB_CSRS + 0x000000000600)
  370. #define DC_LCB_PRF_ACCEPTED_LTP_CNT (DC_LCB_CSRS + 0x000000000408)
  371. #define DC_LCB_PRF_CLK_CNTR (DC_LCB_CSRS + 0x000000000420)
  372. #define DC_LCB_PRF_GOOD_LTP_CNT (DC_LCB_CSRS + 0x000000000400)
  373. #define DC_LCB_PRF_RX_FLIT_CNT (DC_LCB_CSRS + 0x000000000410)
  374. #define DC_LCB_PRF_TX_FLIT_CNT (DC_LCB_CSRS + 0x000000000418)
  375. #define DC_LCB_STS_LINK_TRANSFER_ACTIVE (DC_LCB_CSRS + 0x000000000468)
  376. #define DC_LCB_STS_ROUND_TRIP_LTP_CNT (DC_LCB_CSRS + 0x0000000004B0)
  377. #define RCV_BUF_OVFL_CNT 10
  378. #define RCV_CONTEXT_EGR_STALL 22
  379. #define RCV_DATA_PKT_CNT 0
  380. #define RCV_DWORD_CNT 1
  381. #define RCV_TID_FLOW_GEN_MISMATCH_CNT 20
  382. #define RCV_TID_FLOW_SEQ_MISMATCH_CNT 23
  383. #define RCV_TID_FULL_ERR_CNT 18
  384. #define RCV_TID_VALID_ERR_CNT 19
  385. #define RXE_NUM_32_BIT_COUNTERS 24
  386. #define RXE_NUM_64_BIT_COUNTERS 2
  387. #define RXE_NUM_RSM_INSTANCES 4
  388. #define RXE_NUM_TID_FLOWS 32
  389. #define RXE_PER_CONTEXT_OFFSET 0x0300000
  390. #define SEND_DATA_PKT_CNT 0
  391. #define SEND_DATA_PKT_VL0_CNT 12
  392. #define SEND_DATA_VL0_CNT 3
  393. #define SEND_DROPPED_PKT_CNT 5
  394. #define SEND_DWORD_CNT 1
  395. #define SEND_FLOW_STALL_CNT 4
  396. #define SEND_HEADERS_ERR_CNT 6
  397. #define SEND_LEN_ERR_CNT 1
  398. #define SEND_MAX_MIN_LEN_ERR_CNT 2
  399. #define SEND_UNDERRUN_CNT 3
  400. #define SEND_UNSUP_VL_ERR_CNT 0
  401. #define SEND_WAIT_CNT 2
  402. #define SEND_WAIT_VL0_CNT 21
  403. #define TXE_PIO_SEND_OFFSET 0x0800000
  404. #define ASIC_CFG_DRV_STR (ASIC + 0x000000000048)
  405. #define ASIC_CFG_MUTEX (ASIC + 0x000000000040)
  406. #define ASIC_CFG_SBUS_EXECUTE (ASIC + 0x000000000008)
  407. #define ASIC_CFG_SBUS_EXECUTE_EXECUTE_SMASK 0x1ull
  408. #define ASIC_CFG_SBUS_EXECUTE_FAST_MODE_SMASK 0x2ull
  409. #define ASIC_CFG_SBUS_REQUEST (ASIC + 0x000000000000)
  410. #define ASIC_CFG_SBUS_REQUEST_COMMAND_SHIFT 16
  411. #define ASIC_CFG_SBUS_REQUEST_DATA_ADDR_SHIFT 8
  412. #define ASIC_CFG_SBUS_REQUEST_DATA_IN_SHIFT 32
  413. #define ASIC_CFG_SBUS_REQUEST_RECEIVER_ADDR_SHIFT 0
  414. #define ASIC_CFG_SCRATCH (ASIC + 0x000000000020)
  415. #define ASIC_CFG_SCRATCH_1 (ASIC_CFG_SCRATCH + 0x08)
  416. #define ASIC_CFG_SCRATCH_2 (ASIC_CFG_SCRATCH + 0x10)
  417. #define ASIC_CFG_SCRATCH_3 (ASIC_CFG_SCRATCH + 0x18)
  418. #define ASIC_CFG_THERM_POLL_EN (ASIC + 0x000000000050)
  419. #define ASIC_EEP_ADDR_CMD (ASIC + 0x000000000308)
  420. #define ASIC_EEP_ADDR_CMD_EP_ADDR_MASK 0xFFFFFFull
  421. #define ASIC_EEP_CTL_STAT (ASIC + 0x000000000300)
  422. #define ASIC_EEP_CTL_STAT_EP_RESET_SMASK 0x4ull
  423. #define ASIC_EEP_CTL_STAT_RATE_SPI_SHIFT 8
  424. #define ASIC_EEP_CTL_STAT_RESETCSR 0x0000000083818000ull
  425. #define ASIC_EEP_DATA (ASIC + 0x000000000310)
  426. #define ASIC_GPIO_CLEAR (ASIC + 0x000000000230)
  427. #define ASIC_GPIO_FORCE (ASIC + 0x000000000238)
  428. #define ASIC_GPIO_IN (ASIC + 0x000000000200)
  429. #define ASIC_GPIO_INVERT (ASIC + 0x000000000210)
  430. #define ASIC_GPIO_MASK (ASIC + 0x000000000220)
  431. #define ASIC_GPIO_OE (ASIC + 0x000000000208)
  432. #define ASIC_GPIO_OUT (ASIC + 0x000000000218)
  433. #define ASIC_PCIE_SD_HOST_CMD (ASIC + 0x000000000100)
  434. #define ASIC_PCIE_SD_HOST_CMD_INTRPT_CMD_SHIFT 0
  435. #define ASIC_PCIE_SD_HOST_CMD_SBR_MODE_SMASK 0x400ull
  436. #define ASIC_PCIE_SD_HOST_CMD_SBUS_RCVR_ADDR_SHIFT 2
  437. #define ASIC_PCIE_SD_HOST_CMD_TIMER_MASK 0xFFFFFull
  438. #define ASIC_PCIE_SD_HOST_CMD_TIMER_SHIFT 12
  439. #define ASIC_PCIE_SD_HOST_STATUS (ASIC + 0x000000000108)
  440. #define ASIC_PCIE_SD_HOST_STATUS_FW_DNLD_ERR_MASK 0x7ull
  441. #define ASIC_PCIE_SD_HOST_STATUS_FW_DNLD_ERR_SHIFT 2
  442. #define ASIC_PCIE_SD_HOST_STATUS_FW_DNLD_STS_MASK 0x3ull
  443. #define ASIC_PCIE_SD_HOST_STATUS_FW_DNLD_STS_SHIFT 0
  444. #define ASIC_PCIE_SD_INTRPT_DATA_CODE (ASIC + 0x000000000110)
  445. #define ASIC_PCIE_SD_INTRPT_ENABLE (ASIC + 0x000000000118)
  446. #define ASIC_PCIE_SD_INTRPT_LIST (ASIC + 0x000000000180)
  447. #define ASIC_PCIE_SD_INTRPT_LIST_INTRPT_CODE_SHIFT 16
  448. #define ASIC_PCIE_SD_INTRPT_LIST_INTRPT_DATA_SHIFT 0
  449. #define ASIC_PCIE_SD_INTRPT_STATUS (ASIC + 0x000000000128)
  450. #define ASIC_QSFP1_CLEAR (ASIC + 0x000000000270)
  451. #define ASIC_QSFP1_FORCE (ASIC + 0x000000000278)
  452. #define ASIC_QSFP1_IN (ASIC + 0x000000000240)
  453. #define ASIC_QSFP1_INVERT (ASIC + 0x000000000250)
  454. #define ASIC_QSFP1_MASK (ASIC + 0x000000000260)
  455. #define ASIC_QSFP1_OE (ASIC + 0x000000000248)
  456. #define ASIC_QSFP1_OUT (ASIC + 0x000000000258)
  457. #define ASIC_QSFP1_STATUS (ASIC + 0x000000000268)
  458. #define ASIC_QSFP2_CLEAR (ASIC + 0x0000000002B0)
  459. #define ASIC_QSFP2_FORCE (ASIC + 0x0000000002B8)
  460. #define ASIC_QSFP2_IN (ASIC + 0x000000000280)
  461. #define ASIC_QSFP2_INVERT (ASIC + 0x000000000290)
  462. #define ASIC_QSFP2_MASK (ASIC + 0x0000000002A0)
  463. #define ASIC_QSFP2_OE (ASIC + 0x000000000288)
  464. #define ASIC_QSFP2_OUT (ASIC + 0x000000000298)
  465. #define ASIC_QSFP2_STATUS (ASIC + 0x0000000002A8)
  466. #define ASIC_STS_SBUS_COUNTERS (ASIC + 0x000000000018)
  467. #define ASIC_STS_SBUS_COUNTERS_EXECUTE_CNT_MASK 0xFFFFull
  468. #define ASIC_STS_SBUS_COUNTERS_EXECUTE_CNT_SHIFT 0
  469. #define ASIC_STS_SBUS_COUNTERS_RCV_DATA_VALID_CNT_MASK 0xFFFFull
  470. #define ASIC_STS_SBUS_COUNTERS_RCV_DATA_VALID_CNT_SHIFT 16
  471. #define ASIC_STS_SBUS_RESULT (ASIC + 0x000000000010)
  472. #define ASIC_STS_SBUS_RESULT_DONE_SMASK 0x1ull
  473. #define ASIC_STS_SBUS_RESULT_RCV_DATA_VALID_SMASK 0x2ull
  474. #define ASIC_STS_SBUS_RESULT_RESULT_CODE_SHIFT 2
  475. #define ASIC_STS_SBUS_RESULT_RESULT_CODE_MASK 0x7ull
  476. #define ASIC_STS_SBUS_RESULT_DATA_OUT_SHIFT 32
  477. #define ASIC_STS_SBUS_RESULT_DATA_OUT_MASK 0xFFFFFFFFull
  478. #define ASIC_STS_THERM (ASIC + 0x000000000058)
  479. #define ASIC_STS_THERM_CRIT_TEMP_MASK 0x7FFull
  480. #define ASIC_STS_THERM_CRIT_TEMP_SHIFT 18
  481. #define ASIC_STS_THERM_CURR_TEMP_MASK 0x7FFull
  482. #define ASIC_STS_THERM_CURR_TEMP_SHIFT 2
  483. #define ASIC_STS_THERM_HI_TEMP_MASK 0x7FFull
  484. #define ASIC_STS_THERM_HI_TEMP_SHIFT 50
  485. #define ASIC_STS_THERM_LO_TEMP_MASK 0x7FFull
  486. #define ASIC_STS_THERM_LO_TEMP_SHIFT 34
  487. #define ASIC_STS_THERM_LOW_SHIFT 13
  488. #define CCE_COUNTER_ARRAY32 (CCE + 0x000000000060)
  489. #define CCE_CTRL (CCE + 0x000000000010)
  490. #define CCE_CTRL_RXE_RESUME_SMASK 0x800ull
  491. #define CCE_CTRL_SPC_FREEZE_SMASK 0x100ull
  492. #define CCE_CTRL_SPC_UNFREEZE_SMASK 0x200ull
  493. #define CCE_CTRL_TXE_RESUME_SMASK 0x2000ull
  494. #define CCE_DC_CTRL (CCE + 0x0000000000B8)
  495. #define CCE_DC_CTRL_DC_RESET_SMASK 0x1ull
  496. #define CCE_DC_CTRL_RESETCSR 0x0000000000000001ull
  497. #define CCE_ERR_CLEAR (CCE + 0x000000000050)
  498. #define CCE_ERR_MASK (CCE + 0x000000000048)
  499. #define CCE_ERR_STATUS (CCE + 0x000000000040)
  500. #define CCE_ERR_STATUS_CCE_CLI0_ASYNC_FIFO_PARITY_ERR_SMASK 0x40ull
  501. #define CCE_ERR_STATUS_CCE_CLI1_ASYNC_FIFO_DBG_PARITY_ERROR_SMASK 0x1000ull
  502. #define CCE_ERR_STATUS_CCE_CLI1_ASYNC_FIFO_PIO_CRDT_PARITY_ERR_SMASK \
  503. 0x200ull
  504. #define CCE_ERR_STATUS_CCE_CLI1_ASYNC_FIFO_RXDMA_PARITY_ERROR_SMASK \
  505. 0x800ull
  506. #define CCE_ERR_STATUS_CCE_CLI1_ASYNC_FIFO_SDMA_HD_PARITY_ERR_SMASK \
  507. 0x400ull
  508. #define CCE_ERR_STATUS_CCE_CLI2_ASYNC_FIFO_PARITY_ERR_SMASK 0x100ull
  509. #define CCE_ERR_STATUS_CCE_CSR_CFG_BUS_PARITY_ERR_SMASK 0x80ull
  510. #define CCE_ERR_STATUS_CCE_CSR_PARITY_ERR_SMASK 0x1ull
  511. #define CCE_ERR_STATUS_CCE_CSR_READ_BAD_ADDR_ERR_SMASK 0x2ull
  512. #define CCE_ERR_STATUS_CCE_CSR_WRITE_BAD_ADDR_ERR_SMASK 0x4ull
  513. #define CCE_ERR_STATUS_CCE_INT_MAP_COR_ERR_SMASK 0x4000000000ull
  514. #define CCE_ERR_STATUS_CCE_INT_MAP_UNC_ERR_SMASK 0x8000000000ull
  515. #define CCE_ERR_STATUS_CCE_MSIX_CSR_PARITY_ERR_SMASK 0x10000000000ull
  516. #define CCE_ERR_STATUS_CCE_MSIX_TABLE_COR_ERR_SMASK 0x1000000000ull
  517. #define CCE_ERR_STATUS_CCE_MSIX_TABLE_UNC_ERR_SMASK 0x2000000000ull
  518. #define CCE_ERR_STATUS_CCE_RCPL_ASYNC_FIFO_PARITY_ERR_SMASK 0x400000000ull
  519. #define CCE_ERR_STATUS_CCE_RSPD_DATA_PARITY_ERR_SMASK 0x20ull
  520. #define CCE_ERR_STATUS_CCE_RXDMA_CONV_FIFO_PARITY_ERR_SMASK 0x800000000ull
  521. #define CCE_ERR_STATUS_CCE_SEG_READ_BAD_ADDR_ERR_SMASK 0x100000000ull
  522. #define CCE_ERR_STATUS_CCE_SEG_WRITE_BAD_ADDR_ERR_SMASK 0x200000000ull
  523. #define CCE_ERR_STATUS_CCE_TRGT_ACCESS_ERR_SMASK 0x10ull
  524. #define CCE_ERR_STATUS_CCE_TRGT_ASYNC_FIFO_PARITY_ERR_SMASK 0x8ull
  525. #define CCE_ERR_STATUS_CCE_TRGT_CPL_TIMEOUT_ERR_SMASK 0x40000000ull
  526. #define CCE_ERR_STATUS_LA_TRIGGERED_SMASK 0x80000000ull
  527. #define CCE_ERR_STATUS_PCIC_CPL_DAT_QCOR_ERR_SMASK 0x40000ull
  528. #define CCE_ERR_STATUS_PCIC_CPL_DAT_QUNC_ERR_SMASK 0x4000000ull
  529. #define CCE_ERR_STATUS_PCIC_CPL_HD_QCOR_ERR_SMASK 0x20000ull
  530. #define CCE_ERR_STATUS_PCIC_CPL_HD_QUNC_ERR_SMASK 0x2000000ull
  531. #define CCE_ERR_STATUS_PCIC_NPOST_DAT_QPARITY_ERR_SMASK 0x100000ull
  532. #define CCE_ERR_STATUS_PCIC_NPOST_HQ_PARITY_ERR_SMASK 0x80000ull
  533. #define CCE_ERR_STATUS_PCIC_POST_DAT_QCOR_ERR_SMASK 0x10000ull
  534. #define CCE_ERR_STATUS_PCIC_POST_DAT_QUNC_ERR_SMASK 0x1000000ull
  535. #define CCE_ERR_STATUS_PCIC_POST_HD_QCOR_ERR_SMASK 0x8000ull
  536. #define CCE_ERR_STATUS_PCIC_POST_HD_QUNC_ERR_SMASK 0x800000ull
  537. #define CCE_ERR_STATUS_PCIC_RECEIVE_PARITY_ERR_SMASK 0x20000000ull
  538. #define CCE_ERR_STATUS_PCIC_RETRY_MEM_COR_ERR_SMASK 0x2000ull
  539. #define CCE_ERR_STATUS_PCIC_RETRY_MEM_UNC_ERR_SMASK 0x200000ull
  540. #define CCE_ERR_STATUS_PCIC_RETRY_SOT_MEM_COR_ERR_SMASK 0x4000ull
  541. #define CCE_ERR_STATUS_PCIC_RETRY_SOT_MEM_UNC_ERR_SMASK 0x400000ull
  542. #define CCE_ERR_STATUS_PCIC_TRANSMIT_BACK_PARITY_ERR_SMASK 0x10000000ull
  543. #define CCE_ERR_STATUS_PCIC_TRANSMIT_FRONT_PARITY_ERR_SMASK 0x8000000ull
  544. #define CCE_INT_CLEAR (CCE + 0x000000110A00)
  545. #define CCE_INT_COUNTER_ARRAY32 (CCE + 0x000000110D00)
  546. #define CCE_INT_FORCE (CCE + 0x000000110B00)
  547. #define CCE_INT_MAP (CCE + 0x000000110500)
  548. #define CCE_INT_MASK (CCE + 0x000000110900)
  549. #define CCE_INT_STATUS (CCE + 0x000000110800)
  550. #define CCE_MSIX_INT_GRANTED (CCE + 0x000000110200)
  551. #define CCE_MSIX_TABLE_LOWER (CCE + 0x000000100000)
  552. #define CCE_MSIX_TABLE_UPPER (CCE + 0x000000100008)
  553. #define CCE_MSIX_TABLE_UPPER_RESETCSR 0x0000000100000000ull
  554. #define CCE_MSIX_VEC_CLR_WITHOUT_INT (CCE + 0x000000110400)
  555. #define CCE_PCIE_CTRL (CCE + 0x0000000000C0)
  556. #define CCE_PCIE_CTRL_PCIE_LANE_BUNDLE_MASK 0x3ull
  557. #define CCE_PCIE_CTRL_PCIE_LANE_BUNDLE_SHIFT 0
  558. #define CCE_PCIE_CTRL_PCIE_LANE_DELAY_MASK 0xFull
  559. #define CCE_PCIE_CTRL_PCIE_LANE_DELAY_SHIFT 2
  560. #define CCE_PCIE_CTRL_XMT_MARGIN_OVERWRITE_ENABLE_SHIFT 8
  561. #define CCE_PCIE_CTRL_XMT_MARGIN_SHIFT 9
  562. #define CCE_PCIE_CTRL_XMT_MARGIN_GEN1_GEN2_OVERWRITE_ENABLE_MASK 0x1ull
  563. #define CCE_PCIE_CTRL_XMT_MARGIN_GEN1_GEN2_OVERWRITE_ENABLE_SHIFT 12
  564. #define CCE_PCIE_CTRL_XMT_MARGIN_GEN1_GEN2_MASK 0x7ull
  565. #define CCE_PCIE_CTRL_XMT_MARGIN_GEN1_GEN2_SHIFT 13
  566. #define CCE_REVISION (CCE + 0x000000000000)
  567. #define CCE_REVISION2 (CCE + 0x000000000008)
  568. #define CCE_REVISION2_HFI_ID_MASK 0x1ull
  569. #define CCE_REVISION2_HFI_ID_SHIFT 0
  570. #define CCE_REVISION2_IMPL_CODE_SHIFT 8
  571. #define CCE_REVISION2_IMPL_REVISION_SHIFT 16
  572. #define CCE_REVISION_BOARD_ID_LOWER_NIBBLE_MASK 0xFull
  573. #define CCE_REVISION_BOARD_ID_LOWER_NIBBLE_SHIFT 32
  574. #define CCE_REVISION_CHIP_REV_MAJOR_MASK 0xFFull
  575. #define CCE_REVISION_CHIP_REV_MAJOR_SHIFT 8
  576. #define CCE_REVISION_CHIP_REV_MINOR_MASK 0xFFull
  577. #define CCE_REVISION_CHIP_REV_MINOR_SHIFT 0
  578. #define CCE_REVISION_SW_MASK 0xFFull
  579. #define CCE_REVISION_SW_SHIFT 24
  580. #define CCE_SCRATCH (CCE + 0x000000000020)
  581. #define CCE_STATUS (CCE + 0x000000000018)
  582. #define CCE_STATUS_RXE_FROZE_SMASK 0x2ull
  583. #define CCE_STATUS_RXE_PAUSED_SMASK 0x20ull
  584. #define CCE_STATUS_SDMA_FROZE_SMASK 0x1ull
  585. #define CCE_STATUS_SDMA_PAUSED_SMASK 0x10ull
  586. #define CCE_STATUS_TXE_FROZE_SMASK 0x4ull
  587. #define CCE_STATUS_TXE_PAUSED_SMASK 0x40ull
  588. #define CCE_STATUS_TXE_PIO_FROZE_SMASK 0x8ull
  589. #define CCE_STATUS_TXE_PIO_PAUSED_SMASK 0x80ull
  590. #define MISC_CFG_FW_CTRL (MISC + 0x000000001000)
  591. #define MISC_CFG_FW_CTRL_FW_8051_LOADED_SMASK 0x2ull
  592. #define MISC_CFG_FW_CTRL_RSA_STATUS_SHIFT 2
  593. #define MISC_CFG_FW_CTRL_RSA_STATUS_SMASK 0xCull
  594. #define MISC_CFG_RSA_CMD (MISC + 0x000000000A08)
  595. #define MISC_CFG_RSA_MODULUS (MISC + 0x000000000400)
  596. #define MISC_CFG_RSA_MU (MISC + 0x000000000A10)
  597. #define MISC_CFG_RSA_R2 (MISC + 0x000000000000)
  598. #define MISC_CFG_RSA_SIGNATURE (MISC + 0x000000000200)
  599. #define MISC_CFG_SHA_PRELOAD (MISC + 0x000000000A00)
  600. #define MISC_ERR_CLEAR (MISC + 0x000000002010)
  601. #define MISC_ERR_MASK (MISC + 0x000000002008)
  602. #define MISC_ERR_STATUS (MISC + 0x000000002000)
  603. #define MISC_ERR_STATUS_MISC_PLL_LOCK_FAIL_ERR_SMASK 0x1000ull
  604. #define MISC_ERR_STATUS_MISC_MBIST_FAIL_ERR_SMASK 0x800ull
  605. #define MISC_ERR_STATUS_MISC_INVALID_EEP_CMD_ERR_SMASK 0x400ull
  606. #define MISC_ERR_STATUS_MISC_EFUSE_DONE_PARITY_ERR_SMASK 0x200ull
  607. #define MISC_ERR_STATUS_MISC_EFUSE_WRITE_ERR_SMASK 0x100ull
  608. #define MISC_ERR_STATUS_MISC_EFUSE_READ_BAD_ADDR_ERR_SMASK 0x80ull
  609. #define MISC_ERR_STATUS_MISC_EFUSE_CSR_PARITY_ERR_SMASK 0x40ull
  610. #define MISC_ERR_STATUS_MISC_FW_AUTH_FAILED_ERR_SMASK 0x20ull
  611. #define MISC_ERR_STATUS_MISC_KEY_MISMATCH_ERR_SMASK 0x10ull
  612. #define MISC_ERR_STATUS_MISC_SBUS_WRITE_FAILED_ERR_SMASK 0x8ull
  613. #define MISC_ERR_STATUS_MISC_CSR_WRITE_BAD_ADDR_ERR_SMASK 0x4ull
  614. #define MISC_ERR_STATUS_MISC_CSR_READ_BAD_ADDR_ERR_SMASK 0x2ull
  615. #define MISC_ERR_STATUS_MISC_CSR_PARITY_ERR_SMASK 0x1ull
  616. #define PCI_CFG_MSIX0 (PCIE + 0x0000000000B0)
  617. #define PCI_CFG_REG1 (PCIE + 0x000000000004)
  618. #define PCI_CFG_REG11 (PCIE + 0x00000000002C)
  619. #define PCIE_CFG_SPCIE1 (PCIE + 0x00000000014C)
  620. #define PCIE_CFG_SPCIE2 (PCIE + 0x000000000150)
  621. #define PCIE_CFG_TPH2 (PCIE + 0x000000000180)
  622. #define RCV_ARRAY (RXE + 0x000000200000)
  623. #define RCV_ARRAY_CNT (RXE + 0x000000000018)
  624. #define RCV_ARRAY_RT_ADDR_MASK 0xFFFFFFFFFull
  625. #define RCV_ARRAY_RT_ADDR_SHIFT 0
  626. #define RCV_ARRAY_RT_BUF_SIZE_SHIFT 36
  627. #define RCV_ARRAY_RT_WRITE_ENABLE_SMASK 0x8000000000000000ull
  628. #define RCV_AVAIL_TIME_OUT (RXE + 0x000000100050)
  629. #define RCV_AVAIL_TIME_OUT_TIME_OUT_RELOAD_MASK 0xFFull
  630. #define RCV_AVAIL_TIME_OUT_TIME_OUT_RELOAD_SHIFT 0
  631. #define RCV_BTH_QP (RXE + 0x000000000028)
  632. #define RCV_BTH_QP_KDETH_QP_MASK 0xFFull
  633. #define RCV_BTH_QP_KDETH_QP_SHIFT 16
  634. #define RCV_BYPASS (RXE + 0x000000000038)
  635. #define RCV_CONTEXTS (RXE + 0x000000000010)
  636. #define RCV_COUNTER_ARRAY32 (RXE + 0x000000000400)
  637. #define RCV_COUNTER_ARRAY64 (RXE + 0x000000000500)
  638. #define RCV_CTRL (RXE + 0x000000000000)
  639. #define RCV_CTRL_RCV_BYPASS_ENABLE_SMASK 0x10ull
  640. #define RCV_CTRL_RCV_EXTENDED_PSN_ENABLE_SMASK 0x40ull
  641. #define RCV_CTRL_RCV_PARTITION_KEY_ENABLE_SMASK 0x4ull
  642. #define RCV_CTRL_RCV_PORT_ENABLE_SMASK 0x1ull
  643. #define RCV_CTRL_RCV_QP_MAP_ENABLE_SMASK 0x2ull
  644. #define RCV_CTRL_RCV_RSM_ENABLE_SMASK 0x20ull
  645. #define RCV_CTRL_RX_RBUF_INIT_SMASK 0x200ull
  646. #define RCV_CTXT_CTRL (RXE + 0x000000100000)
  647. #define RCV_CTXT_CTRL_DONT_DROP_EGR_FULL_SMASK 0x4ull
  648. #define RCV_CTXT_CTRL_DONT_DROP_RHQ_FULL_SMASK 0x8ull
  649. #define RCV_CTXT_CTRL_EGR_BUF_SIZE_MASK 0x7ull
  650. #define RCV_CTXT_CTRL_EGR_BUF_SIZE_SHIFT 8
  651. #define RCV_CTXT_CTRL_EGR_BUF_SIZE_SMASK 0x700ull
  652. #define RCV_CTXT_CTRL_ENABLE_SMASK 0x1ull
  653. #define RCV_CTXT_CTRL_INTR_AVAIL_SMASK 0x20ull
  654. #define RCV_CTXT_CTRL_ONE_PACKET_PER_EGR_BUFFER_SMASK 0x2ull
  655. #define RCV_CTXT_CTRL_TAIL_UPD_SMASK 0x40ull
  656. #define RCV_CTXT_CTRL_TID_FLOW_ENABLE_SMASK 0x10ull
  657. #define RCV_CTXT_STATUS (RXE + 0x000000100008)
  658. #define RCV_EGR_CTRL (RXE + 0x000000100010)
  659. #define RCV_EGR_CTRL_EGR_BASE_INDEX_MASK 0x1FFFull
  660. #define RCV_EGR_CTRL_EGR_BASE_INDEX_SHIFT 0
  661. #define RCV_EGR_CTRL_EGR_CNT_MASK 0x1FFull
  662. #define RCV_EGR_CTRL_EGR_CNT_SHIFT 32
  663. #define RCV_EGR_INDEX_HEAD (RXE + 0x000000300018)
  664. #define RCV_EGR_INDEX_HEAD_HEAD_MASK 0x7FFull
  665. #define RCV_EGR_INDEX_HEAD_HEAD_SHIFT 0
  666. #define RCV_ERR_CLEAR (RXE + 0x000000000070)
  667. #define RCV_ERR_INFO (RXE + 0x000000000050)
  668. #define RCV_ERR_INFO_RCV_EXCESS_BUFFER_OVERRUN_SC_SMASK 0x1Full
  669. #define RCV_ERR_INFO_RCV_EXCESS_BUFFER_OVERRUN_SMASK 0x20ull
  670. #define RCV_ERR_MASK (RXE + 0x000000000068)
  671. #define RCV_ERR_STATUS (RXE + 0x000000000060)
  672. #define RCV_ERR_STATUS_RX_CSR_PARITY_ERR_SMASK 0x8000000000000000ull
  673. #define RCV_ERR_STATUS_RX_CSR_READ_BAD_ADDR_ERR_SMASK 0x2000000000000000ull
  674. #define RCV_ERR_STATUS_RX_CSR_WRITE_BAD_ADDR_ERR_SMASK \
  675. 0x4000000000000000ull
  676. #define RCV_ERR_STATUS_RX_DC_INTF_PARITY_ERR_SMASK 0x2ull
  677. #define RCV_ERR_STATUS_RX_DC_SOP_EOP_PARITY_ERR_SMASK 0x200ull
  678. #define RCV_ERR_STATUS_RX_DMA_CSR_COR_ERR_SMASK 0x1ull
  679. #define RCV_ERR_STATUS_RX_DMA_CSR_PARITY_ERR_SMASK 0x200000000000000ull
  680. #define RCV_ERR_STATUS_RX_DMA_CSR_UNC_ERR_SMASK 0x1000000000000000ull
  681. #define RCV_ERR_STATUS_RX_DMA_DATA_FIFO_RD_COR_ERR_SMASK \
  682. 0x40000000000000ull
  683. #define RCV_ERR_STATUS_RX_DMA_DATA_FIFO_RD_UNC_ERR_SMASK \
  684. 0x20000000000000ull
  685. #define RCV_ERR_STATUS_RX_DMA_DQ_FSM_ENCODING_ERR_SMASK \
  686. 0x800000000000000ull
  687. #define RCV_ERR_STATUS_RX_DMA_EQ_FSM_ENCODING_ERR_SMASK \
  688. 0x400000000000000ull
  689. #define RCV_ERR_STATUS_RX_DMA_FLAG_COR_ERR_SMASK 0x800ull
  690. #define RCV_ERR_STATUS_RX_DMA_FLAG_UNC_ERR_SMASK 0x400ull
  691. #define RCV_ERR_STATUS_RX_DMA_HDR_FIFO_RD_COR_ERR_SMASK 0x10000000000000ull
  692. #define RCV_ERR_STATUS_RX_DMA_HDR_FIFO_RD_UNC_ERR_SMASK 0x8000000000000ull
  693. #define RCV_ERR_STATUS_RX_HQ_INTR_CSR_PARITY_ERR_SMASK 0x200000000000ull
  694. #define RCV_ERR_STATUS_RX_HQ_INTR_FSM_ERR_SMASK 0x400000000000ull
  695. #define RCV_ERR_STATUS_RX_LOOKUP_CSR_PARITY_ERR_SMASK 0x100000000000ull
  696. #define RCV_ERR_STATUS_RX_LOOKUP_DES_PART1_UNC_COR_ERR_SMASK \
  697. 0x10000000000ull
  698. #define RCV_ERR_STATUS_RX_LOOKUP_DES_PART1_UNC_ERR_SMASK 0x8000000000ull
  699. #define RCV_ERR_STATUS_RX_LOOKUP_DES_PART2_PARITY_ERR_SMASK \
  700. 0x20000000000ull
  701. #define RCV_ERR_STATUS_RX_LOOKUP_RCV_ARRAY_COR_ERR_SMASK 0x80000000000ull
  702. #define RCV_ERR_STATUS_RX_LOOKUP_RCV_ARRAY_UNC_ERR_SMASK 0x40000000000ull
  703. #define RCV_ERR_STATUS_RX_RBUF_BAD_LOOKUP_ERR_SMASK 0x40000000ull
  704. #define RCV_ERR_STATUS_RX_RBUF_BLOCK_LIST_READ_COR_ERR_SMASK 0x100000ull
  705. #define RCV_ERR_STATUS_RX_RBUF_BLOCK_LIST_READ_UNC_ERR_SMASK 0x80000ull
  706. #define RCV_ERR_STATUS_RX_RBUF_CSR_QENT_CNT_PARITY_ERR_SMASK 0x400000ull
  707. #define RCV_ERR_STATUS_RX_RBUF_CSR_QEOPDW_PARITY_ERR_SMASK 0x10000000ull
  708. #define RCV_ERR_STATUS_RX_RBUF_CSR_QHD_PTR_PARITY_ERR_SMASK 0x2000000ull
  709. #define RCV_ERR_STATUS_RX_RBUF_CSR_QHEAD_BUF_NUM_PARITY_ERR_SMASK \
  710. 0x200000ull
  711. #define RCV_ERR_STATUS_RX_RBUF_CSR_QNEXT_BUF_PARITY_ERR_SMASK 0x800000ull
  712. #define RCV_ERR_STATUS_RX_RBUF_CSR_QNUM_OF_PKT_PARITY_ERR_SMASK \
  713. 0x8000000ull
  714. #define RCV_ERR_STATUS_RX_RBUF_CSR_QTL_PTR_PARITY_ERR_SMASK 0x4000000ull
  715. #define RCV_ERR_STATUS_RX_RBUF_CSR_QVLD_BIT_PARITY_ERR_SMASK 0x1000000ull
  716. #define RCV_ERR_STATUS_RX_RBUF_CTX_ID_PARITY_ERR_SMASK 0x20000000ull
  717. #define RCV_ERR_STATUS_RX_RBUF_DATA_COR_ERR_SMASK 0x100000000000000ull
  718. #define RCV_ERR_STATUS_RX_RBUF_DATA_UNC_ERR_SMASK 0x80000000000000ull
  719. #define RCV_ERR_STATUS_RX_RBUF_DESC_PART1_COR_ERR_SMASK 0x1000000000000ull
  720. #define RCV_ERR_STATUS_RX_RBUF_DESC_PART1_UNC_ERR_SMASK 0x800000000000ull
  721. #define RCV_ERR_STATUS_RX_RBUF_DESC_PART2_COR_ERR_SMASK 0x4000000000000ull
  722. #define RCV_ERR_STATUS_RX_RBUF_DESC_PART2_UNC_ERR_SMASK 0x2000000000000ull
  723. #define RCV_ERR_STATUS_RX_RBUF_EMPTY_ERR_SMASK 0x100000000ull
  724. #define RCV_ERR_STATUS_RX_RBUF_FL_INITDONE_PARITY_ERR_SMASK 0x800000000ull
  725. #define RCV_ERR_STATUS_RX_RBUF_FL_INIT_WR_ADDR_PARITY_ERR_SMASK \
  726. 0x1000000000ull
  727. #define RCV_ERR_STATUS_RX_RBUF_FL_RD_ADDR_PARITY_ERR_SMASK 0x200000000ull
  728. #define RCV_ERR_STATUS_RX_RBUF_FL_WR_ADDR_PARITY_ERR_SMASK 0x400000000ull
  729. #define RCV_ERR_STATUS_RX_RBUF_FREE_LIST_COR_ERR_SMASK 0x4000ull
  730. #define RCV_ERR_STATUS_RX_RBUF_FREE_LIST_UNC_ERR_SMASK 0x2000ull
  731. #define RCV_ERR_STATUS_RX_RBUF_FULL_ERR_SMASK 0x80000000ull
  732. #define RCV_ERR_STATUS_RX_RBUF_LOOKUP_DES_COR_ERR_SMASK 0x40000ull
  733. #define RCV_ERR_STATUS_RX_RBUF_LOOKUP_DES_REG_UNC_COR_ERR_SMASK 0x10000ull
  734. #define RCV_ERR_STATUS_RX_RBUF_LOOKUP_DES_REG_UNC_ERR_SMASK 0x8000ull
  735. #define RCV_ERR_STATUS_RX_RBUF_LOOKUP_DES_UNC_ERR_SMASK 0x20000ull
  736. #define RCV_ERR_STATUS_RX_RBUF_NEXT_FREE_BUF_COR_ERR_SMASK 0x4000000000ull
  737. #define RCV_ERR_STATUS_RX_RBUF_NEXT_FREE_BUF_UNC_ERR_SMASK 0x2000000000ull
  738. #define RCV_ERR_STATUS_RX_RCV_CSR_PARITY_ERR_SMASK 0x100ull
  739. #define RCV_ERR_STATUS_RX_RCV_DATA_COR_ERR_SMASK 0x20ull
  740. #define RCV_ERR_STATUS_RX_RCV_DATA_UNC_ERR_SMASK 0x10ull
  741. #define RCV_ERR_STATUS_RX_RCV_FSM_ENCODING_ERR_SMASK 0x1000ull
  742. #define RCV_ERR_STATUS_RX_RCV_HDR_COR_ERR_SMASK 0x8ull
  743. #define RCV_ERR_STATUS_RX_RCV_HDR_UNC_ERR_SMASK 0x4ull
  744. #define RCV_ERR_STATUS_RX_RCV_QP_MAP_TABLE_COR_ERR_SMASK 0x80ull
  745. #define RCV_ERR_STATUS_RX_RCV_QP_MAP_TABLE_UNC_ERR_SMASK 0x40ull
  746. #define RCV_HDR_ADDR (RXE + 0x000000100028)
  747. #define RCV_HDR_CNT (RXE + 0x000000100030)
  748. #define RCV_HDR_CNT_CNT_MASK 0x1FFull
  749. #define RCV_HDR_CNT_CNT_SHIFT 0
  750. #define RCV_HDR_ENT_SIZE (RXE + 0x000000100038)
  751. #define RCV_HDR_ENT_SIZE_ENT_SIZE_MASK 0x7ull
  752. #define RCV_HDR_ENT_SIZE_ENT_SIZE_SHIFT 0
  753. #define RCV_HDR_HEAD (RXE + 0x000000300008)
  754. #define RCV_HDR_HEAD_COUNTER_MASK 0xFFull
  755. #define RCV_HDR_HEAD_COUNTER_SHIFT 32
  756. #define RCV_HDR_HEAD_HEAD_MASK 0x7FFFFull
  757. #define RCV_HDR_HEAD_HEAD_SHIFT 0
  758. #define RCV_HDR_HEAD_HEAD_SMASK 0x7FFFFull
  759. #define RCV_HDR_OVFL_CNT (RXE + 0x000000100058)
  760. #define RCV_HDR_SIZE (RXE + 0x000000100040)
  761. #define RCV_HDR_SIZE_HDR_SIZE_MASK 0x1Full
  762. #define RCV_HDR_SIZE_HDR_SIZE_SHIFT 0
  763. #define RCV_HDR_TAIL (RXE + 0x000000300000)
  764. #define RCV_HDR_TAIL_ADDR (RXE + 0x000000100048)
  765. #define RCV_KEY_CTRL (RXE + 0x000000100020)
  766. #define RCV_KEY_CTRL_JOB_KEY_ENABLE_SMASK 0x200000000ull
  767. #define RCV_KEY_CTRL_JOB_KEY_VALUE_MASK 0xFFFFull
  768. #define RCV_KEY_CTRL_JOB_KEY_VALUE_SHIFT 0
  769. #define RCV_MULTICAST (RXE + 0x000000000030)
  770. #define RCV_PARTITION_KEY (RXE + 0x000000000200)
  771. #define RCV_PARTITION_KEY_PARTITION_KEY_A_MASK 0xFFFFull
  772. #define RCV_PARTITION_KEY_PARTITION_KEY_B_SHIFT 16
  773. #define RCV_QP_MAP_TABLE (RXE + 0x000000000100)
  774. #define RCV_RSM_CFG (RXE + 0x000000000600)
  775. #define RCV_RSM_CFG_ENABLE_OR_CHAIN_RSM0_MASK 0x1ull
  776. #define RCV_RSM_CFG_ENABLE_OR_CHAIN_RSM0_SHIFT 0
  777. #define RCV_RSM_CFG_PACKET_TYPE_SHIFT 60
  778. #define RCV_RSM_CFG_OFFSET_SHIFT 32
  779. #define RCV_RSM_MAP_TABLE (RXE + 0x000000000900)
  780. #define RCV_RSM_MAP_TABLE_RCV_CONTEXT_A_MASK 0xFFull
  781. #define RCV_RSM_MATCH (RXE + 0x000000000800)
  782. #define RCV_RSM_MATCH_MASK1_SHIFT 0
  783. #define RCV_RSM_MATCH_MASK2_SHIFT 16
  784. #define RCV_RSM_MATCH_VALUE1_SHIFT 8
  785. #define RCV_RSM_MATCH_VALUE2_SHIFT 24
  786. #define RCV_RSM_SELECT (RXE + 0x000000000700)
  787. #define RCV_RSM_SELECT_FIELD1_OFFSET_SHIFT 0
  788. #define RCV_RSM_SELECT_FIELD2_OFFSET_SHIFT 16
  789. #define RCV_RSM_SELECT_INDEX1_OFFSET_SHIFT 32
  790. #define RCV_RSM_SELECT_INDEX1_WIDTH_SHIFT 44
  791. #define RCV_RSM_SELECT_INDEX2_OFFSET_SHIFT 48
  792. #define RCV_RSM_SELECT_INDEX2_WIDTH_SHIFT 60
  793. #define RCV_STATUS (RXE + 0x000000000008)
  794. #define RCV_STATUS_RX_PKT_IN_PROGRESS_SMASK 0x1ull
  795. #define RCV_STATUS_RX_RBUF_INIT_DONE_SMASK 0x200ull
  796. #define RCV_STATUS_RX_RBUF_PKT_PENDING_SMASK 0x40ull
  797. #define RCV_TID_CTRL (RXE + 0x000000100018)
  798. #define RCV_TID_CTRL_TID_BASE_INDEX_MASK 0x1FFFull
  799. #define RCV_TID_CTRL_TID_BASE_INDEX_SHIFT 0
  800. #define RCV_TID_CTRL_TID_PAIR_CNT_MASK 0x1FFull
  801. #define RCV_TID_CTRL_TID_PAIR_CNT_SHIFT 32
  802. #define RCV_TID_FLOW_TABLE (RXE + 0x000000300800)
  803. #define RCV_VL15 (RXE + 0x000000000048)
  804. #define SEND_BTH_QP (TXE + 0x0000000000A0)
  805. #define SEND_BTH_QP_KDETH_QP_MASK 0xFFull
  806. #define SEND_BTH_QP_KDETH_QP_SHIFT 16
  807. #define SEND_CM_CREDIT_USED_STATUS (TXE + 0x000000000510)
  808. #define SEND_CM_CREDIT_USED_STATUS_VL0_RETURN_CREDIT_STATUS_SMASK \
  809. 0x1000000000000ull
  810. #define SEND_CM_CREDIT_USED_STATUS_VL15_RETURN_CREDIT_STATUS_SMASK \
  811. 0x8000000000000000ull
  812. #define SEND_CM_CREDIT_USED_STATUS_VL1_RETURN_CREDIT_STATUS_SMASK \
  813. 0x2000000000000ull
  814. #define SEND_CM_CREDIT_USED_STATUS_VL2_RETURN_CREDIT_STATUS_SMASK \
  815. 0x4000000000000ull
  816. #define SEND_CM_CREDIT_USED_STATUS_VL3_RETURN_CREDIT_STATUS_SMASK \
  817. 0x8000000000000ull
  818. #define SEND_CM_CREDIT_USED_STATUS_VL4_RETURN_CREDIT_STATUS_SMASK \
  819. 0x10000000000000ull
  820. #define SEND_CM_CREDIT_USED_STATUS_VL5_RETURN_CREDIT_STATUS_SMASK \
  821. 0x20000000000000ull
  822. #define SEND_CM_CREDIT_USED_STATUS_VL6_RETURN_CREDIT_STATUS_SMASK \
  823. 0x40000000000000ull
  824. #define SEND_CM_CREDIT_USED_STATUS_VL7_RETURN_CREDIT_STATUS_SMASK \
  825. 0x80000000000000ull
  826. #define SEND_CM_CREDIT_VL (TXE + 0x000000000600)
  827. #define SEND_CM_CREDIT_VL15 (TXE + 0x000000000678)
  828. #define SEND_CM_CREDIT_VL15_DEDICATED_LIMIT_VL_SHIFT 0
  829. #define SEND_CM_CREDIT_VL_DEDICATED_LIMIT_VL_MASK 0xFFFFull
  830. #define SEND_CM_CREDIT_VL_DEDICATED_LIMIT_VL_SHIFT 0
  831. #define SEND_CM_CREDIT_VL_DEDICATED_LIMIT_VL_SMASK 0xFFFFull
  832. #define SEND_CM_CREDIT_VL_SHARED_LIMIT_VL_MASK 0xFFFFull
  833. #define SEND_CM_CREDIT_VL_SHARED_LIMIT_VL_SHIFT 16
  834. #define SEND_CM_CREDIT_VL_SHARED_LIMIT_VL_SMASK 0xFFFF0000ull
  835. #define SEND_CM_CTRL (TXE + 0x000000000500)
  836. #define SEND_CM_CTRL_FORCE_CREDIT_MODE_SMASK 0x8ull
  837. #define SEND_CM_CTRL_RESETCSR 0x0000000000000020ull
  838. #define SEND_CM_GLOBAL_CREDIT (TXE + 0x000000000508)
  839. #define SEND_CM_GLOBAL_CREDIT_AU_SHIFT 16
  840. #define SEND_CM_GLOBAL_CREDIT_RESETCSR 0x0000094000030000ull
  841. #define SEND_CM_GLOBAL_CREDIT_SHARED_LIMIT_MASK 0xFFFFull
  842. #define SEND_CM_GLOBAL_CREDIT_SHARED_LIMIT_SHIFT 0
  843. #define SEND_CM_GLOBAL_CREDIT_SHARED_LIMIT_SMASK 0xFFFFull
  844. #define SEND_CM_GLOBAL_CREDIT_TOTAL_CREDIT_LIMIT_MASK 0xFFFFull
  845. #define SEND_CM_GLOBAL_CREDIT_TOTAL_CREDIT_LIMIT_SHIFT 32
  846. #define SEND_CM_GLOBAL_CREDIT_TOTAL_CREDIT_LIMIT_SMASK 0xFFFF00000000ull
  847. #define SEND_CM_LOCAL_AU_TABLE0_TO3 (TXE + 0x000000000520)
  848. #define SEND_CM_LOCAL_AU_TABLE0_TO3_LOCAL_AU_TABLE0_SHIFT 0
  849. #define SEND_CM_LOCAL_AU_TABLE0_TO3_LOCAL_AU_TABLE1_SHIFT 16
  850. #define SEND_CM_LOCAL_AU_TABLE0_TO3_LOCAL_AU_TABLE2_SHIFT 32
  851. #define SEND_CM_LOCAL_AU_TABLE0_TO3_LOCAL_AU_TABLE3_SHIFT 48
  852. #define SEND_CM_LOCAL_AU_TABLE4_TO7 (TXE + 0x000000000528)
  853. #define SEND_CM_LOCAL_AU_TABLE4_TO7_LOCAL_AU_TABLE4_SHIFT 0
  854. #define SEND_CM_LOCAL_AU_TABLE4_TO7_LOCAL_AU_TABLE5_SHIFT 16
  855. #define SEND_CM_LOCAL_AU_TABLE4_TO7_LOCAL_AU_TABLE6_SHIFT 32
  856. #define SEND_CM_LOCAL_AU_TABLE4_TO7_LOCAL_AU_TABLE7_SHIFT 48
  857. #define SEND_CM_REMOTE_AU_TABLE0_TO3 (TXE + 0x000000000530)
  858. #define SEND_CM_REMOTE_AU_TABLE4_TO7 (TXE + 0x000000000538)
  859. #define SEND_CM_TIMER_CTRL (TXE + 0x000000000518)
  860. #define SEND_CONTEXTS (TXE + 0x000000000010)
  861. #define SEND_CONTEXT_SET_CTRL (TXE + 0x000000000200)
  862. #define SEND_COUNTER_ARRAY32 (TXE + 0x000000000300)
  863. #define SEND_COUNTER_ARRAY64 (TXE + 0x000000000400)
  864. #define SEND_CTRL (TXE + 0x000000000000)
  865. #define SEND_CTRL_CM_RESET_SMASK 0x4ull
  866. #define SEND_CTRL_SEND_ENABLE_SMASK 0x1ull
  867. #define SEND_CTRL_VL_ARBITER_ENABLE_SMASK 0x2ull
  868. #define SEND_CTXT_CHECK_ENABLE (TXE + 0x000000100080)
  869. #define SEND_CTXT_CHECK_ENABLE_CHECK_BYPASS_VL_MAPPING_SMASK 0x80ull
  870. #define SEND_CTXT_CHECK_ENABLE_CHECK_ENABLE_SMASK 0x1ull
  871. #define SEND_CTXT_CHECK_ENABLE_CHECK_JOB_KEY_SMASK 0x4ull
  872. #define SEND_CTXT_CHECK_ENABLE_CHECK_OPCODE_SMASK 0x20ull
  873. #define SEND_CTXT_CHECK_ENABLE_CHECK_PARTITION_KEY_SMASK 0x8ull
  874. #define SEND_CTXT_CHECK_ENABLE_CHECK_SLID_SMASK 0x10ull
  875. #define SEND_CTXT_CHECK_ENABLE_CHECK_VL_MAPPING_SMASK 0x40ull
  876. #define SEND_CTXT_CHECK_ENABLE_CHECK_VL_SMASK 0x2ull
  877. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_BAD_PKT_LEN_SMASK 0x20000ull
  878. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_BYPASS_BAD_PKT_LEN_SMASK \
  879. 0x200000ull
  880. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_BYPASS_SMASK 0x800ull
  881. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_GRH_SMASK 0x400ull
  882. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_KDETH_PACKETS_SMASK 0x1000ull
  883. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_NON_KDETH_PACKETS_SMASK 0x2000ull
  884. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_PBC_STATIC_RATE_CONTROL_SMASK \
  885. 0x100000ull
  886. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_PBC_TEST_SMASK 0x10000ull
  887. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_RAW_IPV6_SMASK 0x200ull
  888. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_RAW_SMASK 0x100ull
  889. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_TOO_LONG_BYPASS_PACKETS_SMASK \
  890. 0x80000ull
  891. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_TOO_LONG_IB_PACKETS_SMASK \
  892. 0x40000ull
  893. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_TOO_SMALL_BYPASS_PACKETS_SMASK \
  894. 0x8000ull
  895. #define SEND_CTXT_CHECK_ENABLE_DISALLOW_TOO_SMALL_IB_PACKETS_SMASK \
  896. 0x4000ull
  897. #define SEND_CTXT_CHECK_JOB_KEY (TXE + 0x000000100090)
  898. #define SEND_CTXT_CHECK_JOB_KEY_ALLOW_PERMISSIVE_SMASK 0x100000000ull
  899. #define SEND_CTXT_CHECK_JOB_KEY_MASK_SMASK 0xFFFF0000ull
  900. #define SEND_CTXT_CHECK_JOB_KEY_VALUE_MASK 0xFFFFull
  901. #define SEND_CTXT_CHECK_JOB_KEY_VALUE_SHIFT 0
  902. #define SEND_CTXT_CHECK_OPCODE (TXE + 0x0000001000A8)
  903. #define SEND_CTXT_CHECK_OPCODE_MASK_SHIFT 8
  904. #define SEND_CTXT_CHECK_OPCODE_VALUE_SHIFT 0
  905. #define SEND_CTXT_CHECK_PARTITION_KEY (TXE + 0x000000100098)
  906. #define SEND_CTXT_CHECK_PARTITION_KEY_VALUE_MASK 0xFFFFull
  907. #define SEND_CTXT_CHECK_PARTITION_KEY_VALUE_SHIFT 0
  908. #define SEND_CTXT_CHECK_SLID (TXE + 0x0000001000A0)
  909. #define SEND_CTXT_CHECK_SLID_MASK_MASK 0xFFFFull
  910. #define SEND_CTXT_CHECK_SLID_MASK_SHIFT 16
  911. #define SEND_CTXT_CHECK_SLID_VALUE_MASK 0xFFFFull
  912. #define SEND_CTXT_CHECK_SLID_VALUE_SHIFT 0
  913. #define SEND_CTXT_CHECK_VL (TXE + 0x000000100088)
  914. #define SEND_CTXT_CREDIT_CTRL (TXE + 0x000000100010)
  915. #define SEND_CTXT_CREDIT_CTRL_CREDIT_INTR_SMASK 0x20000ull
  916. #define SEND_CTXT_CREDIT_CTRL_EARLY_RETURN_SMASK 0x10000ull
  917. #define SEND_CTXT_CREDIT_CTRL_THRESHOLD_MASK 0x7FFull
  918. #define SEND_CTXT_CREDIT_CTRL_THRESHOLD_SHIFT 0
  919. #define SEND_CTXT_CREDIT_CTRL_THRESHOLD_SMASK 0x7FFull
  920. #define SEND_CTXT_CREDIT_FORCE (TXE + 0x000000100028)
  921. #define SEND_CTXT_CREDIT_FORCE_FORCE_RETURN_SMASK 0x1ull
  922. #define SEND_CTXT_CREDIT_RETURN_ADDR (TXE + 0x000000100020)
  923. #define SEND_CTXT_CREDIT_RETURN_ADDR_ADDRESS_SMASK 0xFFFFFFFFFFC0ull
  924. #define SEND_CTXT_CTRL (TXE + 0x000000100000)
  925. #define SEND_CTXT_CTRL_CTXT_BASE_MASK 0x3FFFull
  926. #define SEND_CTXT_CTRL_CTXT_BASE_SHIFT 32
  927. #define SEND_CTXT_CTRL_CTXT_DEPTH_MASK 0x7FFull
  928. #define SEND_CTXT_CTRL_CTXT_DEPTH_SHIFT 48
  929. #define SEND_CTXT_CTRL_CTXT_ENABLE_SMASK 0x1ull
  930. #define SEND_CTXT_ERR_CLEAR (TXE + 0x000000100050)
  931. #define SEND_CTXT_ERR_MASK (TXE + 0x000000100048)
  932. #define SEND_CTXT_ERR_STATUS (TXE + 0x000000100040)
  933. #define SEND_CTXT_ERR_STATUS_PIO_DISALLOWED_PACKET_ERR_SMASK 0x2ull
  934. #define SEND_CTXT_ERR_STATUS_PIO_INCONSISTENT_SOP_ERR_SMASK 0x1ull
  935. #define SEND_CTXT_ERR_STATUS_PIO_WRITE_CROSSES_BOUNDARY_ERR_SMASK 0x4ull
  936. #define SEND_CTXT_ERR_STATUS_PIO_WRITE_OUT_OF_BOUNDS_ERR_SMASK 0x10ull
  937. #define SEND_CTXT_ERR_STATUS_PIO_WRITE_OVERFLOW_ERR_SMASK 0x8ull
  938. #define SEND_CTXT_STATUS (TXE + 0x000000100008)
  939. #define SEND_CTXT_STATUS_CTXT_HALTED_SMASK 0x1ull
  940. #define SEND_DMA_BASE_ADDR (TXE + 0x000000200010)
  941. #define SEND_DMA_CHECK_ENABLE (TXE + 0x000000200080)
  942. #define SEND_DMA_CHECK_ENABLE_CHECK_BYPASS_VL_MAPPING_SMASK 0x80ull
  943. #define SEND_DMA_CHECK_ENABLE_CHECK_ENABLE_SMASK 0x1ull
  944. #define SEND_DMA_CHECK_ENABLE_CHECK_JOB_KEY_SMASK 0x4ull
  945. #define SEND_DMA_CHECK_ENABLE_CHECK_OPCODE_SMASK 0x20ull
  946. #define SEND_DMA_CHECK_ENABLE_CHECK_PARTITION_KEY_SMASK 0x8ull
  947. #define SEND_DMA_CHECK_ENABLE_CHECK_SLID_SMASK 0x10ull
  948. #define SEND_DMA_CHECK_ENABLE_CHECK_VL_MAPPING_SMASK 0x40ull
  949. #define SEND_DMA_CHECK_ENABLE_CHECK_VL_SMASK 0x2ull
  950. #define SEND_DMA_CHECK_ENABLE_DISALLOW_BAD_PKT_LEN_SMASK 0x20000ull
  951. #define SEND_DMA_CHECK_ENABLE_DISALLOW_BYPASS_BAD_PKT_LEN_SMASK 0x200000ull
  952. #define SEND_DMA_CHECK_ENABLE_DISALLOW_PBC_STATIC_RATE_CONTROL_SMASK \
  953. 0x100000ull
  954. #define SEND_DMA_CHECK_ENABLE_DISALLOW_RAW_IPV6_SMASK 0x200ull
  955. #define SEND_DMA_CHECK_ENABLE_DISALLOW_RAW_SMASK 0x100ull
  956. #define SEND_DMA_CHECK_ENABLE_DISALLOW_TOO_LONG_BYPASS_PACKETS_SMASK \
  957. 0x80000ull
  958. #define SEND_DMA_CHECK_ENABLE_DISALLOW_TOO_LONG_IB_PACKETS_SMASK 0x40000ull
  959. #define SEND_DMA_CHECK_ENABLE_DISALLOW_TOO_SMALL_BYPASS_PACKETS_SMASK \
  960. 0x8000ull
  961. #define SEND_DMA_CHECK_ENABLE_DISALLOW_TOO_SMALL_IB_PACKETS_SMASK 0x4000ull
  962. #define SEND_DMA_CHECK_JOB_KEY (TXE + 0x000000200090)
  963. #define SEND_DMA_CHECK_OPCODE (TXE + 0x0000002000A8)
  964. #define SEND_DMA_CHECK_PARTITION_KEY (TXE + 0x000000200098)
  965. #define SEND_DMA_CHECK_SLID (TXE + 0x0000002000A0)
  966. #define SEND_DMA_CHECK_SLID_MASK_MASK 0xFFFFull
  967. #define SEND_DMA_CHECK_SLID_MASK_SHIFT 16
  968. #define SEND_DMA_CHECK_SLID_VALUE_MASK 0xFFFFull
  969. #define SEND_DMA_CHECK_SLID_VALUE_SHIFT 0
  970. #define SEND_DMA_CHECK_VL (TXE + 0x000000200088)
  971. #define SEND_DMA_CTRL (TXE + 0x000000200000)
  972. #define SEND_DMA_CTRL_SDMA_CLEANUP_SMASK 0x4ull
  973. #define SEND_DMA_CTRL_SDMA_ENABLE_SMASK 0x1ull
  974. #define SEND_DMA_CTRL_SDMA_HALT_SMASK 0x2ull
  975. #define SEND_DMA_CTRL_SDMA_INT_ENABLE_SMASK 0x8ull
  976. #define SEND_DMA_DESC_CNT (TXE + 0x000000200050)
  977. #define SEND_DMA_DESC_CNT_CNT_MASK 0xFFFFull
  978. #define SEND_DMA_DESC_CNT_CNT_SHIFT 0
  979. #define SEND_DMA_ENG_ERR_CLEAR (TXE + 0x000000200070)
  980. #define SEND_DMA_ENG_ERR_CLEAR_SDMA_HEADER_REQUEST_FIFO_UNC_ERR_MASK 0x1ull
  981. #define SEND_DMA_ENG_ERR_CLEAR_SDMA_HEADER_REQUEST_FIFO_UNC_ERR_SHIFT 18
  982. #define SEND_DMA_ENG_ERR_MASK (TXE + 0x000000200068)
  983. #define SEND_DMA_ENG_ERR_STATUS (TXE + 0x000000200060)
  984. #define SEND_DMA_ENG_ERR_STATUS_SDMA_ASSEMBLY_UNC_ERR_SMASK 0x8000ull
  985. #define SEND_DMA_ENG_ERR_STATUS_SDMA_DESC_TABLE_UNC_ERR_SMASK 0x4000ull
  986. #define SEND_DMA_ENG_ERR_STATUS_SDMA_FIRST_DESC_ERR_SMASK 0x10ull
  987. #define SEND_DMA_ENG_ERR_STATUS_SDMA_GEN_MISMATCH_ERR_SMASK 0x2ull
  988. #define SEND_DMA_ENG_ERR_STATUS_SDMA_HALT_ERR_SMASK 0x40ull
  989. #define SEND_DMA_ENG_ERR_STATUS_SDMA_HEADER_ADDRESS_ERR_SMASK 0x800ull
  990. #define SEND_DMA_ENG_ERR_STATUS_SDMA_HEADER_LENGTH_ERR_SMASK 0x1000ull
  991. #define SEND_DMA_ENG_ERR_STATUS_SDMA_HEADER_REQUEST_FIFO_UNC_ERR_SMASK \
  992. 0x40000ull
  993. #define SEND_DMA_ENG_ERR_STATUS_SDMA_HEADER_SELECT_ERR_SMASK 0x400ull
  994. #define SEND_DMA_ENG_ERR_STATUS_SDMA_HEADER_STORAGE_UNC_ERR_SMASK \
  995. 0x20000ull
  996. #define SEND_DMA_ENG_ERR_STATUS_SDMA_LENGTH_MISMATCH_ERR_SMASK 0x80ull
  997. #define SEND_DMA_ENG_ERR_STATUS_SDMA_MEM_READ_ERR_SMASK 0x20ull
  998. #define SEND_DMA_ENG_ERR_STATUS_SDMA_PACKET_DESC_OVERFLOW_ERR_SMASK \
  999. 0x100ull
  1000. #define SEND_DMA_ENG_ERR_STATUS_SDMA_PACKET_TRACKING_UNC_ERR_SMASK \
  1001. 0x10000ull
  1002. #define SEND_DMA_ENG_ERR_STATUS_SDMA_TAIL_OUT_OF_BOUNDS_ERR_SMASK 0x8ull
  1003. #define SEND_DMA_ENG_ERR_STATUS_SDMA_TIMEOUT_ERR_SMASK 0x2000ull
  1004. #define SEND_DMA_ENG_ERR_STATUS_SDMA_TOO_LONG_ERR_SMASK 0x4ull
  1005. #define SEND_DMA_ENG_ERR_STATUS_SDMA_WRONG_DW_ERR_SMASK 0x1ull
  1006. #define SEND_DMA_ENGINES (TXE + 0x000000000018)
  1007. #define SEND_DMA_ERR_CLEAR (TXE + 0x000000000070)
  1008. #define SEND_DMA_ERR_MASK (TXE + 0x000000000068)
  1009. #define SEND_DMA_ERR_STATUS (TXE + 0x000000000060)
  1010. #define SEND_DMA_ERR_STATUS_SDMA_CSR_PARITY_ERR_SMASK 0x2ull
  1011. #define SEND_DMA_ERR_STATUS_SDMA_PCIE_REQ_TRACKING_COR_ERR_SMASK 0x8ull
  1012. #define SEND_DMA_ERR_STATUS_SDMA_PCIE_REQ_TRACKING_UNC_ERR_SMASK 0x4ull
  1013. #define SEND_DMA_ERR_STATUS_SDMA_RPY_TAG_ERR_SMASK 0x1ull
  1014. #define SEND_DMA_HEAD (TXE + 0x000000200028)
  1015. #define SEND_DMA_HEAD_ADDR (TXE + 0x000000200030)
  1016. #define SEND_DMA_LEN_GEN (TXE + 0x000000200018)
  1017. #define SEND_DMA_LEN_GEN_GENERATION_SHIFT 16
  1018. #define SEND_DMA_LEN_GEN_LENGTH_SHIFT 6
  1019. #define SEND_DMA_MEMORY (TXE + 0x0000002000B0)
  1020. #define SEND_DMA_MEMORY_SDMA_MEMORY_CNT_SHIFT 16
  1021. #define SEND_DMA_MEMORY_SDMA_MEMORY_INDEX_SHIFT 0
  1022. #define SEND_DMA_MEM_SIZE (TXE + 0x000000000028)
  1023. #define SEND_DMA_PRIORITY_THLD (TXE + 0x000000200038)
  1024. #define SEND_DMA_RELOAD_CNT (TXE + 0x000000200048)
  1025. #define SEND_DMA_STATUS (TXE + 0x000000200008)
  1026. #define SEND_DMA_STATUS_ENG_CLEANED_UP_SMASK 0x200000000000000ull
  1027. #define SEND_DMA_STATUS_ENG_HALTED_SMASK 0x100000000000000ull
  1028. #define SEND_DMA_TAIL (TXE + 0x000000200020)
  1029. #define SEND_EGRESS_CTXT_STATUS (TXE + 0x000000000800)
  1030. #define SEND_EGRESS_CTXT_STATUS_CTXT_EGRESS_HALT_STATUS_SMASK 0x10000ull
  1031. #define SEND_EGRESS_CTXT_STATUS_CTXT_EGRESS_PACKET_OCCUPANCY_SHIFT 0
  1032. #define SEND_EGRESS_CTXT_STATUS_CTXT_EGRESS_PACKET_OCCUPANCY_SMASK \
  1033. 0x3FFFull
  1034. #define SEND_EGRESS_ERR_CLEAR (TXE + 0x000000000090)
  1035. #define SEND_EGRESS_ERR_INFO (TXE + 0x000000000F00)
  1036. #define SEND_EGRESS_ERR_INFO_BAD_PKT_LEN_ERR_SMASK 0x20000ull
  1037. #define SEND_EGRESS_ERR_INFO_BYPASS_ERR_SMASK 0x800ull
  1038. #define SEND_EGRESS_ERR_INFO_GRH_ERR_SMASK 0x400ull
  1039. #define SEND_EGRESS_ERR_INFO_JOB_KEY_ERR_SMASK 0x4ull
  1040. #define SEND_EGRESS_ERR_INFO_KDETH_PACKETS_ERR_SMASK 0x1000ull
  1041. #define SEND_EGRESS_ERR_INFO_NON_KDETH_PACKETS_ERR_SMASK 0x2000ull
  1042. #define SEND_EGRESS_ERR_INFO_OPCODE_ERR_SMASK 0x20ull
  1043. #define SEND_EGRESS_ERR_INFO_PARTITION_KEY_ERR_SMASK 0x8ull
  1044. #define SEND_EGRESS_ERR_INFO_PBC_STATIC_RATE_CONTROL_ERR_SMASK 0x100000ull
  1045. #define SEND_EGRESS_ERR_INFO_PBC_TEST_ERR_SMASK 0x10000ull
  1046. #define SEND_EGRESS_ERR_INFO_RAW_ERR_SMASK 0x100ull
  1047. #define SEND_EGRESS_ERR_INFO_RAW_IPV6_ERR_SMASK 0x200ull
  1048. #define SEND_EGRESS_ERR_INFO_SLID_ERR_SMASK 0x10ull
  1049. #define SEND_EGRESS_ERR_INFO_TOO_LONG_BYPASS_PACKETS_ERR_SMASK 0x80000ull
  1050. #define SEND_EGRESS_ERR_INFO_TOO_LONG_IB_PACKET_ERR_SMASK 0x40000ull
  1051. #define SEND_EGRESS_ERR_INFO_TOO_SMALL_BYPASS_PACKETS_ERR_SMASK 0x8000ull
  1052. #define SEND_EGRESS_ERR_INFO_TOO_SMALL_IB_PACKETS_ERR_SMASK 0x4000ull
  1053. #define SEND_EGRESS_ERR_INFO_VL_ERR_SMASK 0x2ull
  1054. #define SEND_EGRESS_ERR_INFO_VL_MAPPING_ERR_SMASK 0x40ull
  1055. #define SEND_EGRESS_ERR_MASK (TXE + 0x000000000088)
  1056. #define SEND_EGRESS_ERR_SOURCE (TXE + 0x000000000F08)
  1057. #define SEND_EGRESS_ERR_STATUS (TXE + 0x000000000080)
  1058. #define SEND_EGRESS_ERR_STATUS_TX_CONFIG_PARITY_ERR_SMASK 0x8000ull
  1059. #define SEND_EGRESS_ERR_STATUS_TX_CREDIT_OVERRUN_ERR_SMASK \
  1060. 0x200000000000000ull
  1061. #define SEND_EGRESS_ERR_STATUS_TX_CREDIT_RETURN_PARITY_ERR_SMASK \
  1062. 0x20000000000ull
  1063. #define SEND_EGRESS_ERR_STATUS_TX_CREDIT_RETURN_VL_ERR_SMASK \
  1064. 0x800000000000ull
  1065. #define SEND_EGRESS_ERR_STATUS_TX_EGRESS_FIFO_COR_ERR_SMASK \
  1066. 0x2000000000000000ull
  1067. #define SEND_EGRESS_ERR_STATUS_TX_EGRESS_FIFO_UNC_ERR_SMASK \
  1068. 0x200000000000ull
  1069. #define SEND_EGRESS_ERR_STATUS_TX_EGRESS_FIFO_UNDERRUN_OR_PARITY_ERR_SMASK \
  1070. 0x8ull
  1071. #define SEND_EGRESS_ERR_STATUS_TX_HCRC_INSERTION_ERR_SMASK \
  1072. 0x400000000000ull
  1073. #define SEND_EGRESS_ERR_STATUS_TX_ILLEGAL_VL_ERR_SMASK 0x1000ull
  1074. #define SEND_EGRESS_ERR_STATUS_TX_INCORRECT_LINK_STATE_ERR_SMASK 0x20ull
  1075. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_CSR_PARITY_ERR_SMASK 0x2000ull
  1076. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO0_COR_ERR_SMASK \
  1077. 0x1000000000000ull
  1078. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO0_UNC_OR_PARITY_ERR_SMASK \
  1079. 0x100000000ull
  1080. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO1_COR_ERR_SMASK \
  1081. 0x2000000000000ull
  1082. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO1_UNC_OR_PARITY_ERR_SMASK \
  1083. 0x200000000ull
  1084. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO2_COR_ERR_SMASK \
  1085. 0x4000000000000ull
  1086. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO2_UNC_OR_PARITY_ERR_SMASK \
  1087. 0x400000000ull
  1088. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO3_COR_ERR_SMASK \
  1089. 0x8000000000000ull
  1090. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO3_UNC_OR_PARITY_ERR_SMASK \
  1091. 0x800000000ull
  1092. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO4_COR_ERR_SMASK \
  1093. 0x10000000000000ull
  1094. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO4_UNC_OR_PARITY_ERR_SMASK \
  1095. 0x1000000000ull
  1096. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO5_COR_ERR_SMASK \
  1097. 0x20000000000000ull
  1098. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO5_UNC_OR_PARITY_ERR_SMASK \
  1099. 0x2000000000ull
  1100. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO6_COR_ERR_SMASK \
  1101. 0x40000000000000ull
  1102. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO6_UNC_OR_PARITY_ERR_SMASK \
  1103. 0x4000000000ull
  1104. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO7_COR_ERR_SMASK \
  1105. 0x80000000000000ull
  1106. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO7_UNC_OR_PARITY_ERR_SMASK \
  1107. 0x8000000000ull
  1108. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO8_COR_ERR_SMASK \
  1109. 0x100000000000000ull
  1110. #define SEND_EGRESS_ERR_STATUS_TX_LAUNCH_FIFO8_UNC_OR_PARITY_ERR_SMASK \
  1111. 0x10000000000ull
  1112. #define SEND_EGRESS_ERR_STATUS_TX_LINKDOWN_ERR_SMASK 0x10ull
  1113. #define SEND_EGRESS_ERR_STATUS_TX_PIO_LAUNCH_INTF_PARITY_ERR_SMASK 0x80ull
  1114. #define SEND_EGRESS_ERR_STATUS_TX_PKT_INTEGRITY_MEM_COR_ERR_SMASK 0x1ull
  1115. #define SEND_EGRESS_ERR_STATUS_TX_PKT_INTEGRITY_MEM_UNC_ERR_SMASK 0x2ull
  1116. #define SEND_EGRESS_ERR_STATUS_TX_READ_PIO_MEMORY_COR_ERR_SMASK \
  1117. 0x1000000000000000ull
  1118. #define SEND_EGRESS_ERR_STATUS_TX_READ_PIO_MEMORY_CSR_UNC_ERR_SMASK \
  1119. 0x8000000000000000ull
  1120. #define SEND_EGRESS_ERR_STATUS_TX_READ_PIO_MEMORY_UNC_ERR_SMASK \
  1121. 0x100000000000ull
  1122. #define SEND_EGRESS_ERR_STATUS_TX_READ_SDMA_MEMORY_COR_ERR_SMASK \
  1123. 0x800000000000000ull
  1124. #define SEND_EGRESS_ERR_STATUS_TX_READ_SDMA_MEMORY_CSR_UNC_ERR_SMASK \
  1125. 0x4000000000000000ull
  1126. #define SEND_EGRESS_ERR_STATUS_TX_READ_SDMA_MEMORY_UNC_ERR_SMASK \
  1127. 0x80000000000ull
  1128. #define SEND_EGRESS_ERR_STATUS_TX_SB_HDR_COR_ERR_SMASK 0x400000000000000ull
  1129. #define SEND_EGRESS_ERR_STATUS_TX_SB_HDR_UNC_ERR_SMASK 0x40000000000ull
  1130. #define SEND_EGRESS_ERR_STATUS_TX_SBRD_CTL_CSR_PARITY_ERR_SMASK 0x4000ull
  1131. #define SEND_EGRESS_ERR_STATUS_TX_SBRD_CTL_STATE_MACHINE_PARITY_ERR_SMASK \
  1132. 0x800ull
  1133. #define SEND_EGRESS_ERR_STATUS_TX_SDMA0_DISALLOWED_PACKET_ERR_SMASK \
  1134. 0x10000ull
  1135. #define SEND_EGRESS_ERR_STATUS_TX_SDMA10_DISALLOWED_PACKET_ERR_SMASK \
  1136. 0x4000000ull
  1137. #define SEND_EGRESS_ERR_STATUS_TX_SDMA11_DISALLOWED_PACKET_ERR_SMASK \
  1138. 0x8000000ull
  1139. #define SEND_EGRESS_ERR_STATUS_TX_SDMA12_DISALLOWED_PACKET_ERR_SMASK \
  1140. 0x10000000ull
  1141. #define SEND_EGRESS_ERR_STATUS_TX_SDMA13_DISALLOWED_PACKET_ERR_SMASK \
  1142. 0x20000000ull
  1143. #define SEND_EGRESS_ERR_STATUS_TX_SDMA14_DISALLOWED_PACKET_ERR_SMASK \
  1144. 0x40000000ull
  1145. #define SEND_EGRESS_ERR_STATUS_TX_SDMA15_DISALLOWED_PACKET_ERR_SMASK \
  1146. 0x80000000ull
  1147. #define SEND_EGRESS_ERR_STATUS_TX_SDMA1_DISALLOWED_PACKET_ERR_SMASK \
  1148. 0x20000ull
  1149. #define SEND_EGRESS_ERR_STATUS_TX_SDMA2_DISALLOWED_PACKET_ERR_SMASK \
  1150. 0x40000ull
  1151. #define SEND_EGRESS_ERR_STATUS_TX_SDMA3_DISALLOWED_PACKET_ERR_SMASK \
  1152. 0x80000ull
  1153. #define SEND_EGRESS_ERR_STATUS_TX_SDMA4_DISALLOWED_PACKET_ERR_SMASK \
  1154. 0x100000ull
  1155. #define SEND_EGRESS_ERR_STATUS_TX_SDMA5_DISALLOWED_PACKET_ERR_SMASK \
  1156. 0x200000ull
  1157. #define SEND_EGRESS_ERR_STATUS_TX_SDMA6_DISALLOWED_PACKET_ERR_SMASK \
  1158. 0x400000ull
  1159. #define SEND_EGRESS_ERR_STATUS_TX_SDMA7_DISALLOWED_PACKET_ERR_SMASK \
  1160. 0x800000ull
  1161. #define SEND_EGRESS_ERR_STATUS_TX_SDMA8_DISALLOWED_PACKET_ERR_SMASK \
  1162. 0x1000000ull
  1163. #define SEND_EGRESS_ERR_STATUS_TX_SDMA9_DISALLOWED_PACKET_ERR_SMASK \
  1164. 0x2000000ull
  1165. #define SEND_EGRESS_ERR_STATUS_TX_SDMA_LAUNCH_INTF_PARITY_ERR_SMASK \
  1166. 0x100ull
  1167. #define SEND_EGRESS_SEND_DMA_STATUS (TXE + 0x000000000E00)
  1168. #define SEND_EGRESS_SEND_DMA_STATUS_SDMA_EGRESS_PACKET_OCCUPANCY_SHIFT 0
  1169. #define SEND_EGRESS_SEND_DMA_STATUS_SDMA_EGRESS_PACKET_OCCUPANCY_SMASK \
  1170. 0x3FFFull
  1171. #define SEND_ERR_CLEAR (TXE + 0x0000000000F0)
  1172. #define SEND_ERR_MASK (TXE + 0x0000000000E8)
  1173. #define SEND_ERR_STATUS (TXE + 0x0000000000E0)
  1174. #define SEND_ERR_STATUS_SEND_CSR_PARITY_ERR_SMASK 0x1ull
  1175. #define SEND_ERR_STATUS_SEND_CSR_READ_BAD_ADDR_ERR_SMASK 0x2ull
  1176. #define SEND_ERR_STATUS_SEND_CSR_WRITE_BAD_ADDR_ERR_SMASK 0x4ull
  1177. #define SEND_HIGH_PRIORITY_LIMIT (TXE + 0x000000000030)
  1178. #define SEND_HIGH_PRIORITY_LIMIT_LIMIT_MASK 0x3FFFull
  1179. #define SEND_HIGH_PRIORITY_LIMIT_LIMIT_SHIFT 0
  1180. #define SEND_HIGH_PRIORITY_LIST (TXE + 0x000000000180)
  1181. #define SEND_LEN_CHECK0 (TXE + 0x0000000000D0)
  1182. #define SEND_LEN_CHECK0_LEN_VL0_MASK 0xFFFull
  1183. #define SEND_LEN_CHECK0_LEN_VL1_SHIFT 12
  1184. #define SEND_LEN_CHECK1 (TXE + 0x0000000000D8)
  1185. #define SEND_LEN_CHECK1_LEN_VL15_MASK 0xFFFull
  1186. #define SEND_LEN_CHECK1_LEN_VL15_SHIFT 48
  1187. #define SEND_LEN_CHECK1_LEN_VL4_MASK 0xFFFull
  1188. #define SEND_LEN_CHECK1_LEN_VL5_SHIFT 12
  1189. #define SEND_LOW_PRIORITY_LIST (TXE + 0x000000000100)
  1190. #define SEND_LOW_PRIORITY_LIST_VL_MASK 0x7ull
  1191. #define SEND_LOW_PRIORITY_LIST_VL_SHIFT 16
  1192. #define SEND_LOW_PRIORITY_LIST_WEIGHT_MASK 0xFFull
  1193. #define SEND_LOW_PRIORITY_LIST_WEIGHT_SHIFT 0
  1194. #define SEND_PIO_ERR_CLEAR (TXE + 0x000000000050)
  1195. #define SEND_PIO_ERR_CLEAR_PIO_INIT_SM_IN_ERR_SMASK 0x20000ull
  1196. #define SEND_PIO_ERR_MASK (TXE + 0x000000000048)
  1197. #define SEND_PIO_ERR_STATUS (TXE + 0x000000000040)
  1198. #define SEND_PIO_ERR_STATUS_PIO_BLOCK_QW_COUNT_PARITY_ERR_SMASK \
  1199. 0x1000000ull
  1200. #define SEND_PIO_ERR_STATUS_PIO_CREDIT_RET_FIFO_PARITY_ERR_SMASK 0x8000ull
  1201. #define SEND_PIO_ERR_STATUS_PIO_CSR_PARITY_ERR_SMASK 0x4ull
  1202. #define SEND_PIO_ERR_STATUS_PIO_CURRENT_FREE_CNT_PARITY_ERR_SMASK \
  1203. 0x100000000ull
  1204. #define SEND_PIO_ERR_STATUS_PIO_HOST_ADDR_MEM_COR_ERR_SMASK 0x100000ull
  1205. #define SEND_PIO_ERR_STATUS_PIO_HOST_ADDR_MEM_UNC_ERR_SMASK 0x80000ull
  1206. #define SEND_PIO_ERR_STATUS_PIO_INIT_SM_IN_ERR_SMASK 0x20000ull
  1207. #define SEND_PIO_ERR_STATUS_PIO_LAST_RETURNED_CNT_PARITY_ERR_SMASK \
  1208. 0x200000000ull
  1209. #define SEND_PIO_ERR_STATUS_PIO_PCC_FIFO_PARITY_ERR_SMASK 0x20ull
  1210. #define SEND_PIO_ERR_STATUS_PIO_PCC_SOP_HEAD_PARITY_ERR_SMASK \
  1211. 0x400000000ull
  1212. #define SEND_PIO_ERR_STATUS_PIO_PEC_FIFO_PARITY_ERR_SMASK 0x40ull
  1213. #define SEND_PIO_ERR_STATUS_PIO_PEC_SOP_HEAD_PARITY_ERR_SMASK \
  1214. 0x800000000ull
  1215. #define SEND_PIO_ERR_STATUS_PIO_PKT_EVICT_FIFO_PARITY_ERR_SMASK 0x200ull
  1216. #define SEND_PIO_ERR_STATUS_PIO_PKT_EVICT_SM_OR_ARB_SM_ERR_SMASK 0x40000ull
  1217. #define SEND_PIO_ERR_STATUS_PIO_PPMC_BQC_MEM_PARITY_ERR_SMASK 0x10000000ull
  1218. #define SEND_PIO_ERR_STATUS_PIO_PPMC_PBL_FIFO_ERR_SMASK 0x10000ull
  1219. #define SEND_PIO_ERR_STATUS_PIO_PPMC_SOP_LEN_ERR_SMASK 0x20000000ull
  1220. #define SEND_PIO_ERR_STATUS_PIO_SB_MEM_FIFO0_ERR_SMASK 0x8ull
  1221. #define SEND_PIO_ERR_STATUS_PIO_SB_MEM_FIFO1_ERR_SMASK 0x10ull
  1222. #define SEND_PIO_ERR_STATUS_PIO_SBRDCTL_CRREL_PARITY_ERR_SMASK 0x80ull
  1223. #define SEND_PIO_ERR_STATUS_PIO_SBRDCTRL_CRREL_FIFO_PARITY_ERR_SMASK \
  1224. 0x100ull
  1225. #define SEND_PIO_ERR_STATUS_PIO_SM_PKT_RESET_PARITY_ERR_SMASK 0x400ull
  1226. #define SEND_PIO_ERR_STATUS_PIO_STATE_MACHINE_ERR_SMASK 0x400000ull
  1227. #define SEND_PIO_ERR_STATUS_PIO_VL_FIFO_PARITY_ERR_SMASK 0x8000000ull
  1228. #define SEND_PIO_ERR_STATUS_PIO_VLF_SOP_PARITY_ERR_SMASK 0x4000000ull
  1229. #define SEND_PIO_ERR_STATUS_PIO_VLF_VL_LEN_PARITY_ERR_SMASK 0x2000000ull
  1230. #define SEND_PIO_ERR_STATUS_PIO_VL_LEN_MEM_BANK0_COR_ERR_SMASK 0x2000ull
  1231. #define SEND_PIO_ERR_STATUS_PIO_VL_LEN_MEM_BANK0_UNC_ERR_SMASK 0x800ull
  1232. #define SEND_PIO_ERR_STATUS_PIO_VL_LEN_MEM_BANK1_COR_ERR_SMASK 0x4000ull
  1233. #define SEND_PIO_ERR_STATUS_PIO_VL_LEN_MEM_BANK1_UNC_ERR_SMASK 0x1000ull
  1234. #define SEND_PIO_ERR_STATUS_PIO_WRITE_ADDR_PARITY_ERR_SMASK 0x2ull
  1235. #define SEND_PIO_ERR_STATUS_PIO_WRITE_BAD_CTXT_ERR_SMASK 0x1ull
  1236. #define SEND_PIO_ERR_STATUS_PIO_WRITE_DATA_PARITY_ERR_SMASK 0x200000ull
  1237. #define SEND_PIO_ERR_STATUS_PIO_WRITE_QW_VALID_PARITY_ERR_SMASK 0x800000ull
  1238. #define SEND_PIO_INIT_CTXT (TXE + 0x000000000038)
  1239. #define SEND_PIO_INIT_CTXT_PIO_ALL_CTXT_INIT_SMASK 0x1ull
  1240. #define SEND_PIO_INIT_CTXT_PIO_CTXT_NUM_MASK 0xFFull
  1241. #define SEND_PIO_INIT_CTXT_PIO_CTXT_NUM_SHIFT 8
  1242. #define SEND_PIO_INIT_CTXT_PIO_INIT_ERR_SMASK 0x8ull
  1243. #define SEND_PIO_INIT_CTXT_PIO_INIT_IN_PROGRESS_SMASK 0x4ull
  1244. #define SEND_PIO_INIT_CTXT_PIO_SINGLE_CTXT_INIT_SMASK 0x2ull
  1245. #define SEND_PIO_MEM_SIZE (TXE + 0x000000000020)
  1246. #define SEND_SC2VLT0 (TXE + 0x0000000000B0)
  1247. #define SEND_SC2VLT0_SC0_SHIFT 0
  1248. #define SEND_SC2VLT0_SC1_SHIFT 8
  1249. #define SEND_SC2VLT0_SC2_SHIFT 16
  1250. #define SEND_SC2VLT0_SC3_SHIFT 24
  1251. #define SEND_SC2VLT0_SC4_SHIFT 32
  1252. #define SEND_SC2VLT0_SC5_SHIFT 40
  1253. #define SEND_SC2VLT0_SC6_SHIFT 48
  1254. #define SEND_SC2VLT0_SC7_SHIFT 56
  1255. #define SEND_SC2VLT1 (TXE + 0x0000000000B8)
  1256. #define SEND_SC2VLT1_SC10_SHIFT 16
  1257. #define SEND_SC2VLT1_SC11_SHIFT 24
  1258. #define SEND_SC2VLT1_SC12_SHIFT 32
  1259. #define SEND_SC2VLT1_SC13_SHIFT 40
  1260. #define SEND_SC2VLT1_SC14_SHIFT 48
  1261. #define SEND_SC2VLT1_SC15_SHIFT 56
  1262. #define SEND_SC2VLT1_SC8_SHIFT 0
  1263. #define SEND_SC2VLT1_SC9_SHIFT 8
  1264. #define SEND_SC2VLT2 (TXE + 0x0000000000C0)
  1265. #define SEND_SC2VLT2_SC16_SHIFT 0
  1266. #define SEND_SC2VLT2_SC17_SHIFT 8
  1267. #define SEND_SC2VLT2_SC18_SHIFT 16
  1268. #define SEND_SC2VLT2_SC19_SHIFT 24
  1269. #define SEND_SC2VLT2_SC20_SHIFT 32
  1270. #define SEND_SC2VLT2_SC21_SHIFT 40
  1271. #define SEND_SC2VLT2_SC22_SHIFT 48
  1272. #define SEND_SC2VLT2_SC23_SHIFT 56
  1273. #define SEND_SC2VLT3 (TXE + 0x0000000000C8)
  1274. #define SEND_SC2VLT3_SC24_SHIFT 0
  1275. #define SEND_SC2VLT3_SC25_SHIFT 8
  1276. #define SEND_SC2VLT3_SC26_SHIFT 16
  1277. #define SEND_SC2VLT3_SC27_SHIFT 24
  1278. #define SEND_SC2VLT3_SC28_SHIFT 32
  1279. #define SEND_SC2VLT3_SC29_SHIFT 40
  1280. #define SEND_SC2VLT3_SC30_SHIFT 48
  1281. #define SEND_SC2VLT3_SC31_SHIFT 56
  1282. #define SEND_STATIC_RATE_CONTROL (TXE + 0x0000000000A8)
  1283. #define SEND_STATIC_RATE_CONTROL_CSR_SRC_RELOAD_SHIFT 0
  1284. #define SEND_STATIC_RATE_CONTROL_CSR_SRC_RELOAD_SMASK 0xFFFFull
  1285. #define PCIE_CFG_REG_PL2 (PCIE + 0x000000000708)
  1286. #define PCIE_CFG_REG_PL3 (PCIE + 0x00000000070C)
  1287. #define PCIE_CFG_REG_PL3_L1_ENT_LATENCY_SHIFT 27
  1288. #define PCIE_CFG_REG_PL3_L1_ENT_LATENCY_SMASK 0x38000000
  1289. #define PCIE_CFG_REG_PL102 (PCIE + 0x000000000898)
  1290. #define PCIE_CFG_REG_PL102_GEN3_EQ_POST_CURSOR_PSET_SHIFT 12
  1291. #define PCIE_CFG_REG_PL102_GEN3_EQ_CURSOR_PSET_SHIFT 6
  1292. #define PCIE_CFG_REG_PL102_GEN3_EQ_PRE_CURSOR_PSET_SHIFT 0
  1293. #define PCIE_CFG_REG_PL103 (PCIE + 0x00000000089C)
  1294. #define PCIE_CFG_REG_PL105 (PCIE + 0x0000000008A4)
  1295. #define PCIE_CFG_REG_PL105_GEN3_EQ_VIOLATE_COEF_RULES_SMASK 0x1ull
  1296. #define PCIE_CFG_REG_PL2_LOW_PWR_ENT_CNT_SHIFT 24
  1297. #define PCIE_CFG_REG_PL100 (PCIE + 0x000000000890)
  1298. #define PCIE_CFG_REG_PL100_EQ_EIEOS_CNT_SMASK 0x400ull
  1299. #define PCIE_CFG_REG_PL101 (PCIE + 0x000000000894)
  1300. #define PCIE_CFG_REG_PL101_GEN3_EQ_LOCAL_FS_SHIFT 6
  1301. #define PCIE_CFG_REG_PL101_GEN3_EQ_LOCAL_LF_SHIFT 0
  1302. #define PCIE_CFG_REG_PL106 (PCIE + 0x0000000008A8)
  1303. #define PCIE_CFG_REG_PL106_GEN3_EQ_PSET_REQ_VEC_SHIFT 8
  1304. #define PCIE_CFG_REG_PL106_GEN3_EQ_EVAL2MS_DISABLE_SMASK 0x20ull
  1305. #define PCIE_CFG_REG_PL106_GEN3_EQ_PHASE23_EXIT_MODE_SMASK 0x10ull
  1306. #define CCE_INT_BLOCKED (CCE + 0x000000110C00)
  1307. #define SEND_DMA_IDLE_CNT (TXE + 0x000000200040)
  1308. #define SEND_DMA_DESC_FETCHED_CNT (TXE + 0x000000200058)
  1309. #define CCE_MSIX_PBA_OFFSET 0X0110000
  1310. #endif /* DEF_CHIP_REG */