ddp_log.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  1. #ifndef _H_DDP_LOG_
  2. #define _H_DDP_LOG_
  3. #include <mt-plat/aee.h>
  4. #include <linux/printk.h>
  5. #include "display_recorder.h"
  6. #include "ddp_debug.h"
  7. #include "disp_drv_platform.h"
  8. #ifndef LOG_TAG
  9. #define LOG_TAG
  10. #endif
  11. #if 0 /*temporary disable these log */
  12. #define DISP_LOG_D(fmt, args...) pr_debug("[DDP/"LOG_TAG"]"fmt, ##args)
  13. #define DISP_LOG_I(fmt, args...) pr_debug("[DDP/"LOG_TAG"]"fmt, ##args)
  14. #define DISP_LOG_W(fmt, args...) pr_debug("[DDP/"LOG_TAG"]"fmt, ##args)
  15. #define DISP_LOG_E(fmt, args...) \
  16. do { \
  17. pr_err("[DDP/"LOG_TAG"]error:"fmt, ##args); \
  18. dprec_logger_pr(DPREC_LOGGER_ERROR, fmt, ##args); \
  19. } while (0)
  20. /* just print in mobile log */
  21. extern unsigned int gEnableUartLog;
  22. #define DDPMLOG(string, args...) \
  23. do { \
  24. if (gEnableUartLog == 0) \
  25. pr_debug("DDP/ " string, ##args); \
  26. else \
  27. pr_debug("DDP/"string, ##args); \
  28. } while (0)
  29. #define DISP_LOG_V(fmt, args...) \
  30. do { \
  31. if (ddp_debug_dbg_log_level() >= 2) \
  32. DISP_LOG_I(fmt, ##args); \
  33. } while (0)
  34. #define DDPIRQ(fmt, args...) \
  35. do { \
  36. if (ddp_debug_irq_log_level()) \
  37. DISP_LOG_I(fmt, ##args); \
  38. } while (0)
  39. #define DDPDBG(fmt, args...) \
  40. do { \
  41. if (ddp_debug_dbg_log_level()) \
  42. DISP_LOG_I(fmt, ##args); \
  43. } while (0)
  44. #define DDPDEBUG_D(fmt, args...) DISP_LOG_D(fmt, ##args)
  45. #define DDPMSG(fmt, args...) DISP_LOG_I(fmt, ##args)
  46. #define DDPERR(fmt, args...) DISP_LOG_E(fmt, ##args)
  47. #define DDPDUMP(fmt, ...) \
  48. do { \
  49. if (ddp_debug_analysis_to_buffer()) { \
  50. char log[512] = {'\0'}; \
  51. scnprintf(log, 511, fmt, ##__VA_ARGS__); \
  52. dprec_logger_dump(log); \
  53. } else { \
  54. pr_debug("[DDP/"LOG_TAG"]"fmt, ##__VA_ARGS__); \
  55. } \
  56. } while (0)
  57. #define DDPPRINT(fmt, ...) pr_warn("[DDP/"LOG_TAG"]"fmt, ##__VA_ARGS__)
  58. #ifndef ASSERT
  59. #define ASSERT(expr) \
  60. do { \
  61. if (expr) \
  62. break; \
  63. pr_err("DDP ASSERT FAILED %s, %d\n", \
  64. __FILE__, __LINE__); BUG(); \
  65. } while (0)
  66. #endif
  67. #ifndef DISP_NO_AEE
  68. #define DDPAEE(string, args...) \
  69. do { \
  70. char str[200]; \
  71. snprintf(str, 199, "DDP:"string, ##args); \
  72. aee_kernel_warning_api(__FILE__, __LINE__, DB_OPT_DEFAULT | DB_OPT_MMPROFILE_BUFFER, \
  73. str, string, ##args); \
  74. pr_err("[DDP Error]"string, ##args); \
  75. } while (0)
  76. #else
  77. #define DDPAEE(string, args...) pr_err("[DDP Error]"string, ##args)
  78. #endif
  79. #else
  80. #define DISP_LOG_D(fmt, args...) dprec_logger_pr(DPREC_LOGGER_DEBUG, fmt, ##args)
  81. #define DISP_LOG_I(fmt, args...) dprec_logger_pr(DPREC_LOGGER_DEBUG, fmt, ##args)
  82. #define DISP_LOG_W(fmt, args...) dprec_logger_pr(DPREC_LOGGER_DEBUG, fmt, ##args)
  83. #define DISP_LOG_E(fmt, args...) \
  84. do { \
  85. pr_err("[DDP/"LOG_TAG"]error:"fmt, ##args); \
  86. dprec_logger_pr(DPREC_LOGGER_ERROR, fmt, ##args); \
  87. } while (0)
  88. /* just print in mobile log */
  89. extern unsigned int gEnableUartLog;
  90. #define DDPMLOG(string, args...) \
  91. do { \
  92. dprec_logger_pr(DPREC_LOGGER_FENCE, string, ##args); \
  93. if (g_mobilelog) \
  94. pr_debug("[DDP/"LOG_TAG"]"string, ##args); \
  95. } while (0)
  96. #define DISP_LOG_V(fmt, args...) \
  97. do { \
  98. if (ddp_debug_dbg_log_level() >= 2) \
  99. DISP_LOG_I(fmt, ##args); \
  100. if (g_mobilelog) \
  101. pr_debug("[DDP/"LOG_TAG"]"fmt, ##args); \
  102. } while (0)
  103. #define DDPIRQ(fmt, args...) \
  104. do { \
  105. if (ddp_debug_irq_log_level()) \
  106. DISP_LOG_I(fmt, ##args); \
  107. if (g_mobilelog) \
  108. pr_debug("[DDP/"LOG_TAG"]"fmt, ##args); \
  109. } while (0)
  110. #define DDPDBG(fmt, args...) \
  111. do { \
  112. if (ddp_debug_dbg_log_level()) \
  113. DISP_LOG_I(fmt, ##args); \
  114. if (g_mobilelog) \
  115. pr_debug("[DDP/"LOG_TAG"]"fmt, ##args); \
  116. } while (0)
  117. #define DDPDEBUG_D(fmt, args...) \
  118. do { \
  119. DISP_LOG_D(fmt, ##args); \
  120. if (g_mobilelog) \
  121. pr_debug("[DDP/"LOG_TAG"]"fmt, ##args); \
  122. } while (0)
  123. #define DDPMSG(fmt, args...) \
  124. do { \
  125. DISP_LOG_I(fmt, ##args); \
  126. if (g_mobilelog) \
  127. pr_debug("[DDP/"LOG_TAG"]"fmt, ##args); \
  128. } while (0)
  129. #define DDPERR(fmt, args...) \
  130. do { \
  131. DISP_LOG_E(fmt, ##args); \
  132. if (g_mobilelog) \
  133. pr_debug("[DDP/"LOG_TAG"]"fmt, ##args); \
  134. } while (0)
  135. #define DDPDUMP(fmt, ...) \
  136. do { \
  137. if (ddp_debug_analysis_to_buffer()) { \
  138. char log[512] = {'\0'}; \
  139. scnprintf(log, 511, fmt, ##__VA_ARGS__); \
  140. dprec_logger_dump(log); \
  141. } \
  142. else { \
  143. dprec_logger_pr(DPREC_LOGGER_DUMP, fmt, ##__VA_ARGS__); \
  144. if (g_mobilelog) \
  145. pr_debug("[DDP/"LOG_TAG"]"fmt, ##__VA_ARGS__);\
  146. } \
  147. } while (0)
  148. #define DDPPRINT(fmt, ...)\
  149. do { \
  150. dprec_logger_pr(DPREC_LOGGER_DEBUG, fmt, ##__VA_ARGS__); \
  151. pr_warn("[DDP/"LOG_TAG"]"fmt, ##__VA_ARGS__); \
  152. } while (0)
  153. #ifndef ASSERT
  154. #define ASSERT(expr) \
  155. do { \
  156. if (expr) \
  157. break; \
  158. pr_err("DDP ASSERT FAILED %s, %d\n", \
  159. __FILE__, __LINE__); BUG(); \
  160. } while (0)
  161. #endif
  162. #ifndef DISP_NO_AEE
  163. #define DDPAEE(string, args...) \
  164. do { \
  165. char str[200]; \
  166. snprintf(str, 199, "DDP:"string, ##args); \
  167. aee_kernel_warning_api(__FILE__, __LINE__, DB_OPT_DEFAULT | DB_OPT_MMPROFILE_BUFFER, \
  168. str, string, ##args); \
  169. pr_err("[DDP Error]"string, ##args); \
  170. } while (0)
  171. #else
  172. #define DDPAEE(string, args...) pr_err("[DDP Error]"string, ##args)
  173. #endif
  174. #endif
  175. #endif