123456789101112131415161718192021222324252627282930313233 |
- /* SPDX-License-Identifier: GPL-2.0-only */
- /*
- * Copyright (c) 2020-2022, The Linux Foundation. All rights reserved.
- */
- #ifndef _MSM_VIDC_RESOURCES_H_
- #define _MSM_VIDC_RESOURCES_H_
- struct msm_vidc_core;
- struct msm_vidc_resources_ops {
- int (*get)(struct msm_vidc_core *core);
- void (*put)(struct msm_vidc_core *core);
- int (*reset_bridge)(struct msm_vidc_core *core);
- int (*gdsc_on)(struct msm_vidc_core *core, const char *name);
- int (*gdsc_off)(struct msm_vidc_core *core, const char *name);
- int (*gdsc_hw_ctrl)(struct msm_vidc_core *core);
- int (*gdsc_sw_ctrl)(struct msm_vidc_core *core);
- int (*llcc)(struct msm_vidc_core *core, bool enable);
- int (*set_bw)(struct msm_vidc_core *core, unsigned long bw_ddr,
- unsigned long bw_llcc);
- int (*set_clks)(struct msm_vidc_core *core, u64 rate);
- int (*clk_disable)(struct msm_vidc_core *core, const char *name);
- int (*clk_enable)(struct msm_vidc_core *core, const char *name);
- };
- const struct msm_vidc_resources_ops *get_resources_ops(void);
- #endif
|