2019-06-19 20:13:43 -04:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
2015-08-20 14:54:20 +10:00
|
|
|
#ifndef __NV04_DEVINIT_H__
|
|
|
|
#define __NV04_DEVINIT_H__
|
|
|
|
#define nv04_devinit(p) container_of((p), struct nv04_devinit, base)
|
2014-01-14 15:55:38 +10:00
|
|
|
#include "priv.h"
|
2015-01-14 14:48:16 +10:00
|
|
|
struct nvkm_pll_vals;
|
2014-01-14 15:55:38 +10:00
|
|
|
|
2015-08-20 14:54:06 +10:00
|
|
|
struct nv04_devinit {
|
2015-01-14 14:48:16 +10:00
|
|
|
struct nvkm_devinit base;
|
2015-01-31 17:13:40 +10:00
|
|
|
int owner;
|
2014-01-14 15:55:38 +10:00
|
|
|
};
|
|
|
|
|
2015-08-20 14:54:20 +10:00
|
|
|
int nv04_devinit_new_(const struct nvkm_devinit_func *, struct nvkm_device *,
|
2020-12-04 11:04:41 +10:00
|
|
|
enum nvkm_subdev_type, int, struct nvkm_devinit **);
|
2015-08-20 14:54:20 +10:00
|
|
|
void *nv04_devinit_dtor(struct nvkm_devinit *);
|
|
|
|
void nv04_devinit_preinit(struct nvkm_devinit *);
|
|
|
|
void nv04_devinit_fini(struct nvkm_devinit *);
|
2015-01-14 14:48:16 +10:00
|
|
|
int nv04_devinit_pll_set(struct nvkm_devinit *, u32, u32);
|
2014-01-14 15:55:38 +10:00
|
|
|
|
2015-01-14 14:48:16 +10:00
|
|
|
void setPLL_single(struct nvkm_devinit *, u32, struct nvkm_pll_vals *);
|
|
|
|
void setPLL_double_highregs(struct nvkm_devinit *, u32, struct nvkm_pll_vals *);
|
|
|
|
void setPLL_double_lowregs(struct nvkm_devinit *, u32, struct nvkm_pll_vals *);
|
2014-01-14 15:55:38 +10:00
|
|
|
#endif
|