Loading...
1/* SPDX-License-Identifier: MIT */
2#ifndef __NVKM_DEVINIT_H__
3#define __NVKM_DEVINIT_H__
4#include <core/subdev.h>
5struct nvkm_devinit;
6
7struct nvkm_devinit {
8 const struct nvkm_devinit_func *func;
9 struct nvkm_subdev subdev;
10 bool post;
11 bool force_post;
12};
13
14u32 nvkm_devinit_mmio(struct nvkm_devinit *, u32 addr);
15int nvkm_devinit_pll_set(struct nvkm_devinit *, u32 type, u32 khz);
16void nvkm_devinit_meminit(struct nvkm_devinit *);
17int nvkm_devinit_post(struct nvkm_devinit *);
18
19int nv04_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
20int nv05_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
21int nv10_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
22int nv1a_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
23int nv20_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
24int nv50_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
25int g84_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
26int g98_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
27int gt215_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
28int mcp89_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
29int gf100_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
30int gm107_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
31int gm200_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
32int gv100_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
33int tu102_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
34int ga100_devinit_new(struct nvkm_device *, enum nvkm_subdev_type, int, struct nvkm_devinit **);
35#endif
1#ifndef __NVKM_DEVINIT_H__
2#define __NVKM_DEVINIT_H__
3#include <core/subdev.h>
4struct nvkm_devinit;
5
6struct nvkm_devinit {
7 const struct nvkm_devinit_func *func;
8 struct nvkm_subdev subdev;
9 bool post;
10 bool force_post;
11};
12
13u32 nvkm_devinit_mmio(struct nvkm_devinit *, u32 addr);
14int nvkm_devinit_pll_set(struct nvkm_devinit *, u32 type, u32 khz);
15void nvkm_devinit_meminit(struct nvkm_devinit *);
16u64 nvkm_devinit_disable(struct nvkm_devinit *);
17int nvkm_devinit_post(struct nvkm_devinit *, u64 *disable);
18
19int nv04_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
20int nv05_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
21int nv10_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
22int nv1a_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
23int nv20_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
24int nv50_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
25int g84_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
26int g98_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
27int gt215_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
28int mcp89_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
29int gf100_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
30int gm107_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
31int gm200_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
32#endif