msm_cvp_clocks.h 1.1 KB

12345678910111213141516171819202122232425262728
  1. /* SPDX-License-Identifier: GPL-2.0-only */
  2. /*
  3. * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
  4. * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
  5. */
  6. #ifndef _MSM_CVP_CLOCKS_H_
  7. #define _MSM_CVP_CLOCKS_H_
  8. #include "msm_cvp_internal.h"
  9. #include "cvp_core_hfi.h"
  10. int msm_cvp_set_clocks(struct msm_cvp_core *core);
  11. int msm_cvp_mmrm_register(struct iris_hfi_device *device);
  12. int msm_cvp_mmrm_deregister(struct iris_hfi_device *device);
  13. int msm_cvp_mmrm_set_value_in_range(struct iris_hfi_device *device,
  14. u32 freq_min, u32 freq_cur);
  15. int msm_cvp_set_clocks_impl(struct iris_hfi_device *device, u32 freq);
  16. int msm_cvp_scale_clocks(struct iris_hfi_device *device);
  17. int msm_cvp_prepare_enable_clk(struct iris_hfi_device *device,
  18. const char *name);
  19. int msm_cvp_disable_unprepare_clk(struct iris_hfi_device *device,
  20. const char *name);
  21. int msm_cvp_init_clocks(struct iris_hfi_device *device);
  22. void msm_cvp_deinit_clocks(struct iris_hfi_device *device);
  23. int msm_cvp_set_bw(struct msm_cvp_core *core, struct bus_info *bus, unsigned long bw);
  24. int cvp_set_bw(struct bus_info *bus, unsigned long bw);
  25. #endif