]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h
drm/nouveau/clk: rename from clock (no binary change)
[mirror_ubuntu-bionic-kernel.git] / drivers / gpu / drm / nouveau / nvkm / subdev / devinit / priv.h
CommitLineData
88524bc0
BS
1#ifndef __NVKM_DEVINIT_PRIV_H__
2#define __NVKM_DEVINIT_PRIV_H__
3
4#include <subdev/bios.h>
5#include <subdev/bios/pll.h>
e21fd7c4 6#include <subdev/bios/init.h>
f3867f43 7#include <subdev/clk/pll.h>
88524bc0
BS
8#include <subdev/devinit.h>
9
cf336014
BS
10struct nouveau_devinit_impl {
11 struct nouveau_oclass base;
12 void (*meminit)(struct nouveau_devinit *);
13 int (*pll_set)(struct nouveau_devinit *, u32 type, u32 freq);
4019aaa2 14 u64 (*disable)(struct nouveau_devinit *);
3219adc2 15 u32 (*mmio)(struct nouveau_devinit *, u32);
e21fd7c4 16 int (*post)(struct nouveau_subdev *, bool);
88524bc0
BS
17};
18
cf336014
BS
19#define nouveau_devinit_create(p,e,o,d) \
20 nouveau_devinit_create_((p), (e), (o), sizeof(**d), (void **)d)
f87cd8b6
IM
21#define nouveau_devinit_destroy(p) ({ \
22 struct nouveau_devinit *d = (p); \
23 _nouveau_devinit_dtor(nv_object(d)); \
24})
cf336014
BS
25#define nouveau_devinit_init(p) ({ \
26 struct nouveau_devinit *d = (p); \
27 _nouveau_devinit_init(nv_object(d)); \
28})
29#define nouveau_devinit_fini(p,s) ({ \
30 struct nouveau_devinit *d = (p); \
31 _nouveau_devinit_fini(nv_object(d), (s)); \
32})
33
34int nouveau_devinit_create_(struct nouveau_object *, struct nouveau_object *,
35 struct nouveau_oclass *, int, void **);
f87cd8b6 36void _nouveau_devinit_dtor(struct nouveau_object *);
cf336014
BS
37int _nouveau_devinit_init(struct nouveau_object *);
38int _nouveau_devinit_fini(struct nouveau_object *, bool suspend);
88524bc0
BS
39
40#endif