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