llcc_events.h 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2017, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2022-2023 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef _SOC_QCOM_LLCC_EVENTS_H_
  7. #define _SOC_QCOM_LLCC_EVENTS_H_
  8. enum event_port_select {
  9. EVENT_PORT_FEAC,
  10. EVENT_PORT_FERC,
  11. EVENT_PORT_FEWC,
  12. EVENT_PORT_BEAC,
  13. EVENT_PORT_BERC,
  14. EVENT_PORT_TRP,
  15. EVENT_PORT_DRP,
  16. EVENT_PORT_PMGR,
  17. EVENT_PORT_BEAC1,
  18. EVENT_PORT_TENURE,
  19. EVENT_PORT_TLAT,
  20. };
  21. enum feac_events {
  22. FEAC_ANY_ACCESS,
  23. FEAC_READ_INCR,
  24. FEAC_WRITE_INCR,
  25. FEAC_WRITE_ORDERED,
  26. FEAC_READE_EXCL,
  27. FEAC_WRITE_EXCL,
  28. FEAC_CMO,
  29. FEAC_CMO_CLEAN,
  30. FEAC_CMO_INVAL,
  31. FEAC_CMO_CLEANINVAL,
  32. FEAC_CMO_DCPLD,
  33. FEAC_READ_NOALLOC,
  34. FEAC_WRITE_NOALLOC,
  35. FEAC_PREFETCH,
  36. FEAC_RD_BYTES,
  37. FEAC_RD_BEATS,
  38. FEAC_WR_BYTES,
  39. FEAC_WR_BEATS,
  40. FEAC_FC_READ,
  41. FEAC_EWD_ACCESS,
  42. FEAC_TCM_ACCESS,
  43. FEAC_GM_HIT,
  44. FEAC_GM_MISS,
  45. FEAC_GM_UNAVAILABLE,
  46. FEAC_XPU_ERROR,
  47. FEAC_READ_HAZARD,
  48. FEAC_WRITE_HAZARD,
  49. FEAC_GRANULE_READ,
  50. FEAC_GRANULE_WRITE,
  51. FEAC_RIFB_ALLOC,
  52. FEAC_WIFB_ALLOC,
  53. FEAC_RIFB_DEALLOC,
  54. FEAC_WIFB_DEALLOC,
  55. FEAC_RESERVED,
  56. FEAC_RESERVED1,
  57. FEAC_FEAC2TRP_LP_TX,
  58. FEAC_TRP_LP_BUSY,
  59. FEAC_FEAC2TRP_HP_TX,
  60. FEAC_TRP_HP_BUSY,
  61. FEAC_FEAC2FEWC_TX,
  62. FEAC_BEAC_LP_BUSY,
  63. FEAC_BEAC_HP_BUSY,
  64. FEAC_RIFB_FULL,
  65. FEAC_WIFB_FULL,
  66. FEAC_RD_CRDT_TX,
  67. FEAC_WR_CRDT_TX,
  68. FEAC_PROMOTION,
  69. FEAC_FEAC2TRP_LP_PRESSURE,
  70. FEAC_FEAC2TRP_HP_PRESSURE,
  71. FEAC_FEAC2FEWC_PRESSURE,
  72. FEAC_FEAC2BEAC_LP_PRESSURE,
  73. FEAC_FEAC2BEAC_HP_PRESSURE,
  74. FEAC_WR_THROUGH,
  75. };
  76. enum ferc_events {
  77. FERC_BERC_CMD,
  78. FERC_BERC_BEAT,
  79. FERC_DRP_CMD,
  80. FERC_DRP_BEAT,
  81. FERC_RD_CTRL_RSP_TX,
  82. FERC_WR_CTRL_RSP_TX,
  83. FERC_RD_DATA_TX,
  84. FERC_MISS_TRUMPS_HIT,
  85. FERC_HIT_TRUMPS_WRSP,
  86. FERC_RD_INTRA_RSP_IDLE,
  87. };
  88. enum fewc_events {
  89. FEWC_WR_CMD,
  90. FEWC_WR_DATA_BEAT,
  91. FEWC_WR_LAST,
  92. FEWC_WBUF_DEALLOC,
  93. FEWC_WR_HIT,
  94. FEWC_WR_MISS,
  95. FEWC_NC_RMW,
  96. FEWC_WR_DOWNGRADE,
  97. FEWC_BEAC_WR_CMD,
  98. FEWC_BEAC_WR_BEAT,
  99. FEWC_BEAC_RD_CMD,
  100. FEWC_BERC_FILL_BEAT,
  101. FEWC_DRP_WR_CMD,
  102. FEWC_DRP_WR_BEAT,
  103. FEWC_DRP_RD_BEAT,
  104. FEWC_TRP_TAG_LOOKUP,
  105. FEWC_TRP_TAG_UPDATE,
  106. FEWC_TRP_UNSTALL,
  107. FEWC_WBUFFS_FULL,
  108. FEWC_DRP_BUSY,
  109. FEWC_BEAC_WR_BUSY,
  110. FEWC_BEAC_RD_BUSY,
  111. FEWC_TRP_TAG_LOOKUP_BUSY,
  112. FEWC_TRP_TAG_UPDATE_BUSY,
  113. FEWC_C_RMW,
  114. FEWC_NC_ALLOC_RMW,
  115. FEWC_NC_NO_ALLOC_RMW,
  116. FEWC_NC_RMW_DEALLOC,
  117. FEWC_C_RMW_DEALLOC,
  118. FEWC_STALLED_BY_EVICT,
  119. };
  120. enum beac_events {
  121. BEAC_RD_TX,
  122. BEAC_WR_TX,
  123. BEAC_RD_GRANULE,
  124. BEAC_WR_GRANULE,
  125. BEAC_WR_BEAT_TX,
  126. BEAC_RD_CRDT_ZERO,
  127. BEAC_WR_CRDT_ZERO,
  128. BEAC_WDATA_CRDT_ZERO,
  129. BEAC_IFCMD_CRDT_ZERO,
  130. BEAC_IFWDATA_CRDT_ZERO,
  131. BEAC_PCT_ENTRY_ALLOC,
  132. BEAC_PCT_ENTRY_FREE,
  133. BEAC_PCT_FULL,
  134. BEAC_RD_PROMOTION_TX,
  135. BEAC_WR_PROMOTION_TX,
  136. BEAC_RD_PRESSURE_TX,
  137. BEAC_WR_PRESSURE_TX,
  138. };
  139. enum berc_events {
  140. BERC_RD_CMD,
  141. BERC_ERROR_CMD,
  142. BERC_PCT_ENTRY_DEALLOC,
  143. BERC_RD_RSP_RX,
  144. BERC_RD_RSP_BEAT_RX,
  145. BERC_RD_LA_RX,
  146. BERC_UNSTALL_RX,
  147. BERC_TX_RD_CMD,
  148. BERC_TX_ERR_CMD,
  149. BERC_TX_RD_BEAT,
  150. BERC_TX_ERR_BEAT,
  151. BERC_RESERVED,
  152. BERC_RESERVED1,
  153. BERC_CMO_RX,
  154. BERC_CMO_TX,
  155. BERC_DRP_WR_TX,
  156. BERC_DRP_WR_BEAT_TX,
  157. BERC_FEWC_WR_TX,
  158. BERC_FEWC_WR_BEAT_TX,
  159. BERC_LBUFFS_FULL,
  160. BERC_DRP_BUSY,
  161. BERC_FEWC_BUSY,
  162. BERC_LBUFF_STALLED,
  163. };
  164. enum trp_events {
  165. TRP_ANY_ACCESS,
  166. TRP_INCR_RD,
  167. TRP_INCR_WR,
  168. TRP_ANY_HIT,
  169. TRP_RD_HIT,
  170. TRP_WR_HIT,
  171. TRP_RD_MISS,
  172. TRP_WR_MISS,
  173. TRP_RD_HIT_MISS,
  174. TRP_WR_HIT_MISS,
  175. TRP_EVICT,
  176. TRP_GRANULE_EVICT,
  177. TRP_RD_EVICT,
  178. TRP_WR_EVICT,
  179. TRP_LINE_FILL,
  180. TRP_GRANULE_FILL,
  181. TRP_WSC_WRITE,
  182. TRP_WSC_EVICT,
  183. TRP_SUBCACHE_ACT,
  184. TRP_SUBCACHE_DEACT,
  185. TRP_RD_DEACTIVE_SUBCACHE,
  186. TRP_WR_DEACTIVE_SUBCACHE,
  187. TRP_INVALID_LINE_ALLOC,
  188. TRP_DEACTIVE_LINE_ALLOC,
  189. TRP_SELF_EVICTION_ALLOC,
  190. TRP_UC_SUBCACHE_ALLOC,
  191. TRP_FC_SELF_EVICTION_ALLOC,
  192. TRP_LP_SUBCACHE_VICTIM,
  193. TRP_OC_SUBCACHE_VICTIM,
  194. TRP_MRU_ROLLOVER,
  195. TRP_NC_DOWNGRADE,
  196. TRP_TAGRAM_CORR_ERR,
  197. TRP_TAGRAM_UNCORR_ERR,
  198. TRP_RD_MISS_FC,
  199. TRP_CPU_WRITE_EWD_LINE,
  200. TRP_CLIENT_WRITE_EWD_LINE,
  201. TRP_CLIENT_READ_EWD_LINE,
  202. TRP_CMO_I_EWD_LINE,
  203. TRP_CMO_I_DIRTY_LINE,
  204. TRP_DRP_RD_NOTIFICATION,
  205. TRP_DRP_WR_NOTIFICATION,
  206. TRP_LINEFILL_TAG_UPDATE,
  207. TRP_FEWC_TAG_UPDATE,
  208. TRP_ET_FULL,
  209. TRP_NAWT_FULL,
  210. TRP_HITQ_FULL,
  211. TRP_ET_ALLOC,
  212. TRP_ET_DEALLOC,
  213. TRP_NAWT_ALLOC,
  214. TRP_NAWT_DEALLOC,
  215. TRP_RD_REPLAY,
  216. TRP_WR_ECC_RD,
  217. TRP_ET_LP_FULL,
  218. TRP_ET_HP_FULL,
  219. TRP_SOEH,
  220. };
  221. enum drp_events {
  222. DRP_TRP_RD_NOTIFICATION,
  223. DRP_TRP_WR_NOTIFICATION,
  224. DRP_BIST_WR_NOTIFICATION,
  225. DRP_DRIE_WR_NOTIFICATION,
  226. DRP_ECC_CORR_ERR,
  227. DRP_ECC_UNCORR_ERR,
  228. DRP_FERC_RD_TX,
  229. DRP_FEWC_RD_TX,
  230. DRP_EVICT_LINE_TX,
  231. DRP_EVICT_GRANULE_TX,
  232. DRP_BIST_TX,
  233. DRP_FERC_RD_BEAT,
  234. DRP_FEWC_RD_BEAT,
  235. DRP_BIST_RD_BEAT,
  236. DRP_EVICT_RD_BEAT,
  237. DRP_BERC_WR_BEAT,
  238. DRP_FEWC_WR_BEAT,
  239. DRP_BIST_WR_BEAT,
  240. DRP_DRIE_WR_BEAT,
  241. DRP_BERC_UNSTALL,
  242. DRP_FEWC_UNSTALL,
  243. DRP_LB_RD,
  244. DRP_LB_WR,
  245. DRP_BANK_CONFLICT,
  246. DRP_FILL_TRUMPS_RD,
  247. DRP_RD_TRUMPS_WR,
  248. DRP_LB_SLP_RET,
  249. DRP_LB_SLP_NRET,
  250. DRP_LB_WAKEUP,
  251. DRP_TRP_EARLY_WAKEUP,
  252. DRP_PCB_IDLE,
  253. DRP_EVICT_RDFIFO_FULL,
  254. DRP_FEWC_RDFIFO_FULL,
  255. DRP_FERC_RDFIFO_FULL,
  256. DRP_FERC_RD,
  257. DRP_FEWC_RD,
  258. DRP_LINE_EVICT,
  259. DRP_GRANULE_EVICT,
  260. DRP_BIST_RD,
  261. DRP_FEWC_WR,
  262. DRP_LINE_FILL,
  263. DRP_GRANULE_FILL,
  264. DRP_BIST_WR,
  265. DRP_DRIE_WR,
  266. };
  267. enum pmgr_events {
  268. PMGR_Q_RUN_STATE,
  269. PMGR_Q_DENIED_STATE,
  270. PMGR_Q_STOPEED_TO_Q_RUN,
  271. PMGR_Q_RUN_TO_Q_FENCED,
  272. PMGR_Q_RUN_TO_Q_DENIED,
  273. PMGR_Q_DENIED_TO_Q_RUN,
  274. PMGR_Q_FENCED_TO_Q_STOPPED,
  275. PMGR_Q_FENCED_TO_Q_DENIED,
  276. };
  277. enum filter_type {
  278. UNKNOWN_FILTER,
  279. SCID,
  280. MID,
  281. PROFILING_TAG,
  282. WAY_ID,
  283. OPCODE,
  284. CACHEALLOC,
  285. MEMTAGOPS,
  286. MULTISCID,
  287. DIRTYINFO,
  288. ADDR_MASK
  289. };
  290. #endif /* _SOC_QCOM_LLCC_EVENTS_H_ */