msm_vidc_debug.h 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2020, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef __MSM_VIDC_DEBUG__
  6. #define __MSM_VIDC_DEBUG__
  7. #include <linux/debugfs.h>
  8. #include <linux/delay.h>
  9. #include <linux/types.h>
  10. #include <linux/time.h>
  11. #ifndef VIDC_DBG_LABEL
  12. #define VIDC_DBG_LABEL "msm_vidc"
  13. #endif
  14. #define VIDC_DBG_TAG VIDC_DBG_LABEL ": %6s: %08x: %5s: "
  15. #define FW_DBG_TAG VIDC_DBG_LABEL ": %6s: "
  16. #define DEFAULT_SID ((u32)-1)
  17. extern int msm_vidc_debug;
  18. extern bool msm_vidc_lossless_encode;
  19. extern bool msm_vidc_syscache_disable;
  20. /* To enable messages OR these values and
  21. * echo the result to debugfs file.
  22. *
  23. * To enable all messages set debug_level = 0x101F
  24. */
  25. enum vidc_msg_prio {
  26. VIDC_ERR = 0x00000001,
  27. VIDC_INFO = 0x00000001,
  28. VIDC_HIGH = 0x00000002,
  29. VIDC_LOW = 0x00000004,
  30. VIDC_PERF = 0x00000008,
  31. VIDC_PKT = 0x00000010,
  32. VIDC_BUS = 0x00000020,
  33. VIDC_ENCODER = 0x00000100,
  34. VIDC_DECODER = 0x00000200,
  35. VIDC_PRINTK = 0x00001000,
  36. VIDC_FTRACE = 0x00002000,
  37. FW_LOW = 0x00010000,
  38. FW_MEDIUM = 0x00020000,
  39. FW_HIGH = 0x00040000,
  40. FW_ERROR = 0x00080000,
  41. FW_FATAL = 0x00100000,
  42. FW_PERF = 0x00200000,
  43. FW_PRINTK = 0x10000000,
  44. FW_FTRACE = 0x20000000,
  45. };
  46. #define FW_LOGSHIFT 16
  47. #define FW_LOGMASK 0x0FFF0000
  48. #define dprintk(__level, sid, __fmt, ...) \
  49. do { \
  50. pr_err(VIDC_DBG_TAG __fmt, \
  51. "level", \
  52. sid, \
  53. "codec", \
  54. ##__VA_ARGS__); \
  55. } while (0)
  56. #define s_vpr_e(sid, __fmt, ...) dprintk(VIDC_ERR, sid, __fmt, ##__VA_ARGS__)
  57. #define s_vpr_i(sid, __fmt, ...) dprintk(VIDC_INFO, sid, __fmt, ##__VA_ARGS__)
  58. #define s_vpr_h(sid, __fmt, ...) dprintk(VIDC_HIGH, sid, __fmt, ##__VA_ARGS__)
  59. #define s_vpr_l(sid, __fmt, ...) dprintk(VIDC_LOW, sid, __fmt, ##__VA_ARGS__)
  60. #define s_vpr_p(sid, __fmt, ...) dprintk(VIDC_PERF, sid, __fmt, ##__VA_ARGS__)
  61. #define s_vpr_t(sid, __fmt, ...) dprintk(VIDC_PKT, sid, __fmt, ##__VA_ARGS__)
  62. #define s_vpr_b(sid, __fmt, ...) dprintk(VIDC_BUS, sid, __fmt, ##__VA_ARGS__)
  63. #define s_vpr_hp(sid, __fmt, ...) \
  64. dprintk(VIDC_HIGH|VIDC_PERF, sid, __fmt, ##__VA_ARGS__)
  65. #define d_vpr_e(__fmt, ...) \
  66. dprintk(VIDC_ERR, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  67. #define d_vpr_i(__fmt, ...) \
  68. dprintk(VIDC_INFO, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  69. #define d_vpr_h(__fmt, ...) \
  70. dprintk(VIDC_HIGH, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  71. #define d_vpr_l(__fmt, ...) \
  72. dprintk(VIDC_LOW, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  73. #define d_vpr_p(__fmt, ...) \
  74. dprintk(VIDC_PERF, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  75. #define d_vpr_t(__fmt, ...) \
  76. dprintk(VIDC_PKT, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  77. #define d_vpr_b(__fmt, ...) \
  78. dprintk(VIDC_BUS, DEFAULT_SID, __fmt, ##__VA_ARGS__)
  79. #define MSM_VIDC_ERROR(value) \
  80. do { if (value) \
  81. d_vpr_e("BugOn"); \
  82. } while (0)
  83. #endif