extd_utils.c 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. #include <linux/semaphore.h>
  2. #include <linux/mutex.h>
  3. #include <linux/time.h>
  4. #include <linux/delay.h>
  5. #include "extd_utils.h"
  6. #include "extd_log.h"
  7. static DEFINE_SEMAPHORE(extd_mutex);
  8. int extd_mutex_init(struct mutex *m)
  9. {
  10. EXT_DISP_LOG("mutex init:\n");
  11. mutex_init(m);
  12. return 0;
  13. }
  14. int extd_sw_mutex_lock(struct mutex *m)
  15. {
  16. if (down_interruptible(&extd_mutex)) {
  17. pr_debug("DISP/ " "Can't get semaphore in %s()\n", __func__);
  18. return -1;
  19. }
  20. return 0;
  21. }
  22. int extd_mutex_trylock(struct mutex *m)
  23. {
  24. int ret = 0;
  25. /* /ret = mutex_trylock(m); */
  26. EXT_DISP_LOG("mutex: trylock\n");
  27. return ret;
  28. }
  29. int extd_sw_mutex_unlock(struct mutex *m)
  30. {
  31. /* /mutex_unlock(m); */
  32. up(&extd_mutex);
  33. /* EXT_DISP_LOG("mutex: unlock\n"); */
  34. return 0;
  35. }
  36. int extd_msleep(unsigned int ms)
  37. {
  38. EXT_DISP_LOG("sleep %dms\n", ms);
  39. msleep(ms);
  40. return 0;
  41. }
  42. long int extd_get_time_us(void)
  43. {
  44. struct timeval t;
  45. do_gettimeofday(&t);
  46. return (t.tv_sec & 0xFFF) * 1000000 + t.tv_usec;
  47. }
  48. char *_extd_ioctl_spy(unsigned int cmd)
  49. {
  50. switch (cmd) {
  51. case MTK_HDMI_AUDIO_VIDEO_ENABLE:
  52. return "MTK_HDMI_AUDIO_VIDEO_ENABLE";
  53. case MTK_HDMI_AUDIO_ENABLE:
  54. return "MTK_HDMI_AUDIO_ENABLE";
  55. case MTK_HDMI_VIDEO_ENABLE:
  56. return "MTK_HDMI_VIDEO_ENABLE";
  57. case MTK_HDMI_GET_CAPABILITY:
  58. return "MTK_HDMI_GET_CAPABILITY";
  59. case MTK_HDMI_GET_DEVICE_STATUS:
  60. return "MTK_HDMI_GET_DEVICE_STATUS";
  61. case MTK_HDMI_VIDEO_CONFIG:
  62. return "MTK_HDMI_VIDEO_CONFIG";
  63. case MTK_HDMI_AUDIO_CONFIG:
  64. return "MTK_HDMI_AUDIO_CONFIG";
  65. case MTK_HDMI_FORCE_FULLSCREEN_ON:
  66. return "MTK_HDMI_FORCE_FULLSCREEN_ON";
  67. case MTK_HDMI_FORCE_FULLSCREEN_OFF:
  68. return "MTK_HDMI_FORCE_FULLSCREEN_OFF";
  69. case MTK_HDMI_IPO_POWEROFF:
  70. return "MTK_HDMI_IPO_POWEROFF";
  71. case MTK_HDMI_IPO_POWERON:
  72. return "MTK_HDMI_IPO_POWERON";
  73. case MTK_HDMI_POWER_ENABLE:
  74. return "MTK_HDMI_POWER_ENABLE";
  75. case MTK_HDMI_PORTRAIT_ENABLE:
  76. return "MTK_HDMI_PORTRAIT_ENABLE";
  77. case MTK_HDMI_FORCE_OPEN:
  78. return "MTK_HDMI_FORCE_OPEN";
  79. case MTK_HDMI_FORCE_CLOSE:
  80. return "MTK_HDMI_FORCE_CLOSE";
  81. case MTK_HDMI_IS_FORCE_AWAKE:
  82. return "MTK_HDMI_IS_FORCE_AWAKE";
  83. case MTK_HDMI_POST_VIDEO_BUFFER:
  84. return "MTK_HDMI_POST_VIDEO_BUFFER";
  85. case MTK_HDMI_FACTORY_MODE_ENABLE:
  86. return "MTK_HDMI_FACTORY_MODE_ENABLE";
  87. case MTK_HDMI_WRITE_DEV:
  88. return "MTK_HDMI_WRITE_DEV";
  89. case MTK_HDMI_READ_DEV:
  90. return "MTK_HDMI_READ_DEV";
  91. case MTK_HDMI_ENABLE_LOG:
  92. return "MTK_HDMI_ENABLE_LOG";
  93. case MTK_HDMI_CHECK_EDID:
  94. return "MTK_HDMI_CHECK_EDID";
  95. case MTK_HDMI_INFOFRAME_SETTING:
  96. return "MTK_HDMI_INFOFRAME_SETTING";
  97. case MTK_HDMI_ENABLE_HDCP:
  98. return "MTK_HDMI_ENABLE_HDCP";
  99. case MTK_HDMI_STATUS:
  100. return "MTK_HDMI_STATUS";
  101. case MTK_HDMI_HDCP_KEY:
  102. return "MTK_HDMI_HDCP_KEY";
  103. case MTK_HDMI_GET_EDID:
  104. return "MTK_HDMI_GET_EDID";
  105. case MTK_HDMI_SETLA:
  106. return "MTK_HDMI_SETLA";
  107. case MTK_HDMI_GET_CECCMD:
  108. return "MTK_HDMI_GET_CECCMD";
  109. case MTK_HDMI_SET_CECCMD:
  110. return "MTK_HDMI_SET_CECCMD";
  111. case MTK_HDMI_CEC_ENABLE:
  112. return "MTK_HDMI_CEC_ENABLE";
  113. case MTK_HDMI_GET_CECADDR:
  114. return "MTK_HDMI_GET_CECADDR";
  115. case MTK_HDMI_CECRX_MODE:
  116. return "MTK_HDMI_CECRX_MODE";
  117. case MTK_HDMI_SENDSLTDATA:
  118. return "MTK_HDMI_SENDSLTDATA";
  119. case MTK_HDMI_GET_SLTDATA:
  120. return "MTK_HDMI_GET_SLTDATA";
  121. case MTK_HDMI_COLOR_DEEP:
  122. return "MTK_HDMI_COLOR_DEEP";
  123. case MTK_HDMI_GET_DEV_INFO:
  124. return "MTK_HDMI_GET_DEV_INFO";
  125. case MTK_HDMI_PREPARE_BUFFER:
  126. return "MTK_HDMI_PREPARE_BUFFER";
  127. case MTK_HDMI_FACTORY_GET_STATUS:
  128. return "MTK_HDMI_FACTORY_GET_STATUS";
  129. case MTK_HDMI_FACTORY_DPI_TEST:
  130. return "MTK_HDMI_FACTORY_DPI_TEST";
  131. case MTK_HDMI_SCREEN_CAPTURE:
  132. return "MTK_HDMI_SCREEN_CAPTURE";
  133. default:
  134. return "unknown ioctl command";
  135. }
  136. }