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