1 /* $NetBSD: priv.h,v 1.2 2021/12/18 23:45:37 riastradh Exp $ */ 2 3 /* SPDX-License-Identifier: MIT */ 4 #ifndef __NVKM_SEC2_PRIV_H__ 5 #define __NVKM_SEC2_PRIV_H__ 6 #include <engine/sec2.h> 7 8 struct nvkm_sec2_func { 9 const struct nvkm_falcon_func *flcn; 10 u8 unit_acr; 11 void (*intr)(struct nvkm_sec2 *); 12 int (*initmsg)(struct nvkm_sec2 *); 13 }; 14 15 void gp102_sec2_intr(struct nvkm_sec2 *); 16 int gp102_sec2_initmsg(struct nvkm_sec2 *); 17 18 struct nvkm_sec2_fwif { 19 int version; 20 int (*load)(struct nvkm_sec2 *, int ver, const struct nvkm_sec2_fwif *); 21 const struct nvkm_sec2_func *func; 22 const struct nvkm_acr_lsf_func *acr; 23 }; 24 25 int gp102_sec2_load(struct nvkm_sec2 *, int, const struct nvkm_sec2_fwif *); 26 extern const struct nvkm_sec2_func gp102_sec2; 27 extern const struct nvkm_acr_lsf_func gp102_sec2_acr_1; 28 29 int nvkm_sec2_new_(const struct nvkm_sec2_fwif *, struct nvkm_device *, 30 int, u32 addr, struct nvkm_sec2 **); 31 #endif 32