1 /* $NetBSD: disp.h,v 1.3 2021/12/18 23:45:33 riastradh Exp $ */ 2 3 /* SPDX-License-Identifier: MIT */ 4 #ifndef __NVKM_DISP_H__ 5 #define __NVKM_DISP_H__ 6 #define nvkm_disp(p) container_of((p), struct nvkm_disp, engine) 7 #include <core/engine.h> 8 #include <core/event.h> 9 10 struct nvkm_disp { 11 const struct nvkm_disp_func *func; 12 struct nvkm_engine engine; 13 14 struct list_head head; 15 struct list_head ior; 16 struct list_head outp; 17 struct list_head conn; 18 19 struct nvkm_event hpd; 20 struct nvkm_event vblank; 21 22 struct nvkm_oproxy *client; 23 }; 24 25 int nv04_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 26 int nv50_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 27 int g84_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 28 int gt200_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 29 int g94_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 30 int mcp77_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 31 int gt215_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 32 int mcp89_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 33 int gf119_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 34 int gk104_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 35 int gk110_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 36 int gm107_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 37 int gm200_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 38 int gp100_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 39 int gp102_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 40 int gv100_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 41 int tu102_disp_new(struct nvkm_device *, int, struct nvkm_disp **); 42 #endif 43