Home | History | Annotate | Line # | Download | only in sec2
      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