priv.h (1018B)
1/* SPDX-License-Identifier: MIT */ 2#ifndef __NVKM_DISP_PRIV_H__ 3#define __NVKM_DISP_PRIV_H__ 4#include <engine/disp.h> 5#include "outp.h" 6 7int nvkm_disp_ctor(const struct nvkm_disp_func *, struct nvkm_device *, enum nvkm_subdev_type, int, 8 struct nvkm_disp *); 9int nvkm_disp_new_(const struct nvkm_disp_func *, struct nvkm_device *, enum nvkm_subdev_type, int, 10 struct nvkm_disp **); 11void nvkm_disp_vblank(struct nvkm_disp *, int head); 12 13struct nvkm_disp_func { 14 void *(*dtor)(struct nvkm_disp *); 15 int (*oneinit)(struct nvkm_disp *); 16 int (*init)(struct nvkm_disp *); 17 void (*fini)(struct nvkm_disp *); 18 void (*intr)(struct nvkm_disp *); 19 20 const struct nvkm_disp_oclass *(*root)(struct nvkm_disp *); 21}; 22 23int nvkm_disp_ntfy(struct nvkm_object *, u32, struct nvkm_event **); 24 25extern const struct nvkm_disp_oclass nv04_disp_root_oclass; 26 27struct nvkm_disp_oclass { 28 int (*ctor)(struct nvkm_disp *, const struct nvkm_oclass *, 29 void *data, u32 size, struct nvkm_object **); 30 struct nvkm_sclass base; 31}; 32#endif