Home | History | Annotate | Line # | Download | only in core
      1 /*	$NetBSD: oclass.h,v 1.2 2021/12/18 23:45:33 riastradh Exp $	*/
      2 
      3 #ifndef __NVKM_OCLASS_H__
      4 #define __NVKM_OCLASS_H__
      5 #include <core/os.h>
      6 #include <core/debug.h>
      7 struct nvkm_oclass;
      8 struct nvkm_object;
      9 
     10 struct nvkm_sclass {
     11 	int minver;
     12 	int maxver;
     13 	s32 oclass;
     14 	const struct nvkm_object_func *func;
     15 	int (*ctor)(const struct nvkm_oclass *, void *data, u32 size,
     16 		    struct nvkm_object **);
     17 };
     18 
     19 struct nvkm_oclass {
     20 	int (*ctor)(const struct nvkm_oclass *, void *data, u32 size,
     21 		    struct nvkm_object **);
     22 	struct nvkm_sclass base;
     23 	const void *priv;
     24 	const void *engn;
     25 	u32 handle;
     26 	u8  route;
     27 	u64 token;
     28 	u64 object;
     29 	struct nvkm_client *client;
     30 	struct nvkm_object *parent;
     31 	struct nvkm_engine *engine;
     32 };
     33 #endif
     34