msm_cvp_common.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
  4. */
  5. #ifndef _MSM_CVP_COMMON_H_
  6. #define _MSM_CVP_COMMON_H_
  7. #include "msm_cvp_internal.h"
  8. void cvp_put_inst(struct msm_cvp_inst *inst);
  9. struct msm_cvp_inst *cvp_get_inst(struct msm_cvp_core *core,
  10. void *session_id);
  11. struct msm_cvp_inst *cvp_get_inst_validate(struct msm_cvp_core *core,
  12. void *session_id);
  13. bool is_cvp_inst_valid(struct msm_cvp_inst *inst);
  14. void cvp_change_inst_state(struct msm_cvp_inst *inst,
  15. enum instance_state state);
  16. int msm_cvp_comm_try_state(struct msm_cvp_inst *inst, int state);
  17. int msm_cvp_deinit_core(struct msm_cvp_inst *inst);
  18. int msm_cvp_comm_suspend(void);
  19. void msm_cvp_comm_session_clean(struct msm_cvp_inst *inst);
  20. int msm_cvp_comm_kill_session(struct msm_cvp_inst *inst);
  21. void msm_cvp_comm_generate_sys_error(struct msm_cvp_inst *inst);
  22. void handle_sys_error(enum hal_command_response cmd, void *data);
  23. int msm_cvp_comm_smem_cache_operations(struct msm_cvp_inst *inst,
  24. struct msm_cvp_smem *mem, enum smem_cache_ops cache_ops);
  25. int msm_cvp_comm_check_core_init(struct msm_cvp_core *core);
  26. int wait_for_sess_signal_receipt(struct msm_cvp_inst *inst,
  27. enum hal_command_response cmd);
  28. int cvp_comm_set_arp_buffers(struct msm_cvp_inst *inst);
  29. int cvp_comm_release_persist_buffers(struct msm_cvp_inst *inst);
  30. int msm_cvp_noc_error_info(struct msm_cvp_core *core);
  31. int cvp_print_inst(u32 tag, struct msm_cvp_inst *inst);
  32. unsigned long long get_aon_time(void);
  33. #endif