#define gf100_clk(p) …
#include "priv.h"
#include "pll.h"
#include <subdev/bios.h>
#include <subdev/bios/pll.h>
#include <subdev/timer.h>
struct gf100_clk_info { … };
struct gf100_clk { … };
static u32 read_div(struct gf100_clk *, int, u32, u32);
static u32
read_vco(struct gf100_clk *clk, u32 dsrc)
{ … }
static u32
read_pll(struct gf100_clk *clk, u32 pll)
{ … }
static u32
read_div(struct gf100_clk *clk, int doff, u32 dsrc, u32 dctl)
{ … }
static u32
read_clk(struct gf100_clk *clk, int idx)
{ … }
static int
gf100_clk_read(struct nvkm_clk *base, enum nv_clk_src src)
{ … }
static u32
calc_div(struct gf100_clk *clk, int idx, u32 ref, u32 freq, u32 *ddiv)
{ … }
static u32
calc_src(struct gf100_clk *clk, int idx, u32 freq, u32 *dsrc, u32 *ddiv)
{ … }
static u32
calc_pll(struct gf100_clk *clk, int idx, u32 freq, u32 *coef)
{ … }
static int
calc_clk(struct gf100_clk *clk, struct nvkm_cstate *cstate, int idx, int dom)
{ … }
static int
gf100_clk_calc(struct nvkm_clk *base, struct nvkm_cstate *cstate)
{ … }
static void
gf100_clk_prog_0(struct gf100_clk *clk, int idx)
{ … }
static void
gf100_clk_prog_1(struct gf100_clk *clk, int idx)
{ … }
static void
gf100_clk_prog_2(struct gf100_clk *clk, int idx)
{ … }
static void
gf100_clk_prog_3(struct gf100_clk *clk, int idx)
{ … }
static void
gf100_clk_prog_4(struct gf100_clk *clk, int idx)
{ … }
static int
gf100_clk_prog(struct nvkm_clk *base)
{ … }
static void
gf100_clk_tidy(struct nvkm_clk *base)
{ … }
static const struct nvkm_clk_func
gf100_clk = …;
int
gf100_clk_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst,
struct nvkm_clk **pclk)
{ … }