reo_unblock_cache_status.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622
  1. /*
  2. * Copyright (c) 2021 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. // $ATH_LICENSE_HW_HDR_C$
  17. //
  18. // DO NOT EDIT! This file is automatically generated
  19. // These definitions are tied to a particular hardware layout
  20. #ifndef _REO_UNBLOCK_CACHE_STATUS_H_
  21. #define _REO_UNBLOCK_CACHE_STATUS_H_
  22. #if !defined(__ASSEMBLER__)
  23. #endif
  24. #include "uniform_reo_status_header.h"
  25. // ################ START SUMMARY #################
  26. //
  27. // Dword Fields
  28. // 0-1 struct uniform_reo_status_header status_header;
  29. // 2 error_detected[0], unblock_type[1], reserved_2a[31:2]
  30. // 3 reserved_3a[31:0]
  31. // 4 reserved_4a[31:0]
  32. // 5 reserved_5a[31:0]
  33. // 6 reserved_6a[31:0]
  34. // 7 reserved_7a[31:0]
  35. // 8 reserved_8a[31:0]
  36. // 9 reserved_9a[31:0]
  37. // 10 reserved_10a[31:0]
  38. // 11 reserved_11a[31:0]
  39. // 12 reserved_12a[31:0]
  40. // 13 reserved_13a[31:0]
  41. // 14 reserved_14a[31:0]
  42. // 15 reserved_15a[31:0]
  43. // 16 reserved_16a[31:0]
  44. // 17 reserved_17a[31:0]
  45. // 18 reserved_18a[31:0]
  46. // 19 reserved_19a[31:0]
  47. // 20 reserved_20a[31:0]
  48. // 21 reserved_21a[31:0]
  49. // 22 reserved_22a[31:0]
  50. // 23 reserved_23a[31:0]
  51. // 24 reserved_24a[27:0], looping_count[31:28]
  52. //
  53. // ################ END SUMMARY #################
  54. #define NUM_OF_DWORDS_REO_UNBLOCK_CACHE_STATUS 25
  55. struct reo_unblock_cache_status {
  56. struct uniform_reo_status_header status_header;
  57. uint32_t error_detected : 1, //[0]
  58. unblock_type : 1, //[1]
  59. reserved_2a : 30; //[31:2]
  60. uint32_t reserved_3a : 32; //[31:0]
  61. uint32_t reserved_4a : 32; //[31:0]
  62. uint32_t reserved_5a : 32; //[31:0]
  63. uint32_t reserved_6a : 32; //[31:0]
  64. uint32_t reserved_7a : 32; //[31:0]
  65. uint32_t reserved_8a : 32; //[31:0]
  66. uint32_t reserved_9a : 32; //[31:0]
  67. uint32_t reserved_10a : 32; //[31:0]
  68. uint32_t reserved_11a : 32; //[31:0]
  69. uint32_t reserved_12a : 32; //[31:0]
  70. uint32_t reserved_13a : 32; //[31:0]
  71. uint32_t reserved_14a : 32; //[31:0]
  72. uint32_t reserved_15a : 32; //[31:0]
  73. uint32_t reserved_16a : 32; //[31:0]
  74. uint32_t reserved_17a : 32; //[31:0]
  75. uint32_t reserved_18a : 32; //[31:0]
  76. uint32_t reserved_19a : 32; //[31:0]
  77. uint32_t reserved_20a : 32; //[31:0]
  78. uint32_t reserved_21a : 32; //[31:0]
  79. uint32_t reserved_22a : 32; //[31:0]
  80. uint32_t reserved_23a : 32; //[31:0]
  81. uint32_t reserved_24a : 28, //[27:0]
  82. looping_count : 4; //[31:28]
  83. };
  84. /*
  85. struct uniform_reo_status_header status_header
  86. Consumer: SW
  87. Producer: REO
  88. Details that can link this status with the original
  89. command. It also contains info on how long REO took to
  90. execute this command.
  91. error_detected
  92. Status for blocking resource handling
  93. 0: No error has been detected while executing this
  94. command
  95. 1: The blocking resource was not in use, and therefor it
  96. could not be 'unblocked'
  97. unblock_type
  98. Reference to the type of Unblock command type...
  99. <enum 0 unblock_resource_index> Unblock a blocking
  100. resource
  101. <enum 1 unblock_cache> The entire cache usage is
  102. unblock.
  103. <legal all>
  104. reserved_2a
  105. <legal 0>
  106. reserved_3a
  107. <legal 0>
  108. reserved_4a
  109. <legal 0>
  110. reserved_5a
  111. <legal 0>
  112. reserved_6a
  113. <legal 0>
  114. reserved_7a
  115. <legal 0>
  116. reserved_8a
  117. <legal 0>
  118. reserved_9a
  119. <legal 0>
  120. reserved_10a
  121. <legal 0>
  122. reserved_11a
  123. <legal 0>
  124. reserved_12a
  125. <legal 0>
  126. reserved_13a
  127. <legal 0>
  128. reserved_14a
  129. <legal 0>
  130. reserved_15a
  131. <legal 0>
  132. reserved_16a
  133. <legal 0>
  134. reserved_17a
  135. <legal 0>
  136. reserved_18a
  137. <legal 0>
  138. reserved_19a
  139. <legal 0>
  140. reserved_20a
  141. <legal 0>
  142. reserved_21a
  143. <legal 0>
  144. reserved_22a
  145. <legal 0>
  146. reserved_23a
  147. <legal 0>
  148. reserved_24a
  149. <legal 0>
  150. looping_count
  151. A count value that indicates the number of times the
  152. producer of entries into this Ring has looped around the
  153. ring.
  154. At initialization time, this value is set to 0. On the
  155. first loop, this value is set to 1. After the max value is
  156. reached allowed by the number of bits for this field, the
  157. count value continues with 0 again.
  158. In case SW is the consumer of the ring entries, it can
  159. use this field to figure out up to where the producer of
  160. entries has created new entries. This eliminates the need to
  161. check where the head pointer' of the ring is located once
  162. the SW starts processing an interrupt indicating that new
  163. entries have been put into this ring...
  164. Also note that SW if it wants only needs to look at the
  165. LSB bit of this count value.
  166. <legal all>
  167. */
  168. /* EXTERNAL REFERENCE : struct uniform_reo_status_header status_header */
  169. /* Description REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER
  170. Consumer: SW , DEBUG
  171. Producer: REO
  172. The value in this field is equal to value of the
  173. 'REO_CMD_Number' field the REO command
  174. This field helps to correlate the statuses with the REO
  175. commands.
  176. <legal all>
  177. */
  178. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_OFFSET 0x00000000
  179. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_LSB 0
  180. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_STATUS_NUMBER_MASK 0x0000ffff
  181. /* Description REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME
  182. Consumer: DEBUG
  183. Producer: REO
  184. The amount of time REO took to excecute the command.
  185. Note that this time does not include the duration of the
  186. command waiting in the command ring, before the execution
  187. started.
  188. In us.
  189. <legal all>
  190. */
  191. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_OFFSET 0x00000000
  192. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_LSB 16
  193. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_CMD_EXECUTION_TIME_MASK 0x03ff0000
  194. /* Description REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS
  195. Consumer: DEBUG
  196. Producer: REO
  197. Execution status of the command.
  198. <enum 0 reo_successful_execution> Command has
  199. successfully be executed
  200. <enum 1 reo_blocked_execution> Command could not be
  201. executed as the queue or cache was blocked
  202. <enum 2 reo_failed_execution> Command has encountered
  203. problems when executing, like the queue descriptor not being
  204. valid. None of the status fields in the entire STATUS TLV
  205. are valid.
  206. <enum 3 reo_resource_blocked> Command is NOT executed
  207. because one or more descriptors were blocked. This is SW
  208. programming mistake.
  209. None of the status fields in the entire STATUS TLV are
  210. valid.
  211. <legal 0-3>
  212. */
  213. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
  214. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_LSB 26
  215. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
  216. /* Description REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A
  217. <legal 0>
  218. */
  219. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_OFFSET 0x00000000
  220. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_LSB 28
  221. #define REO_UNBLOCK_CACHE_STATUS_0_STATUS_HEADER_RESERVED_0A_MASK 0xf0000000
  222. /* Description REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP
  223. Timestamp at the moment that this status report is
  224. written.
  225. <legal all>
  226. */
  227. #define REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_OFFSET 0x00000004
  228. #define REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_LSB 0
  229. #define REO_UNBLOCK_CACHE_STATUS_1_STATUS_HEADER_TIMESTAMP_MASK 0xffffffff
  230. /* Description REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED
  231. Status for blocking resource handling
  232. 0: No error has been detected while executing this
  233. command
  234. 1: The blocking resource was not in use, and therefor it
  235. could not be 'unblocked'
  236. */
  237. #define REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED_OFFSET 0x00000008
  238. #define REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED_LSB 0
  239. #define REO_UNBLOCK_CACHE_STATUS_2_ERROR_DETECTED_MASK 0x00000001
  240. /* Description REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE
  241. Reference to the type of Unblock command type...
  242. <enum 0 unblock_resource_index> Unblock a blocking
  243. resource
  244. <enum 1 unblock_cache> The entire cache usage is
  245. unblock.
  246. <legal all>
  247. */
  248. #define REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE_OFFSET 0x00000008
  249. #define REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE_LSB 1
  250. #define REO_UNBLOCK_CACHE_STATUS_2_UNBLOCK_TYPE_MASK 0x00000002
  251. /* Description REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A
  252. <legal 0>
  253. */
  254. #define REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A_OFFSET 0x00000008
  255. #define REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A_LSB 2
  256. #define REO_UNBLOCK_CACHE_STATUS_2_RESERVED_2A_MASK 0xfffffffc
  257. /* Description REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A
  258. <legal 0>
  259. */
  260. #define REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A_OFFSET 0x0000000c
  261. #define REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A_LSB 0
  262. #define REO_UNBLOCK_CACHE_STATUS_3_RESERVED_3A_MASK 0xffffffff
  263. /* Description REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A
  264. <legal 0>
  265. */
  266. #define REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A_OFFSET 0x00000010
  267. #define REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A_LSB 0
  268. #define REO_UNBLOCK_CACHE_STATUS_4_RESERVED_4A_MASK 0xffffffff
  269. /* Description REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A
  270. <legal 0>
  271. */
  272. #define REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A_OFFSET 0x00000014
  273. #define REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A_LSB 0
  274. #define REO_UNBLOCK_CACHE_STATUS_5_RESERVED_5A_MASK 0xffffffff
  275. /* Description REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A
  276. <legal 0>
  277. */
  278. #define REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A_OFFSET 0x00000018
  279. #define REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A_LSB 0
  280. #define REO_UNBLOCK_CACHE_STATUS_6_RESERVED_6A_MASK 0xffffffff
  281. /* Description REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A
  282. <legal 0>
  283. */
  284. #define REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A_OFFSET 0x0000001c
  285. #define REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A_LSB 0
  286. #define REO_UNBLOCK_CACHE_STATUS_7_RESERVED_7A_MASK 0xffffffff
  287. /* Description REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A
  288. <legal 0>
  289. */
  290. #define REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A_OFFSET 0x00000020
  291. #define REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A_LSB 0
  292. #define REO_UNBLOCK_CACHE_STATUS_8_RESERVED_8A_MASK 0xffffffff
  293. /* Description REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A
  294. <legal 0>
  295. */
  296. #define REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A_OFFSET 0x00000024
  297. #define REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A_LSB 0
  298. #define REO_UNBLOCK_CACHE_STATUS_9_RESERVED_9A_MASK 0xffffffff
  299. /* Description REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A
  300. <legal 0>
  301. */
  302. #define REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A_OFFSET 0x00000028
  303. #define REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A_LSB 0
  304. #define REO_UNBLOCK_CACHE_STATUS_10_RESERVED_10A_MASK 0xffffffff
  305. /* Description REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A
  306. <legal 0>
  307. */
  308. #define REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A_OFFSET 0x0000002c
  309. #define REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A_LSB 0
  310. #define REO_UNBLOCK_CACHE_STATUS_11_RESERVED_11A_MASK 0xffffffff
  311. /* Description REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A
  312. <legal 0>
  313. */
  314. #define REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A_OFFSET 0x00000030
  315. #define REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A_LSB 0
  316. #define REO_UNBLOCK_CACHE_STATUS_12_RESERVED_12A_MASK 0xffffffff
  317. /* Description REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A
  318. <legal 0>
  319. */
  320. #define REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A_OFFSET 0x00000034
  321. #define REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A_LSB 0
  322. #define REO_UNBLOCK_CACHE_STATUS_13_RESERVED_13A_MASK 0xffffffff
  323. /* Description REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A
  324. <legal 0>
  325. */
  326. #define REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A_OFFSET 0x00000038
  327. #define REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A_LSB 0
  328. #define REO_UNBLOCK_CACHE_STATUS_14_RESERVED_14A_MASK 0xffffffff
  329. /* Description REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A
  330. <legal 0>
  331. */
  332. #define REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A_OFFSET 0x0000003c
  333. #define REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A_LSB 0
  334. #define REO_UNBLOCK_CACHE_STATUS_15_RESERVED_15A_MASK 0xffffffff
  335. /* Description REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A
  336. <legal 0>
  337. */
  338. #define REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A_OFFSET 0x00000040
  339. #define REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A_LSB 0
  340. #define REO_UNBLOCK_CACHE_STATUS_16_RESERVED_16A_MASK 0xffffffff
  341. /* Description REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A
  342. <legal 0>
  343. */
  344. #define REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A_OFFSET 0x00000044
  345. #define REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A_LSB 0
  346. #define REO_UNBLOCK_CACHE_STATUS_17_RESERVED_17A_MASK 0xffffffff
  347. /* Description REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A
  348. <legal 0>
  349. */
  350. #define REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A_OFFSET 0x00000048
  351. #define REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A_LSB 0
  352. #define REO_UNBLOCK_CACHE_STATUS_18_RESERVED_18A_MASK 0xffffffff
  353. /* Description REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A
  354. <legal 0>
  355. */
  356. #define REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A_OFFSET 0x0000004c
  357. #define REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A_LSB 0
  358. #define REO_UNBLOCK_CACHE_STATUS_19_RESERVED_19A_MASK 0xffffffff
  359. /* Description REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A
  360. <legal 0>
  361. */
  362. #define REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A_OFFSET 0x00000050
  363. #define REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A_LSB 0
  364. #define REO_UNBLOCK_CACHE_STATUS_20_RESERVED_20A_MASK 0xffffffff
  365. /* Description REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A
  366. <legal 0>
  367. */
  368. #define REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A_OFFSET 0x00000054
  369. #define REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A_LSB 0
  370. #define REO_UNBLOCK_CACHE_STATUS_21_RESERVED_21A_MASK 0xffffffff
  371. /* Description REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A
  372. <legal 0>
  373. */
  374. #define REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A_OFFSET 0x00000058
  375. #define REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A_LSB 0
  376. #define REO_UNBLOCK_CACHE_STATUS_22_RESERVED_22A_MASK 0xffffffff
  377. /* Description REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A
  378. <legal 0>
  379. */
  380. #define REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A_OFFSET 0x0000005c
  381. #define REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A_LSB 0
  382. #define REO_UNBLOCK_CACHE_STATUS_23_RESERVED_23A_MASK 0xffffffff
  383. /* Description REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A
  384. <legal 0>
  385. */
  386. #define REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A_OFFSET 0x00000060
  387. #define REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A_LSB 0
  388. #define REO_UNBLOCK_CACHE_STATUS_24_RESERVED_24A_MASK 0x0fffffff
  389. /* Description REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT
  390. A count value that indicates the number of times the
  391. producer of entries into this Ring has looped around the
  392. ring.
  393. At initialization time, this value is set to 0. On the
  394. first loop, this value is set to 1. After the max value is
  395. reached allowed by the number of bits for this field, the
  396. count value continues with 0 again.
  397. In case SW is the consumer of the ring entries, it can
  398. use this field to figure out up to where the producer of
  399. entries has created new entries. This eliminates the need to
  400. check where the head pointer' of the ring is located once
  401. the SW starts processing an interrupt indicating that new
  402. entries have been put into this ring...
  403. Also note that SW if it wants only needs to look at the
  404. LSB bit of this count value.
  405. <legal all>
  406. */
  407. #define REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT_OFFSET 0x00000060
  408. #define REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT_LSB 28
  409. #define REO_UNBLOCK_CACHE_STATUS_24_LOOPING_COUNT_MASK 0xf0000000
  410. #endif // _REO_UNBLOCK_CACHE_STATUS_H_