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