2019-06-20 00:13:43 +00:00
|
|
|
/* SPDX-License-Identifier: MIT */
|
2017-02-23 09:41:41 +00:00
|
|
|
#ifndef __NVKM_SEC2_PRIV_H__
|
|
|
|
#define __NVKM_SEC2_PRIV_H__
|
|
|
|
#include <engine/sec2.h>
|
|
|
|
|
2020-01-14 20:34:21 +00:00
|
|
|
struct nvkm_sec2_func {
|
2020-01-14 20:34:21 +00:00
|
|
|
const struct nvkm_falcon_func *flcn;
|
2020-01-14 20:34:22 +00:00
|
|
|
u8 unit_acr;
|
2020-01-14 20:34:21 +00:00
|
|
|
void (*intr)(struct nvkm_sec2 *);
|
2020-01-14 20:34:22 +00:00
|
|
|
int (*initmsg)(struct nvkm_sec2 *);
|
2020-01-14 20:34:21 +00:00
|
|
|
};
|
2017-02-23 09:41:41 +00:00
|
|
|
|
2020-01-14 20:34:21 +00:00
|
|
|
void gp102_sec2_intr(struct nvkm_sec2 *);
|
2020-01-14 20:34:22 +00:00
|
|
|
int gp102_sec2_initmsg(struct nvkm_sec2 *);
|
2020-01-14 20:34:21 +00:00
|
|
|
|
2020-01-14 20:34:21 +00:00
|
|
|
struct nvkm_sec2_fwif {
|
|
|
|
int version;
|
|
|
|
int (*load)(struct nvkm_sec2 *, int ver, const struct nvkm_sec2_fwif *);
|
|
|
|
const struct nvkm_sec2_func *func;
|
|
|
|
const struct nvkm_acr_lsf_func *acr;
|
|
|
|
};
|
|
|
|
|
2020-06-16 00:41:49 +00:00
|
|
|
int gp102_sec2_nofw(struct nvkm_sec2 *, int, const struct nvkm_sec2_fwif *);
|
2020-01-14 20:34:21 +00:00
|
|
|
int gp102_sec2_load(struct nvkm_sec2 *, int, const struct nvkm_sec2_fwif *);
|
|
|
|
extern const struct nvkm_sec2_func gp102_sec2;
|
|
|
|
extern const struct nvkm_acr_lsf_func gp102_sec2_acr_1;
|
|
|
|
|
2020-12-04 06:11:29 +00:00
|
|
|
int nvkm_sec2_new_(const struct nvkm_sec2_fwif *, struct nvkm_device *, enum nvkm_subdev_type,
|
2020-01-14 20:34:21 +00:00
|
|
|
int, u32 addr, struct nvkm_sec2 **);
|
2017-02-23 09:41:41 +00:00
|
|
|
#endif
|