]> git.ipfire.org Git - thirdparty/kernel/linux.git/blame - drivers/gpu/drm/nouveau/nvkm/engine/disp/rootnv50.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[thirdparty/kernel/linux.git] / drivers / gpu / drm / nouveau / nvkm / engine / disp / rootnv50.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
2a7909c0
BS
2#ifndef __NV50_DISP_ROOT_H__
3#define __NV50_DISP_ROOT_H__
0ce41e3c 4#define nv50_disp_root(p) container_of((p), struct nv50_disp_root, object)
2a7909c0
BS
5#include "nv50.h"
6#include "channv50.h"
7#include "dmacnv50.h"
2a7909c0
BS
8
9struct nv50_disp_root {
0ce41e3c
BS
10 const struct nv50_disp_root_func *func;
11 struct nv50_disp *disp;
12 struct nvkm_object object;
13
14 struct nvkm_gpuobj *instmem;
2a7909c0 15 struct nvkm_ramht *ramht;
2a7909c0
BS
16};
17
0ce41e3c
BS
18struct nv50_disp_root_func {
19 int (*init)(struct nv50_disp_root *);
20 void (*fini)(struct nv50_disp_root *);
21 const struct nv50_disp_dmac_oclass *dmac[3];
22 const struct nv50_disp_pioc_oclass *pioc[2];
23};
24
25int nv50_disp_root_new_(const struct nv50_disp_root_func *, struct nvkm_disp *,
26 const struct nvkm_oclass *, void *data, u32 size,
27 struct nvkm_object **);
28int nv50_disp_root_init(struct nv50_disp_root *);
29void nv50_disp_root_fini(struct nv50_disp_root *);
30
31int gf119_disp_root_init(struct nv50_disp_root *);
32void gf119_disp_root_fini(struct nv50_disp_root *);
33
34extern const struct nvkm_disp_oclass nv50_disp_root_oclass;
35extern const struct nvkm_disp_oclass g84_disp_root_oclass;
36extern const struct nvkm_disp_oclass g94_disp_root_oclass;
37extern const struct nvkm_disp_oclass gt200_disp_root_oclass;
38extern const struct nvkm_disp_oclass gt215_disp_root_oclass;
39extern const struct nvkm_disp_oclass gf119_disp_root_oclass;
40extern const struct nvkm_disp_oclass gk104_disp_root_oclass;
41extern const struct nvkm_disp_oclass gk110_disp_root_oclass;
42extern const struct nvkm_disp_oclass gm107_disp_root_oclass;
db1eb528 43extern const struct nvkm_disp_oclass gm200_disp_root_oclass;
f9d5cbb3 44extern const struct nvkm_disp_oclass gp100_disp_root_oclass;
ed828666 45extern const struct nvkm_disp_oclass gp102_disp_root_oclass;
2a7909c0 46#endif