uniform_reo_status_header.h 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  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 _UNIFORM_REO_STATUS_HEADER_H_
  21. #define _UNIFORM_REO_STATUS_HEADER_H_
  22. #if !defined(__ASSEMBLER__)
  23. #endif
  24. // ################ START SUMMARY #################
  25. //
  26. // Dword Fields
  27. // 0 reo_status_number[15:0], cmd_execution_time[25:16], reo_cmd_execution_status[27:26], reserved_0a[31:28]
  28. // 1 timestamp[31:0]
  29. //
  30. // ################ END SUMMARY #################
  31. #define NUM_OF_DWORDS_UNIFORM_REO_STATUS_HEADER 2
  32. struct uniform_reo_status_header {
  33. uint32_t reo_status_number : 16, //[15:0]
  34. cmd_execution_time : 10, //[25:16]
  35. reo_cmd_execution_status : 2, //[27:26]
  36. reserved_0a : 4; //[31:28]
  37. uint32_t timestamp : 32; //[31:0]
  38. };
  39. /*
  40. reo_status_number
  41. Consumer: SW , DEBUG
  42. Producer: REO
  43. The value in this field is equal to value of the
  44. 'REO_CMD_Number' field the REO command
  45. This field helps to correlate the statuses with the REO
  46. commands.
  47. <legal all>
  48. cmd_execution_time
  49. Consumer: DEBUG
  50. Producer: REO
  51. The amount of time REO took to excecute the command.
  52. Note that this time does not include the duration of the
  53. command waiting in the command ring, before the execution
  54. started.
  55. In us.
  56. <legal all>
  57. reo_cmd_execution_status
  58. Consumer: DEBUG
  59. Producer: REO
  60. Execution status of the command.
  61. <enum 0 reo_successful_execution> Command has
  62. successfully be executed
  63. <enum 1 reo_blocked_execution> Command could not be
  64. executed as the queue or cache was blocked
  65. <enum 2 reo_failed_execution> Command has encountered
  66. problems when executing, like the queue descriptor not being
  67. valid. None of the status fields in the entire STATUS TLV
  68. are valid.
  69. <enum 3 reo_resource_blocked> Command is NOT executed
  70. because one or more descriptors were blocked. This is SW
  71. programming mistake.
  72. None of the status fields in the entire STATUS TLV are
  73. valid.
  74. <legal 0-3>
  75. reserved_0a
  76. <legal 0>
  77. timestamp
  78. Timestamp at the moment that this status report is
  79. written.
  80. <legal all>
  81. */
  82. /* Description UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER
  83. Consumer: SW , DEBUG
  84. Producer: REO
  85. The value in this field is equal to value of the
  86. 'REO_CMD_Number' field the REO command
  87. This field helps to correlate the statuses with the REO
  88. commands.
  89. <legal all>
  90. */
  91. #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_OFFSET 0x00000000
  92. #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_LSB 0
  93. #define UNIFORM_REO_STATUS_HEADER_0_REO_STATUS_NUMBER_MASK 0x0000ffff
  94. /* Description UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME
  95. Consumer: DEBUG
  96. Producer: REO
  97. The amount of time REO took to excecute the command.
  98. Note that this time does not include the duration of the
  99. command waiting in the command ring, before the execution
  100. started.
  101. In us.
  102. <legal all>
  103. */
  104. #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_OFFSET 0x00000000
  105. #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_LSB 16
  106. #define UNIFORM_REO_STATUS_HEADER_0_CMD_EXECUTION_TIME_MASK 0x03ff0000
  107. /* Description UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS
  108. Consumer: DEBUG
  109. Producer: REO
  110. Execution status of the command.
  111. <enum 0 reo_successful_execution> Command has
  112. successfully be executed
  113. <enum 1 reo_blocked_execution> Command could not be
  114. executed as the queue or cache was blocked
  115. <enum 2 reo_failed_execution> Command has encountered
  116. problems when executing, like the queue descriptor not being
  117. valid. None of the status fields in the entire STATUS TLV
  118. are valid.
  119. <enum 3 reo_resource_blocked> Command is NOT executed
  120. because one or more descriptors were blocked. This is SW
  121. programming mistake.
  122. None of the status fields in the entire STATUS TLV are
  123. valid.
  124. <legal 0-3>
  125. */
  126. #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_OFFSET 0x00000000
  127. #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_LSB 26
  128. #define UNIFORM_REO_STATUS_HEADER_0_REO_CMD_EXECUTION_STATUS_MASK 0x0c000000
  129. /* Description UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A
  130. <legal 0>
  131. */
  132. #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_OFFSET 0x00000000
  133. #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_LSB 28
  134. #define UNIFORM_REO_STATUS_HEADER_0_RESERVED_0A_MASK 0xf0000000
  135. /* Description UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP
  136. Timestamp at the moment that this status report is
  137. written.
  138. <legal all>
  139. */
  140. #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_OFFSET 0x00000004
  141. #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_LSB 0
  142. #define UNIFORM_REO_STATUS_HEADER_1_TIMESTAMP_MASK 0xffffffff
  143. #endif // _UNIFORM_REO_STATUS_HEADER_H_