0001
0002 #ifndef __NVKM_SEC2_H__
0003 #define __NVKM_SEC2_H__
0004 #define nvkm_sec2(p) container_of((p), struct nvkm_sec2, engine)
0005 #include <core/engine.h>
0006 #include <core/falcon.h>
0007
0008 struct nvkm_sec2 {
0009 const struct nvkm_sec2_func *func;
0010 struct nvkm_engine engine;
0011 struct nvkm_falcon falcon;
0012
0013 struct nvkm_falcon_qmgr *qmgr;
0014 struct nvkm_falcon_cmdq *cmdq;
0015 struct nvkm_falcon_msgq *msgq;
0016
0017 struct work_struct work;
0018 bool initmsg_received;
0019 };
0020
0021 int gp102_sec2_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_sec2 **);
0022 int gp108_sec2_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_sec2 **);
0023 int tu102_sec2_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_sec2 **);
0024 #endif