#define gk104_clk(p) …
#include "priv.h"
#include "pll.h"
#include <subdev/timer.h>
#include <subdev/bios.h>
#include <subdev/bios/pll.h>
struct gk104_clk_info { … };
struct gk104_clk { … };
static u32 read_div(struct gk104_clk *, int, u32, u32);
static u32 read_pll(struct gk104_clk *, u32);
static u32
read_vco(struct gk104_clk *clk, u32 dsrc)
{ … }
static u32
read_pll(struct gk104_clk *clk, u32 pll)
{ … }
static u32
read_div(struct gk104_clk *clk, int doff, u32 dsrc, u32 dctl)
{ … }
static u32
read_mem(struct gk104_clk *clk)
{ … }
static u32
read_clk(struct gk104_clk *clk, int idx)
{ … }
static int
gk104_clk_read(struct nvkm_clk *base, enum nv_clk_src src)
{ … }
static u32
calc_div(struct gk104_clk *clk, int idx, u32 ref, u32 freq, u32 *ddiv)
{ … }
static u32
calc_src(struct gk104_clk *clk, int idx, u32 freq, u32 *dsrc, u32 *ddiv)
{ … }
static u32
calc_pll(struct gk104_clk *clk, int idx, u32 freq, u32 *coef)
{ … }
static int
calc_clk(struct gk104_clk *clk,
struct nvkm_cstate *cstate, int idx, int dom)
{ … }
static int
gk104_clk_calc(struct nvkm_clk *base, struct nvkm_cstate *cstate)
{ … }
static void
gk104_clk_prog_0(struct gk104_clk *clk, int idx)
{ … }
static void
gk104_clk_prog_1_0(struct gk104_clk *clk, int idx)
{ … }
static void
gk104_clk_prog_1_1(struct gk104_clk *clk, int idx)
{ … }
static void
gk104_clk_prog_2(struct gk104_clk *clk, int idx)
{ … }
static void
gk104_clk_prog_3(struct gk104_clk *clk, int idx)
{ … }
static void
gk104_clk_prog_4_0(struct gk104_clk *clk, int idx)
{ … }
static void
gk104_clk_prog_4_1(struct gk104_clk *clk, int idx)
{ … }
static int
gk104_clk_prog(struct nvkm_clk *base)
{ … }
static void
gk104_clk_tidy(struct nvkm_clk *base)
{ … }
static const struct nvkm_clk_func
gk104_clk = …;
int
gk104_clk_new(struct nvkm_device *device, enum nvkm_subdev_type type, int inst,
struct nvkm_clk **pclk)
{ … }