#ifndef __NVKM_ACR_PRIV_H__ #define __NVKM_ACR_PRIV_H__ #include <subdev/acr.h> struct lsb_header_tail; struct nvkm_acr_fwif { … }; int gm200_acr_nofw(struct nvkm_acr *, int, const struct nvkm_acr_fwif *); int gm20b_acr_load(struct nvkm_acr *, int, const struct nvkm_acr_fwif *); int gp102_acr_load(struct nvkm_acr *, int, const struct nvkm_acr_fwif *); struct nvkm_acr_lsf; struct nvkm_acr_func { … }; extern const struct nvkm_acr_func gm200_acr; int gm200_acr_wpr_parse(struct nvkm_acr *); u32 gm200_acr_wpr_layout(struct nvkm_acr *); int gm200_acr_wpr_build(struct nvkm_acr *, struct nvkm_acr_lsf *); int gm200_acr_wpr_patch(struct nvkm_acr *, s64); void gm200_acr_wpr_check(struct nvkm_acr *, u64 *, u64 *); void gm200_acr_wpr_build_lsb_tail(struct nvkm_acr_lsfw *, struct lsb_header_tail *); int gm200_acr_init(struct nvkm_acr *); int gm20b_acr_wpr_alloc(struct nvkm_acr *, u32 wpr_size); int gp102_acr_wpr_parse(struct nvkm_acr *); u32 gp102_acr_wpr_layout(struct nvkm_acr *); int gp102_acr_wpr_alloc(struct nvkm_acr *, u32 wpr_size); int gp102_acr_wpr_build(struct nvkm_acr *, struct nvkm_acr_lsf *); int gp102_acr_wpr_build_lsb(struct nvkm_acr *, struct nvkm_acr_lsfw *); int gp102_acr_wpr_patch(struct nvkm_acr *, s64); int tu102_acr_init(struct nvkm_acr *); void ga100_acr_wpr_check(struct nvkm_acr *, u64 *, u64 *); struct nvkm_acr_hsfw { … }; int nvkm_acr_hsfw_boot(struct nvkm_acr *, const char *name); struct nvkm_acr_hsf_fwif { … }; int gm200_acr_hsfw_ctor(struct nvkm_acr *, const char *, const char *, const char *, int, const struct nvkm_acr_hsf_fwif *); int gm200_acr_hsfw_load_bld(struct nvkm_falcon_fw *); extern const struct nvkm_falcon_fw_func gm200_acr_unload_0; extern const struct nvkm_falcon_fw_func gm20b_acr_load_0; int gp102_acr_load_setup(struct nvkm_falcon_fw *); extern const struct nvkm_falcon_fw_func gp108_acr_load_0; extern const struct nvkm_falcon_fw_func gp108_acr_hsfw_0; int gp108_acr_hsfw_load_bld(struct nvkm_falcon_fw *); int ga100_acr_hsfw_ctor(struct nvkm_acr *, const char *, const char *, const char *, int, const struct nvkm_acr_hsf_fwif *); int nvkm_acr_new_(const struct nvkm_acr_fwif *, struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_acr **); struct nvkm_acr_lsf { … }; struct nvkm_acr_lsfw *nvkm_acr_lsfw_add(const struct nvkm_acr_lsf_func *, struct nvkm_acr *, struct nvkm_falcon *, enum nvkm_acr_lsf_id); void nvkm_acr_lsfw_del(struct nvkm_acr_lsfw *); void nvkm_acr_lsfw_del_all(struct nvkm_acr *); #endif