cros_ec_trace.c 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. // SPDX-License-Identifier: GPL-2.0
  2. // Trace events for the ChromeOS Embedded Controller
  3. //
  4. // Copyright 2019 Google LLC.
  5. #define TRACE_SYMBOL(a) {a, #a}
  6. // Generate the list using the following script:
  7. // sed -n 's/^#define \(EC_CMD_[[:alnum:]_]*\)\s.*/\tTRACE_SYMBOL(\1), \\/p' include/linux/platform_data/cros_ec_commands.h
  8. #define EC_CMDS \
  9. TRACE_SYMBOL(EC_CMD_ACPI_READ), \
  10. TRACE_SYMBOL(EC_CMD_ACPI_WRITE), \
  11. TRACE_SYMBOL(EC_CMD_ACPI_BURST_ENABLE), \
  12. TRACE_SYMBOL(EC_CMD_ACPI_BURST_DISABLE), \
  13. TRACE_SYMBOL(EC_CMD_ACPI_QUERY_EVENT), \
  14. TRACE_SYMBOL(EC_CMD_PROTO_VERSION), \
  15. TRACE_SYMBOL(EC_CMD_HELLO), \
  16. TRACE_SYMBOL(EC_CMD_GET_VERSION), \
  17. TRACE_SYMBOL(EC_CMD_READ_TEST), \
  18. TRACE_SYMBOL(EC_CMD_GET_BUILD_INFO), \
  19. TRACE_SYMBOL(EC_CMD_GET_CHIP_INFO), \
  20. TRACE_SYMBOL(EC_CMD_GET_BOARD_VERSION), \
  21. TRACE_SYMBOL(EC_CMD_READ_MEMMAP), \
  22. TRACE_SYMBOL(EC_CMD_GET_CMD_VERSIONS), \
  23. TRACE_SYMBOL(EC_CMD_GET_COMMS_STATUS), \
  24. TRACE_SYMBOL(EC_CMD_TEST_PROTOCOL), \
  25. TRACE_SYMBOL(EC_CMD_GET_PROTOCOL_INFO), \
  26. TRACE_SYMBOL(EC_CMD_GSV_PAUSE_IN_S5), \
  27. TRACE_SYMBOL(EC_CMD_GET_FEATURES), \
  28. TRACE_SYMBOL(EC_CMD_GET_SKU_ID), \
  29. TRACE_SYMBOL(EC_CMD_SET_SKU_ID), \
  30. TRACE_SYMBOL(EC_CMD_FLASH_INFO), \
  31. TRACE_SYMBOL(EC_CMD_FLASH_READ), \
  32. TRACE_SYMBOL(EC_CMD_FLASH_WRITE), \
  33. TRACE_SYMBOL(EC_CMD_FLASH_ERASE), \
  34. TRACE_SYMBOL(EC_CMD_FLASH_PROTECT), \
  35. TRACE_SYMBOL(EC_CMD_FLASH_REGION_INFO), \
  36. TRACE_SYMBOL(EC_CMD_VBNV_CONTEXT), \
  37. TRACE_SYMBOL(EC_CMD_FLASH_SPI_INFO), \
  38. TRACE_SYMBOL(EC_CMD_FLASH_SELECT), \
  39. TRACE_SYMBOL(EC_CMD_PWM_GET_FAN_TARGET_RPM), \
  40. TRACE_SYMBOL(EC_CMD_PWM_SET_FAN_TARGET_RPM), \
  41. TRACE_SYMBOL(EC_CMD_PWM_GET_KEYBOARD_BACKLIGHT), \
  42. TRACE_SYMBOL(EC_CMD_PWM_SET_KEYBOARD_BACKLIGHT), \
  43. TRACE_SYMBOL(EC_CMD_PWM_SET_FAN_DUTY), \
  44. TRACE_SYMBOL(EC_CMD_PWM_SET_DUTY), \
  45. TRACE_SYMBOL(EC_CMD_PWM_GET_DUTY), \
  46. TRACE_SYMBOL(EC_CMD_LIGHTBAR_CMD), \
  47. TRACE_SYMBOL(EC_CMD_LED_CONTROL), \
  48. TRACE_SYMBOL(EC_CMD_VBOOT_HASH), \
  49. TRACE_SYMBOL(EC_CMD_MOTION_SENSE_CMD), \
  50. TRACE_SYMBOL(EC_CMD_FORCE_LID_OPEN), \
  51. TRACE_SYMBOL(EC_CMD_CONFIG_POWER_BUTTON), \
  52. TRACE_SYMBOL(EC_CMD_USB_CHARGE_SET_MODE), \
  53. TRACE_SYMBOL(EC_CMD_PSTORE_INFO), \
  54. TRACE_SYMBOL(EC_CMD_PSTORE_READ), \
  55. TRACE_SYMBOL(EC_CMD_PSTORE_WRITE), \
  56. TRACE_SYMBOL(EC_CMD_RTC_GET_VALUE), \
  57. TRACE_SYMBOL(EC_CMD_RTC_GET_ALARM), \
  58. TRACE_SYMBOL(EC_CMD_RTC_SET_VALUE), \
  59. TRACE_SYMBOL(EC_CMD_RTC_SET_ALARM), \
  60. TRACE_SYMBOL(EC_CMD_PORT80_LAST_BOOT), \
  61. TRACE_SYMBOL(EC_CMD_PORT80_READ), \
  62. TRACE_SYMBOL(EC_CMD_VSTORE_INFO), \
  63. TRACE_SYMBOL(EC_CMD_VSTORE_READ), \
  64. TRACE_SYMBOL(EC_CMD_VSTORE_WRITE), \
  65. TRACE_SYMBOL(EC_CMD_THERMAL_SET_THRESHOLD), \
  66. TRACE_SYMBOL(EC_CMD_THERMAL_GET_THRESHOLD), \
  67. TRACE_SYMBOL(EC_CMD_THERMAL_AUTO_FAN_CTRL), \
  68. TRACE_SYMBOL(EC_CMD_TMP006_GET_CALIBRATION), \
  69. TRACE_SYMBOL(EC_CMD_TMP006_SET_CALIBRATION), \
  70. TRACE_SYMBOL(EC_CMD_TMP006_GET_RAW), \
  71. TRACE_SYMBOL(EC_CMD_MKBP_STATE), \
  72. TRACE_SYMBOL(EC_CMD_MKBP_INFO), \
  73. TRACE_SYMBOL(EC_CMD_MKBP_SIMULATE_KEY), \
  74. TRACE_SYMBOL(EC_CMD_GET_KEYBOARD_ID), \
  75. TRACE_SYMBOL(EC_CMD_MKBP_SET_CONFIG), \
  76. TRACE_SYMBOL(EC_CMD_MKBP_GET_CONFIG), \
  77. TRACE_SYMBOL(EC_CMD_KEYSCAN_SEQ_CTRL), \
  78. TRACE_SYMBOL(EC_CMD_GET_NEXT_EVENT), \
  79. TRACE_SYMBOL(EC_CMD_KEYBOARD_FACTORY_TEST), \
  80. TRACE_SYMBOL(EC_CMD_TEMP_SENSOR_GET_INFO), \
  81. TRACE_SYMBOL(EC_CMD_HOST_EVENT_GET_B), \
  82. TRACE_SYMBOL(EC_CMD_HOST_EVENT_GET_SMI_MASK), \
  83. TRACE_SYMBOL(EC_CMD_HOST_EVENT_GET_SCI_MASK), \
  84. TRACE_SYMBOL(EC_CMD_HOST_EVENT_GET_WAKE_MASK), \
  85. TRACE_SYMBOL(EC_CMD_HOST_EVENT_SET_SMI_MASK), \
  86. TRACE_SYMBOL(EC_CMD_HOST_EVENT_SET_SCI_MASK), \
  87. TRACE_SYMBOL(EC_CMD_HOST_EVENT_CLEAR), \
  88. TRACE_SYMBOL(EC_CMD_HOST_EVENT_SET_WAKE_MASK), \
  89. TRACE_SYMBOL(EC_CMD_HOST_EVENT_CLEAR_B), \
  90. TRACE_SYMBOL(EC_CMD_HOST_EVENT), \
  91. TRACE_SYMBOL(EC_CMD_SWITCH_ENABLE_BKLIGHT), \
  92. TRACE_SYMBOL(EC_CMD_SWITCH_ENABLE_WIRELESS), \
  93. TRACE_SYMBOL(EC_CMD_GPIO_SET), \
  94. TRACE_SYMBOL(EC_CMD_GPIO_GET), \
  95. TRACE_SYMBOL(EC_CMD_I2C_READ), \
  96. TRACE_SYMBOL(EC_CMD_I2C_WRITE), \
  97. TRACE_SYMBOL(EC_CMD_CHARGE_CONTROL), \
  98. TRACE_SYMBOL(EC_CMD_CONSOLE_SNAPSHOT), \
  99. TRACE_SYMBOL(EC_CMD_CONSOLE_READ), \
  100. TRACE_SYMBOL(EC_CMD_BATTERY_CUT_OFF), \
  101. TRACE_SYMBOL(EC_CMD_USB_MUX), \
  102. TRACE_SYMBOL(EC_CMD_LDO_SET), \
  103. TRACE_SYMBOL(EC_CMD_LDO_GET), \
  104. TRACE_SYMBOL(EC_CMD_POWER_INFO), \
  105. TRACE_SYMBOL(EC_CMD_I2C_PASSTHRU), \
  106. TRACE_SYMBOL(EC_CMD_HANG_DETECT), \
  107. TRACE_SYMBOL(EC_CMD_CHARGE_STATE), \
  108. TRACE_SYMBOL(EC_CMD_CHARGE_CURRENT_LIMIT), \
  109. TRACE_SYMBOL(EC_CMD_EXTERNAL_POWER_LIMIT), \
  110. TRACE_SYMBOL(EC_CMD_OVERRIDE_DEDICATED_CHARGER_LIMIT), \
  111. TRACE_SYMBOL(EC_CMD_HIBERNATION_DELAY), \
  112. TRACE_SYMBOL(EC_CMD_HOST_SLEEP_EVENT), \
  113. TRACE_SYMBOL(EC_CMD_DEVICE_EVENT), \
  114. TRACE_SYMBOL(EC_CMD_SB_READ_WORD), \
  115. TRACE_SYMBOL(EC_CMD_SB_WRITE_WORD), \
  116. TRACE_SYMBOL(EC_CMD_SB_READ_BLOCK), \
  117. TRACE_SYMBOL(EC_CMD_SB_WRITE_BLOCK), \
  118. TRACE_SYMBOL(EC_CMD_BATTERY_VENDOR_PARAM), \
  119. TRACE_SYMBOL(EC_CMD_SB_FW_UPDATE), \
  120. TRACE_SYMBOL(EC_CMD_ENTERING_MODE), \
  121. TRACE_SYMBOL(EC_CMD_I2C_PASSTHRU_PROTECT), \
  122. TRACE_SYMBOL(EC_CMD_CEC_WRITE_MSG), \
  123. TRACE_SYMBOL(EC_CMD_CEC_SET), \
  124. TRACE_SYMBOL(EC_CMD_CEC_GET), \
  125. TRACE_SYMBOL(EC_CMD_EC_CODEC), \
  126. TRACE_SYMBOL(EC_CMD_EC_CODEC_DMIC), \
  127. TRACE_SYMBOL(EC_CMD_EC_CODEC_I2S_RX), \
  128. TRACE_SYMBOL(EC_CMD_EC_CODEC_WOV), \
  129. TRACE_SYMBOL(EC_CMD_REBOOT_EC), \
  130. TRACE_SYMBOL(EC_CMD_GET_PANIC_INFO), \
  131. TRACE_SYMBOL(EC_CMD_REBOOT), \
  132. TRACE_SYMBOL(EC_CMD_RESEND_RESPONSE), \
  133. TRACE_SYMBOL(EC_CMD_VERSION0), \
  134. TRACE_SYMBOL(EC_CMD_PD_EXCHANGE_STATUS), \
  135. TRACE_SYMBOL(EC_CMD_PD_HOST_EVENT_STATUS), \
  136. TRACE_SYMBOL(EC_CMD_USB_PD_CONTROL), \
  137. TRACE_SYMBOL(EC_CMD_USB_PD_PORTS), \
  138. TRACE_SYMBOL(EC_CMD_USB_PD_POWER_INFO), \
  139. TRACE_SYMBOL(EC_CMD_CHARGE_PORT_COUNT), \
  140. TRACE_SYMBOL(EC_CMD_USB_PD_FW_UPDATE), \
  141. TRACE_SYMBOL(EC_CMD_USB_PD_RW_HASH_ENTRY), \
  142. TRACE_SYMBOL(EC_CMD_USB_PD_DEV_INFO), \
  143. TRACE_SYMBOL(EC_CMD_USB_PD_DISCOVERY), \
  144. TRACE_SYMBOL(EC_CMD_PD_CHARGE_PORT_OVERRIDE), \
  145. TRACE_SYMBOL(EC_CMD_PD_GET_LOG_ENTRY), \
  146. TRACE_SYMBOL(EC_CMD_USB_PD_GET_AMODE), \
  147. TRACE_SYMBOL(EC_CMD_USB_PD_SET_AMODE), \
  148. TRACE_SYMBOL(EC_CMD_PD_WRITE_LOG_ENTRY), \
  149. TRACE_SYMBOL(EC_CMD_PD_CONTROL), \
  150. TRACE_SYMBOL(EC_CMD_USB_PD_MUX_INFO), \
  151. TRACE_SYMBOL(EC_CMD_PD_CHIP_INFO), \
  152. TRACE_SYMBOL(EC_CMD_RWSIG_CHECK_STATUS), \
  153. TRACE_SYMBOL(EC_CMD_RWSIG_ACTION), \
  154. TRACE_SYMBOL(EC_CMD_EFS_VERIFY), \
  155. TRACE_SYMBOL(EC_CMD_GET_CROS_BOARD_INFO), \
  156. TRACE_SYMBOL(EC_CMD_SET_CROS_BOARD_INFO), \
  157. TRACE_SYMBOL(EC_CMD_GET_UPTIME_INFO), \
  158. TRACE_SYMBOL(EC_CMD_ADD_ENTROPY), \
  159. TRACE_SYMBOL(EC_CMD_ADC_READ), \
  160. TRACE_SYMBOL(EC_CMD_ROLLBACK_INFO), \
  161. TRACE_SYMBOL(EC_CMD_AP_RESET), \
  162. TRACE_SYMBOL(EC_CMD_REGULATOR_GET_INFO), \
  163. TRACE_SYMBOL(EC_CMD_REGULATOR_ENABLE), \
  164. TRACE_SYMBOL(EC_CMD_REGULATOR_IS_ENABLED), \
  165. TRACE_SYMBOL(EC_CMD_REGULATOR_SET_VOLTAGE), \
  166. TRACE_SYMBOL(EC_CMD_REGULATOR_GET_VOLTAGE), \
  167. TRACE_SYMBOL(EC_CMD_CR51_BASE), \
  168. TRACE_SYMBOL(EC_CMD_CR51_LAST), \
  169. TRACE_SYMBOL(EC_CMD_FP_PASSTHRU), \
  170. TRACE_SYMBOL(EC_CMD_FP_MODE), \
  171. TRACE_SYMBOL(EC_CMD_FP_INFO), \
  172. TRACE_SYMBOL(EC_CMD_FP_FRAME), \
  173. TRACE_SYMBOL(EC_CMD_FP_TEMPLATE), \
  174. TRACE_SYMBOL(EC_CMD_FP_CONTEXT), \
  175. TRACE_SYMBOL(EC_CMD_FP_STATS), \
  176. TRACE_SYMBOL(EC_CMD_FP_SEED), \
  177. TRACE_SYMBOL(EC_CMD_FP_ENC_STATUS), \
  178. TRACE_SYMBOL(EC_CMD_TP_SELF_TEST), \
  179. TRACE_SYMBOL(EC_CMD_TP_FRAME_INFO), \
  180. TRACE_SYMBOL(EC_CMD_TP_FRAME_SNAPSHOT), \
  181. TRACE_SYMBOL(EC_CMD_TP_FRAME_GET), \
  182. TRACE_SYMBOL(EC_CMD_BATTERY_GET_STATIC), \
  183. TRACE_SYMBOL(EC_CMD_BATTERY_GET_DYNAMIC), \
  184. TRACE_SYMBOL(EC_CMD_CHARGER_CONTROL), \
  185. TRACE_SYMBOL(EC_CMD_BOARD_SPECIFIC_BASE), \
  186. TRACE_SYMBOL(EC_CMD_BOARD_SPECIFIC_LAST)
  187. /* See the enum ec_status in include/linux/platform_data/cros_ec_commands.h */
  188. #define EC_RESULT \
  189. TRACE_SYMBOL(EC_RES_SUCCESS), \
  190. TRACE_SYMBOL(EC_RES_INVALID_COMMAND), \
  191. TRACE_SYMBOL(EC_RES_ERROR), \
  192. TRACE_SYMBOL(EC_RES_INVALID_PARAM), \
  193. TRACE_SYMBOL(EC_RES_ACCESS_DENIED), \
  194. TRACE_SYMBOL(EC_RES_INVALID_RESPONSE), \
  195. TRACE_SYMBOL(EC_RES_INVALID_VERSION), \
  196. TRACE_SYMBOL(EC_RES_INVALID_CHECKSUM), \
  197. TRACE_SYMBOL(EC_RES_IN_PROGRESS), \
  198. TRACE_SYMBOL(EC_RES_UNAVAILABLE), \
  199. TRACE_SYMBOL(EC_RES_TIMEOUT), \
  200. TRACE_SYMBOL(EC_RES_OVERFLOW), \
  201. TRACE_SYMBOL(EC_RES_INVALID_HEADER), \
  202. TRACE_SYMBOL(EC_RES_REQUEST_TRUNCATED), \
  203. TRACE_SYMBOL(EC_RES_RESPONSE_TOO_BIG), \
  204. TRACE_SYMBOL(EC_RES_BUS_ERROR), \
  205. TRACE_SYMBOL(EC_RES_BUSY), \
  206. TRACE_SYMBOL(EC_RES_INVALID_HEADER_VERSION), \
  207. TRACE_SYMBOL(EC_RES_INVALID_HEADER_CRC), \
  208. TRACE_SYMBOL(EC_RES_INVALID_DATA_CRC), \
  209. TRACE_SYMBOL(EC_RES_DUP_UNAVAILABLE)
  210. #define CREATE_TRACE_POINTS
  211. #include "cros_ec_trace.h"