cmdq_mdp_common.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. #ifndef __CMDQ_MDP_COMMON_H__
  2. #define __CMDQ_MDP_COMMON_H__
  3. #include "cmdq_def.h"
  4. #include <linux/types.h>
  5. /* dump mmsys config */
  6. typedef void (*CmdqDumpMMSYSConfig) (void);
  7. /* VENC callback function */
  8. typedef int32_t(*CmdqVEncDumpInfo) (uint64_t engineFlag, int level);
  9. /* query MDP clock is on */
  10. typedef bool(*CmdqMdpClockIsOn) (CMDQ_ENG_ENUM engine);
  11. /* enable MDP clock */
  12. typedef void (*CmdqEnableMdpClock) (bool enable, CMDQ_ENG_ENUM engine);
  13. /* Common Clock Framework */
  14. typedef void (*CmdqMdpInitModuleClk) (void);
  15. /* MDP callback function */
  16. typedef int32_t(*CmdqMdpClockOn) (uint64_t engineFlag);
  17. typedef int32_t(*CmdqMdpDumpInfo) (uint64_t engineFlag, int level);
  18. typedef int32_t(*CmdqMdpResetEng) (uint64_t engineFlag);
  19. typedef int32_t(*CmdqMdpClockOff) (uint64_t engineFlag);
  20. /* Initialization & de-initialization MDP base VA */
  21. typedef void (*CmdqMdpInitModuleBaseVA) (void);
  22. typedef void (*CmdqMdpDeinitModuleBaseVA) (void);
  23. /* MDP engine dump */
  24. typedef void (*CmdqMdpDumpRSZ) (const unsigned long base, const char *label);
  25. typedef void (*CmdqMdpDumpTDSHP) (const unsigned long base, const char *label);
  26. /* test MDP clock function */
  27. typedef uint32_t(*CmdqMdpRdmaGetRegOffsetSrcAddr) (void);
  28. typedef uint32_t(*CmdqMdpWrotGetRegOffsetDstAddr) (void);
  29. typedef uint32_t(*CmdqMdpWdmaGetRegOffsetDstAddr) (void);
  30. typedef void (*CmdqTestcaseClkmgrMdp) (void);
  31. typedef struct cmdqMDPFuncStruct {
  32. CmdqDumpMMSYSConfig dumpMMSYSConfig;
  33. CmdqVEncDumpInfo vEncDumpInfo;
  34. CmdqMdpInitModuleBaseVA initModuleBaseVA;
  35. CmdqMdpDeinitModuleBaseVA deinitModuleBaseVA;
  36. CmdqMdpClockIsOn mdpClockIsOn;
  37. CmdqEnableMdpClock enableMdpClock;
  38. CmdqMdpInitModuleClk initModuleCLK;
  39. CmdqMdpDumpRSZ mdpDumpRsz;
  40. CmdqMdpDumpTDSHP mdpDumpTdshp;
  41. CmdqMdpClockOn mdpClockOn;
  42. CmdqMdpDumpInfo mdpDumpInfo;
  43. CmdqMdpResetEng mdpResetEng;
  44. CmdqMdpClockOff mdpClockOff;
  45. CmdqMdpRdmaGetRegOffsetSrcAddr rdmaGetRegOffsetSrcAddr;
  46. CmdqMdpWrotGetRegOffsetDstAddr wrotGetRegOffsetDstAddr;
  47. CmdqMdpWdmaGetRegOffsetDstAddr wdmaGetRegOffsetDstAddr;
  48. CmdqTestcaseClkmgrMdp testcaseClkmgrMdp;
  49. } cmdqMDPFuncStruct;
  50. #ifdef __cplusplus
  51. extern "C" {
  52. #endif
  53. void cmdq_mdp_virtual_function_setting(void);
  54. cmdqMDPFuncStruct *cmdq_mdp_get_func(void);
  55. void cmdq_mdp_enable(uint64_t engineFlag, CMDQ_ENG_ENUM engine);
  56. int cmdq_mdp_loop_reset(CMDQ_ENG_ENUM engine,
  57. const unsigned long resetReg,
  58. const unsigned long resetStateReg,
  59. const uint32_t resetMask,
  60. const uint32_t resetValue, const bool pollInitResult);
  61. void cmdq_mdp_loop_off(CMDQ_ENG_ENUM engine,
  62. const unsigned long resetReg,
  63. const unsigned long resetStateReg,
  64. const uint32_t resetMask,
  65. const uint32_t resetValue, const bool pollInitResult);
  66. const char *cmdq_mdp_get_rsz_state(const uint32_t state);
  67. void cmdq_mdp_dump_venc(const unsigned long base, const char *label);
  68. void cmdq_mdp_dump_rdma(const unsigned long base, const char *label);
  69. void cmdq_mdp_dump_rot(const unsigned long base, const char *label);
  70. void cmdq_mdp_dump_color(const unsigned long base, const char *label);
  71. void cmdq_mdp_dump_wdma(const unsigned long base, const char *label);
  72. /**************************************************************************************/
  73. /******************* Platform dependent function ********************/
  74. /**************************************************************************************/
  75. int32_t cmdqMdpClockOn(uint64_t engineFlag);
  76. int32_t cmdqMdpDumpInfo(uint64_t engineFlag, int level);
  77. int32_t cmdqVEncDumpInfo(uint64_t engineFlag, int level);
  78. int32_t cmdqMdpResetEng(uint64_t engineFlag);
  79. int32_t cmdqMdpClockOff(uint64_t engineFlag);
  80. uint32_t cmdq_mdp_rdma_get_reg_offset_src_addr(void);
  81. uint32_t cmdq_mdp_wrot_get_reg_offset_dst_addr(void);
  82. uint32_t cmdq_mdp_wdma_get_reg_offset_dst_addr(void);
  83. void testcase_clkmgr_mdp(void);
  84. /* Platform virtual function setting */
  85. void cmdq_mdp_platform_function_setting(void);
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89. #endif /* __CMDQ_MDP_COMMON_H__ */