12345678910111213141516171819202122232425262728 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef __NVKM_CLK_PRIV_H__
- #define __NVKM_CLK_PRIV_H__
- #define nvkm_clk(p) container_of((p), struct nvkm_clk, subdev)
- #include <subdev/clk.h>
- struct nvkm_clk_func {
- int (*init)(struct nvkm_clk *);
- void (*fini)(struct nvkm_clk *);
- int (*read)(struct nvkm_clk *, enum nv_clk_src);
- int (*calc)(struct nvkm_clk *, struct nvkm_cstate *);
- int (*prog)(struct nvkm_clk *);
- void (*tidy)(struct nvkm_clk *);
- struct nvkm_pstate *pstates;
- int nr_pstates;
- struct nvkm_domain domains[];
- };
- int nvkm_clk_ctor(const struct nvkm_clk_func *, struct nvkm_device *, int,
- bool allow_reclock, struct nvkm_clk *);
- int nvkm_clk_new_(const struct nvkm_clk_func *, struct nvkm_device *, int,
- bool allow_reclock, struct nvkm_clk **);
- int nv04_clk_pll_calc(struct nvkm_clk *, struct nvbios_pll *, int clk,
- struct nvkm_pll_vals *);
- int nv04_clk_pll_prog(struct nvkm_clk *, u32 reg1, struct nvkm_pll_vals *);
- #endif
|