1 /* SPDX-License-Identifier: MIT */ 2 #ifndef __NVKM_SEC2_H__ 3 #define __NVKM_SEC2_H__ 4 #define nvkm_sec2(p) container_of((p), struct nvkm_sec2, engine) 5 #include <core/engine.h> 6 #include <core/falcon.h> 7 8 struct nvkm_sec2 { 9 const struct nvkm_sec2_func *func; 10 struct nvkm_engine engine; 11 struct nvkm_falcon falcon; 12 13 struct nvkm_falcon_qmgr *qmgr; 14 struct nvkm_falcon_cmdq *cmdq; 15 struct nvkm_falcon_msgq *msgq; 16 17 struct work_struct work; 18 bool initmsg_received; 19 }; 20 21 int gp102_sec2_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_sec2 **); 22 int gp108_sec2_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_sec2 **); 23 int tu102_sec2_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_sec2 **); 24 #endif 25