ddp_path.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef __DDP_PATH_H__
  2. #define __DDP_PATH_H__
  3. #include "ddp_info.h"
  4. #define DDP_OVL_LAYER_MUN OVL_LAYER_NUM
  5. extern unsigned int gMutexFreeRun;
  6. #ifdef MTK_DISP_IDLE_LP
  7. /* include by pwm and color driver to exit path idle */
  8. void disp_exit_idle_ex(const char *caller);
  9. #endif
  10. typedef enum {
  11. DDP_VIDEO_MODE = 0,
  12. DDP_CMD_MODE,
  13. } DDP_MODE;
  14. typedef enum {
  15. DDP_SCENARIO_PRIMARY_DISP = 0,
  16. DDP_SCENARIO_PRIMARY_RDMA0_COLOR0_DISP,
  17. DDP_SCENARIO_PRIMARY_RDMA0_DISP,
  18. DDP_SCENARIO_PRIMARY_BYPASS_RDMA,
  19. DDP_SCENARIO_PRIMARY_OVL_MEMOUT,
  20. DDP_SCENARIO_PRIMARY_DITHER_MEMOUT,
  21. DDP_SCENARIO_PRIMARY_UFOE_MEMOUT,
  22. DDP_SCENARIO_SUB_DISP,
  23. DDP_SCENARIO_SUB_RDMA1_DISP,
  24. DDP_SCENARIO_SUB_OVL_MEMOUT,
  25. DDP_SCENARIO_PRIMARY_ALL,
  26. DDP_SCENARIO_SUB_ALL,
  27. DDP_SCENARIO_MULTIPLE_OVL,
  28. DDP_SCENARIO_MAX
  29. } DDP_SCENARIO_ENUM;
  30. void ddp_connect_path(DDP_SCENARIO_ENUM scenario, void *handle);
  31. void ddp_disconnect_path(DDP_SCENARIO_ENUM scenario, void *handle);
  32. int ddp_get_module_num(DDP_SCENARIO_ENUM scenario);
  33. void ddp_check_path(DDP_SCENARIO_ENUM scenario);
  34. int ddp_mutex_set(int mutex_id, DDP_SCENARIO_ENUM scenario, DDP_MODE mode, void *handle);
  35. int ddp_mutex_clear(int mutex_id, void *handle);
  36. int ddp_mutex_enable(int mutex_id, DDP_SCENARIO_ENUM scenario, void *handle);
  37. int ddp_mutex_disable(int mutex_id, DDP_SCENARIO_ENUM scenario, void *handle);
  38. void ddp_check_mutex(int mutex_id, DDP_SCENARIO_ENUM scenario, DDP_MODE mode);
  39. int ddp_mutex_reset(int mutex_id, void *handle);
  40. int ddp_mutex_add_module(int mutex_id, DISP_MODULE_ENUM module, void *handle);
  41. int ddp_mutex_remove_module(int mutex_id, DISP_MODULE_ENUM module, void *handle);
  42. int ddp_mutex_Interrupt_enable(int mutex_id, void *handle);
  43. int ddp_mutex_Interrupt_disable(int mutex_id, void *handle);
  44. int ddp_mutex_hw_dcm_on(int mutex_idx, void *handle);
  45. int ddp_mutex_hw_dcm_off(int mutex_idx, void *handle);
  46. DISP_MODULE_ENUM ddp_get_dst_module(DDP_SCENARIO_ENUM scenario);
  47. int ddp_set_dst_module(DDP_SCENARIO_ENUM scenario, DISP_MODULE_ENUM dst_module);
  48. int *ddp_get_scenario_list(DDP_SCENARIO_ENUM ddp_scenario);
  49. int ddp_insert_module(DDP_SCENARIO_ENUM ddp_scenario, DISP_MODULE_ENUM place,
  50. DISP_MODULE_ENUM module);
  51. int ddp_remove_module(DDP_SCENARIO_ENUM ddp_scenario, DISP_MODULE_ENUM module);
  52. int ddp_is_scenario_on_primary(DDP_SCENARIO_ENUM scenario);
  53. char *ddp_get_scenario_name(DDP_SCENARIO_ENUM scenario);
  54. int ddp_path_top_clock_off(void);
  55. int ddp_path_top_clock_on(void);
  56. int ddp_path_lp_top_clock_on(void);
  57. int ddp_path_lp_top_clock_off(void);
  58. int ddp_path_init(void);
  59. /* should remove */
  60. int ddp_insert_config_allow_rec(void *handle);
  61. int ddp_insert_config_dirty_rec(void *handle);
  62. int disp_get_dst_module(DDP_SCENARIO_ENUM scenario);
  63. int ddp_is_module_in_scenario(DDP_SCENARIO_ENUM ddp_scenario, DISP_MODULE_ENUM module);
  64. #endif