reo_flush_cache_status.h 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796
  1. /*
  2. * Copyright (c) 2019, The Linux Foundation. All rights reserved.
  3. *
  4. * Permission to use, copy, modify, and/or distribute this software for any
  5. * purpose with or without fee is hereby granted, provided that the above
  6. * copyright notice and this permission notice appear in all copies.
  7. *
  8. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  9. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  10. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  11. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  12. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  13. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  14. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  15. */
  16. #ifndef _REO_FLUSH_CACHE_STATUS_H_
  17. #define _REO_FLUSH_CACHE_STATUS_H_
  18. #if !defined(__ASSEMBLER__)
  19. #endif
  20. #include "uniform_reo_status_header.h"
  21. // ################ START SUMMARY #################
  22. //
  23. // Dword Fields
  24. // 0-1 struct uniform_reo_status_header status_header;
  25. // 2 error_detected[0], block_error_details[2:1], reserved_2a[7:3], cache_controller_flush_status_hit[8], cache_controller_flush_status_desc_type[11:9], cache_controller_flush_status_client_id[15:12], cache_controller_flush_status_error[17:16], cache_controller_flush_count[25:18], reserved_2b[31:26]
  26. // 3 reserved_3a[31:0]
  27. // 4 reserved_4a[31:0]
  28. // 5 reserved_5a[31:0]
  29. // 6 reserved_6a[31:0]
  30. // 7 reserved_7a[31:0]
  31. // 8 reserved_8a[31:0]
  32. // 9 reserved_9a[31:0]
  33. // 10 reserved_10a[31:0]
  34. // 11 reserved_11a[31:0]
  35. // 12 reserved_12a[31:0]
  36. // 13 reserved_13a[31:0]
  37. // 14 reserved_14a[31:0]
  38. // 15 reserved_15a[31:0]
  39. // 16 reserved_16a[31:0]
  40. // 17 reserved_17a[31:0]
  41. // 18 reserved_18a[31:0]
  42. // 19 reserved_19a[31:0]
  43. // 20 reserved_20a[31:0]
  44. // 21 reserved_21a[31:0]
  45. // 22 reserved_22a[31:0]
  46. // 23 reserved_23a[31:0]
  47. // 24 reserved_24a[27:0], looping_count[31:28]
  48. //
  49. // ################ END SUMMARY #################
  50. #define NUM_OF_DWORDS_REO_FLUSH_CACHE_STATUS 25
  51. struct reo_flush_cache_status {
  52. struct uniform_reo_status_header status_header;
  53. uint32_t error_detected : 1, //[0]
  54. block_error_details : 2, //[2:1]
  55. reserved_2a : 5, //[7:3]
  56. cache_controller_flush_status_hit: 1, //[8]
  57. cache_controller_flush_status_desc_type: 3, //[11:9]
  58. cache_controller_flush_status_client_id: 4, //[15:12]
  59. cache_controller_flush_status_error: 2, //[17:16]
  60. cache_controller_flush_count : 8, //[25:18]
  61. reserved_2b : 6; //[31:26]
  62. uint32_t reserved_3a : 32; //[31:0]
  63. uint32_t reserved_4a : 32; //[31:0]
  64. uint32_t reserved_5a : 32; //[31:0]
  65. uint32_t reserved_6a : 32; //[31:0]
  66. uint32_t reserved_7a : 32; //[31:0]
  67. uint32_t reserved_8a : 32; //[31:0]
  68. uint32_t reserved_9a : 32; //[31:0]
  69. uint32_t reserved_10a : 32; //[31:0]
  70. uint32_t reserved_11a : 32; //[31:0]
  71. uint32_t reserved_12a : 32; //[31:0]
  72. uint32_t reserved_13a : 32; //[31:0]
  73. uint32_t reserved_14a : 32; //[31:0]
  74. uint32_t reserved_15a : 32; //[31:0]
  75. uint32_t reserved_16a : 32; //[31:0]
  76. uint32_t reserved_17a : 32; //[31:0]
  77. uint32_t reserved_18a : 32; //[31:0]
  78. uint32_t reserved_19a : 32; //[31:0]
  79. uint32_t reserved_20a : 32; //[31:0]
  80. uint32_t reserved_21a : 32; //[31:0]
  81. uint32_t reserved_22a : 32; //[31:0]
  82. uint32_t reserved_23a : 32; //[31:0]
  83. uint32_t reserved_24a : 28, //[27:0]
  84. looping_count : 4; //[31:28]
  85. };
  86. /*
  87. struct uniform_reo_status_header status_header
  88. Consumer: SW
  89. Producer: REO
  90. Details that can link this status with the original
  91. command. It also contains info on how long REO took to
  92. execute this command.
  93. error_detected
  94. Status for blocking resource handling
  95. 0: No error has been detected while executing this
  96. command
  97. 1: an error in the blocking resource management was
  98. detected
  99. See field 'Block_error_details'
  100. block_error_details
  101. Field only valid when 'Error_detected' is set.
  102. 0: no blocking related error found
  103. 1: blocking resource was already in use
  104. 2: resource that was asked to be unblocked, was not
  105. blocked
  106. <legal 0-2>
  107. reserved_2a
  108. <legal 0>
  109. cache_controller_flush_status_hit
  110. The status that the cache controller returned for
  111. executing the flush command
  112. descriptor hit
  113. 1 = hit
  114. 0 = miss
  115. <legal all>
  116. cache_controller_flush_status_desc_type
  117. The status that the cache controller returned for
  118. executing the flush command
  119. Descriptor type
  120. FLOW_QUEUE_DESCRIPTOR                
  121. 3'd0
  122. <legal all>
  123. cache_controller_flush_status_client_id
  124. The status that the cache controller returned for
  125. executing the flush command
  126. client ID
  127. Module who made flush the request
  128. In REO, this is always set to 0
  129. <legal 0>
  130. cache_controller_flush_status_error
  131. The status that the cache controller returned for
  132. executing the flush command
  133. Error condition
  134. 2'b00: No error found
  135. 2'b01: HW IF still busy
  136. 2'b10: Line is currently locked. Used for the one line
  137. flush command.
  138. 2'b11: At least one line is currently still locked. Used
  139. for the cache flush command.
  140. <legal all>
  141. cache_controller_flush_count
  142. The number of lines that were actually flushed out.
  143. <legal all>
  144. reserved_2b
  145. <legal 0>
  146. reserved_3a
  147. <legal 0>
  148. reserved_4a
  149. <legal 0>
  150. reserved_5a
  151. <legal 0>
  152. reserved_6a
  153. <legal 0>
  154. reserved_7a
  155. <legal 0>
  156. reserved_8a
  157. <legal 0>
  158. reserved_9a
  159. <legal 0>
  160. reserved_10a
  161. <legal 0>
  162. reserved_11a
  163. <legal 0>
  164. reserved_12a
  165. <legal 0>
  166. reserved_13a
  167. <legal 0>
  168. reserved_14a
  169. <legal 0>
  170. reserved_15a
  171. <legal 0>
  172. reserved_16a
  173. <legal 0>
  174. reserved_17a
  175. <legal 0>
  176. reserved_18a
  177. <legal 0>
  178. reserved_19a
  179. <legal 0>
  180. reserved_20a
  181. <legal 0>
  182. reserved_21a
  183. <legal 0>
  184. reserved_22a
  185. <legal 0>
  186. reserved_23a
  187. <legal 0>
  188. reserved_24a
  189. <legal 0>
  190. looping_count
  191. A count value that indicates the number of times the
  192. producer of entries into this Ring has looped around the
  193. ring.
  194. At initialization time, this value is set to 0. On the
  195. first loop, this value is set to 1. After the max value is
  196. reached allowed by the number of bits for this field, the
  197. count value continues with 0 again.
  198. In case SW is the consumer of the ring entries, it can
  199. use this field to figure out up to where the producer of
  200. entries has created new entries. This eliminates the need to
  201. check where the head pointer' of the ring is located once
  202. the SW starts processing an interrupt indicating that new
  203. entries have been put into this ring...
  204. Also note that SW if it wants only needs to look at the
  205. LSB bit of this count value.
  206. <legal all>
  207. */
  208. /* EXTERNAL REFERENCE : struct uniform_reo_status_header status_header */
  209. /* Description REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER
  210. Consumer: SW , DEBUG
  211. Producer: REO
  212. The value in this field is equal to value of the
  213. 'REO_CMD_Number' field the REO command
  214. This field helps to correlate the statuses with the REO
  215. commands.
  216. <legal all>
  217. */
  218. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_OFFSET 0x00000000
  219. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_LSB 0
  220. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_MASK 0x0000ffff
  221. /* Description REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME
  222. Consumer: DEBUG
  223. Producer: REO
  224. The amount of time REO took to excecute the command.
  225. Note that this time does not include the duration of the
  226. command waiting in the command ring, before the execution
  227. started.
  228. In us.
  229. <legal all>
  230. */
  231. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_OFFSET 0x00000000
  232. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_LSB 16
  233. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_MASK 0x03ff0000
  234. /* Description REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS
  235. Consumer: DEBUG
  236. Producer: REO
  237. Execution status of the command.
  238. <enum 0 reo_successful_execution> Command has
  239. successfully be executed
  240. <enum 1 reo_blocked_execution> Command could not be
  241. executed as the queue or cache was blocked
  242. <enum 2 reo_failed_execution> Command has encountered
  243. problems when executing, like the queue descriptor not being
  244. valid. None of the status fields in the entire STATUS TLV
  245. are valid.
  246. <enum 3 reo_resource_blocked> Command is NOT executed
  247. because one or more descriptors were blocked. This is SW
  248. programming mistake.
  249. None of the status fields in the entire STATUS TLV are
  250. valid.
  251. <legal 0-3>
  252. */
  253. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
  254. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_LSB 26
  255. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
  256. /* Description REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A
  257. <legal 0>
  258. */
  259. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_OFFSET 0x00000000
  260. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_LSB 28
  261. #define REO_FLUSH_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_MASK 0xf0000000
  262. /* Description REO_FLUSH_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP
  263. Timestamp at the moment that this status report is
  264. written.
  265. <legal all>
  266. */
  267. #define REO_FLUSH_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_OFFSET 0x00000004
  268. #define REO_FLUSH_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_LSB 0
  269. #define REO_FLUSH_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_MASK 0xffffffff
  270. /* Description REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED
  271. Status for blocking resource handling
  272. 0: No error has been detected while executing this
  273. command
  274. 1: an error in the blocking resource management was
  275. detected
  276. See field 'Block_error_details'
  277. */
  278. #define REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED_OFFSET 0x00000008
  279. #define REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED_LSB 0
  280. #define REO_FLUSH_CACHE_STATUS_2_ERROR_DETECTED_MASK 0x00000001
  281. /* Description REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS
  282. Field only valid when 'Error_detected' is set.
  283. 0: no blocking related error found
  284. 1: blocking resource was already in use
  285. 2: resource that was asked to be unblocked, was not
  286. blocked
  287. <legal 0-2>
  288. */
  289. #define REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS_OFFSET 0x00000008
  290. #define REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS_LSB 1
  291. #define REO_FLUSH_CACHE_STATUS_2_BLOCK_ERROR_DETAILS_MASK 0x00000006
  292. /* Description REO_FLUSH_CACHE_STATUS_2_RESERVED_2A
  293. <legal 0>
  294. */
  295. #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2A_OFFSET 0x00000008
  296. #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2A_LSB 3
  297. #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2A_MASK 0x000000f8
  298. /* Description REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT
  299. The status that the cache controller returned for
  300. executing the flush command
  301. descriptor hit
  302. 1 = hit
  303. 0 = miss
  304. <legal all>
  305. */
  306. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT_OFFSET 0x00000008
  307. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT_LSB 8
  308. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_HIT_MASK 0x00000100
  309. /* Description REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE
  310. The status that the cache controller returned for
  311. executing the flush command
  312. Descriptor type
  313. FLOW_QUEUE_DESCRIPTOR                
  314. 3'd0
  315. <legal all>
  316. */
  317. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE_OFFSET 0x00000008
  318. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE_LSB 9
  319. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_DESC_TYPE_MASK 0x00000e00
  320. /* Description REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID
  321. The status that the cache controller returned for
  322. executing the flush command
  323. client ID
  324. Module who made flush the request
  325. In REO, this is always set to 0
  326. <legal 0>
  327. */
  328. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID_OFFSET 0x00000008
  329. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID_LSB 12
  330. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_CLIENT_ID_MASK 0x0000f000
  331. /* Description REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR
  332. The status that the cache controller returned for
  333. executing the flush command
  334. Error condition
  335. 2'b00: No error found
  336. 2'b01: HW IF still busy
  337. 2'b10: Line is currently locked. Used for the one line
  338. flush command.
  339. 2'b11: At least one line is currently still locked. Used
  340. for the cache flush command.
  341. <legal all>
  342. */
  343. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR_OFFSET 0x00000008
  344. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR_LSB 16
  345. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_STATUS_ERROR_MASK 0x00030000
  346. /* Description REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT
  347. The number of lines that were actually flushed out.
  348. <legal all>
  349. */
  350. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT_OFFSET 0x00000008
  351. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT_LSB 18
  352. #define REO_FLUSH_CACHE_STATUS_2_CACHE_CONTROLLER_FLUSH_COUNT_MASK 0x03fc0000
  353. /* Description REO_FLUSH_CACHE_STATUS_2_RESERVED_2B
  354. <legal 0>
  355. */
  356. #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2B_OFFSET 0x00000008
  357. #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2B_LSB 26
  358. #define REO_FLUSH_CACHE_STATUS_2_RESERVED_2B_MASK 0xfc000000
  359. /* Description REO_FLUSH_CACHE_STATUS_3_RESERVED_3A
  360. <legal 0>
  361. */
  362. #define REO_FLUSH_CACHE_STATUS_3_RESERVED_3A_OFFSET 0x0000000c
  363. #define REO_FLUSH_CACHE_STATUS_3_RESERVED_3A_LSB 0
  364. #define REO_FLUSH_CACHE_STATUS_3_RESERVED_3A_MASK 0xffffffff
  365. /* Description REO_FLUSH_CACHE_STATUS_4_RESERVED_4A
  366. <legal 0>
  367. */
  368. #define REO_FLUSH_CACHE_STATUS_4_RESERVED_4A_OFFSET 0x00000010
  369. #define REO_FLUSH_CACHE_STATUS_4_RESERVED_4A_LSB 0
  370. #define REO_FLUSH_CACHE_STATUS_4_RESERVED_4A_MASK 0xffffffff
  371. /* Description REO_FLUSH_CACHE_STATUS_5_RESERVED_5A
  372. <legal 0>
  373. */
  374. #define REO_FLUSH_CACHE_STATUS_5_RESERVED_5A_OFFSET 0x00000014
  375. #define REO_FLUSH_CACHE_STATUS_5_RESERVED_5A_LSB 0
  376. #define REO_FLUSH_CACHE_STATUS_5_RESERVED_5A_MASK 0xffffffff
  377. /* Description REO_FLUSH_CACHE_STATUS_6_RESERVED_6A
  378. <legal 0>
  379. */
  380. #define REO_FLUSH_CACHE_STATUS_6_RESERVED_6A_OFFSET 0x00000018
  381. #define REO_FLUSH_CACHE_STATUS_6_RESERVED_6A_LSB 0
  382. #define REO_FLUSH_CACHE_STATUS_6_RESERVED_6A_MASK 0xffffffff
  383. /* Description REO_FLUSH_CACHE_STATUS_7_RESERVED_7A
  384. <legal 0>
  385. */
  386. #define REO_FLUSH_CACHE_STATUS_7_RESERVED_7A_OFFSET 0x0000001c
  387. #define REO_FLUSH_CACHE_STATUS_7_RESERVED_7A_LSB 0
  388. #define REO_FLUSH_CACHE_STATUS_7_RESERVED_7A_MASK 0xffffffff
  389. /* Description REO_FLUSH_CACHE_STATUS_8_RESERVED_8A
  390. <legal 0>
  391. */
  392. #define REO_FLUSH_CACHE_STATUS_8_RESERVED_8A_OFFSET 0x00000020
  393. #define REO_FLUSH_CACHE_STATUS_8_RESERVED_8A_LSB 0
  394. #define REO_FLUSH_CACHE_STATUS_8_RESERVED_8A_MASK 0xffffffff
  395. /* Description REO_FLUSH_CACHE_STATUS_9_RESERVED_9A
  396. <legal 0>
  397. */
  398. #define REO_FLUSH_CACHE_STATUS_9_RESERVED_9A_OFFSET 0x00000024
  399. #define REO_FLUSH_CACHE_STATUS_9_RESERVED_9A_LSB 0
  400. #define REO_FLUSH_CACHE_STATUS_9_RESERVED_9A_MASK 0xffffffff
  401. /* Description REO_FLUSH_CACHE_STATUS_10_RESERVED_10A
  402. <legal 0>
  403. */
  404. #define REO_FLUSH_CACHE_STATUS_10_RESERVED_10A_OFFSET 0x00000028
  405. #define REO_FLUSH_CACHE_STATUS_10_RESERVED_10A_LSB 0
  406. #define REO_FLUSH_CACHE_STATUS_10_RESERVED_10A_MASK 0xffffffff
  407. /* Description REO_FLUSH_CACHE_STATUS_11_RESERVED_11A
  408. <legal 0>
  409. */
  410. #define REO_FLUSH_CACHE_STATUS_11_RESERVED_11A_OFFSET 0x0000002c
  411. #define REO_FLUSH_CACHE_STATUS_11_RESERVED_11A_LSB 0
  412. #define REO_FLUSH_CACHE_STATUS_11_RESERVED_11A_MASK 0xffffffff
  413. /* Description REO_FLUSH_CACHE_STATUS_12_RESERVED_12A
  414. <legal 0>
  415. */
  416. #define REO_FLUSH_CACHE_STATUS_12_RESERVED_12A_OFFSET 0x00000030
  417. #define REO_FLUSH_CACHE_STATUS_12_RESERVED_12A_LSB 0
  418. #define REO_FLUSH_CACHE_STATUS_12_RESERVED_12A_MASK 0xffffffff
  419. /* Description REO_FLUSH_CACHE_STATUS_13_RESERVED_13A
  420. <legal 0>
  421. */
  422. #define REO_FLUSH_CACHE_STATUS_13_RESERVED_13A_OFFSET 0x00000034
  423. #define REO_FLUSH_CACHE_STATUS_13_RESERVED_13A_LSB 0
  424. #define REO_FLUSH_CACHE_STATUS_13_RESERVED_13A_MASK 0xffffffff
  425. /* Description REO_FLUSH_CACHE_STATUS_14_RESERVED_14A
  426. <legal 0>
  427. */
  428. #define REO_FLUSH_CACHE_STATUS_14_RESERVED_14A_OFFSET 0x00000038
  429. #define REO_FLUSH_CACHE_STATUS_14_RESERVED_14A_LSB 0
  430. #define REO_FLUSH_CACHE_STATUS_14_RESERVED_14A_MASK 0xffffffff
  431. /* Description REO_FLUSH_CACHE_STATUS_15_RESERVED_15A
  432. <legal 0>
  433. */
  434. #define REO_FLUSH_CACHE_STATUS_15_RESERVED_15A_OFFSET 0x0000003c
  435. #define REO_FLUSH_CACHE_STATUS_15_RESERVED_15A_LSB 0
  436. #define REO_FLUSH_CACHE_STATUS_15_RESERVED_15A_MASK 0xffffffff
  437. /* Description REO_FLUSH_CACHE_STATUS_16_RESERVED_16A
  438. <legal 0>
  439. */
  440. #define REO_FLUSH_CACHE_STATUS_16_RESERVED_16A_OFFSET 0x00000040
  441. #define REO_FLUSH_CACHE_STATUS_16_RESERVED_16A_LSB 0
  442. #define REO_FLUSH_CACHE_STATUS_16_RESERVED_16A_MASK 0xffffffff
  443. /* Description REO_FLUSH_CACHE_STATUS_17_RESERVED_17A
  444. <legal 0>
  445. */
  446. #define REO_FLUSH_CACHE_STATUS_17_RESERVED_17A_OFFSET 0x00000044
  447. #define REO_FLUSH_CACHE_STATUS_17_RESERVED_17A_LSB 0
  448. #define REO_FLUSH_CACHE_STATUS_17_RESERVED_17A_MASK 0xffffffff
  449. /* Description REO_FLUSH_CACHE_STATUS_18_RESERVED_18A
  450. <legal 0>
  451. */
  452. #define REO_FLUSH_CACHE_STATUS_18_RESERVED_18A_OFFSET 0x00000048
  453. #define REO_FLUSH_CACHE_STATUS_18_RESERVED_18A_LSB 0
  454. #define REO_FLUSH_CACHE_STATUS_18_RESERVED_18A_MASK 0xffffffff
  455. /* Description REO_FLUSH_CACHE_STATUS_19_RESERVED_19A
  456. <legal 0>
  457. */
  458. #define REO_FLUSH_CACHE_STATUS_19_RESERVED_19A_OFFSET 0x0000004c
  459. #define REO_FLUSH_CACHE_STATUS_19_RESERVED_19A_LSB 0
  460. #define REO_FLUSH_CACHE_STATUS_19_RESERVED_19A_MASK 0xffffffff
  461. /* Description REO_FLUSH_CACHE_STATUS_20_RESERVED_20A
  462. <legal 0>
  463. */
  464. #define REO_FLUSH_CACHE_STATUS_20_RESERVED_20A_OFFSET 0x00000050
  465. #define REO_FLUSH_CACHE_STATUS_20_RESERVED_20A_LSB 0
  466. #define REO_FLUSH_CACHE_STATUS_20_RESERVED_20A_MASK 0xffffffff
  467. /* Description REO_FLUSH_CACHE_STATUS_21_RESERVED_21A
  468. <legal 0>
  469. */
  470. #define REO_FLUSH_CACHE_STATUS_21_RESERVED_21A_OFFSET 0x00000054
  471. #define REO_FLUSH_CACHE_STATUS_21_RESERVED_21A_LSB 0
  472. #define REO_FLUSH_CACHE_STATUS_21_RESERVED_21A_MASK 0xffffffff
  473. /* Description REO_FLUSH_CACHE_STATUS_22_RESERVED_22A
  474. <legal 0>
  475. */
  476. #define REO_FLUSH_CACHE_STATUS_22_RESERVED_22A_OFFSET 0x00000058
  477. #define REO_FLUSH_CACHE_STATUS_22_RESERVED_22A_LSB 0
  478. #define REO_FLUSH_CACHE_STATUS_22_RESERVED_22A_MASK 0xffffffff
  479. /* Description REO_FLUSH_CACHE_STATUS_23_RESERVED_23A
  480. <legal 0>
  481. */
  482. #define REO_FLUSH_CACHE_STATUS_23_RESERVED_23A_OFFSET 0x0000005c
  483. #define REO_FLUSH_CACHE_STATUS_23_RESERVED_23A_LSB 0
  484. #define REO_FLUSH_CACHE_STATUS_23_RESERVED_23A_MASK 0xffffffff
  485. /* Description REO_FLUSH_CACHE_STATUS_24_RESERVED_24A
  486. <legal 0>
  487. */
  488. #define REO_FLUSH_CACHE_STATUS_24_RESERVED_24A_OFFSET 0x00000060
  489. #define REO_FLUSH_CACHE_STATUS_24_RESERVED_24A_LSB 0
  490. #define REO_FLUSH_CACHE_STATUS_24_RESERVED_24A_MASK 0x0fffffff
  491. /* Description REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT
  492. A count value that indicates the number of times the
  493. producer of entries into this Ring has looped around the
  494. ring.
  495. At initialization time, this value is set to 0. On the
  496. first loop, this value is set to 1. After the max value is
  497. reached allowed by the number of bits for this field, the
  498. count value continues with 0 again.
  499. In case SW is the consumer of the ring entries, it can
  500. use this field to figure out up to where the producer of
  501. entries has created new entries. This eliminates the need to
  502. check where the head pointer' of the ring is located once
  503. the SW starts processing an interrupt indicating that new
  504. entries have been put into this ring...
  505. Also note that SW if it wants only needs to look at the
  506. LSB bit of this count value.
  507. <legal all>
  508. */
  509. #define REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT_OFFSET 0x00000060
  510. #define REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT_LSB 28
  511. #define REO_FLUSH_CACHE_STATUS_24_LOOPING_COUNT_MASK 0xf0000000
  512. #endif // _REO_FLUSH_CACHE_STATUS_H_