nvkm_fsp
NVKM_LAYOUT_ONCE(NVKM_SUBDEV_FSP , struct nvkm_fsp , fsp)
bool nvkm_fsp_verify_gsp_fmc(struct nvkm_fsp *, u32 hash_size, u32 pkey_size, u32 sig_size);
int nvkm_fsp_boot_gsp_fmc(struct nvkm_fsp *, u64 args_addr, u32 rsvd_size, bool resume,
int gh100_fsp_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fsp **);
int gb100_fsp_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fsp **);
int gb202_fsp_new(struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fsp **);
nvkm_fsp_verify_gsp_fmc(struct nvkm_fsp *fsp, u32 hash_size, u32 pkey_size, u32 sig_size)
struct nvkm_fsp *fsp = nvkm_fsp(subdev);
struct nvkm_fsp *fsp = nvkm_fsp(subdev);
nvkm_fsp = {
struct nvkm_fsp **pfsp)
struct nvkm_fsp *fsp;
nvkm_subdev_ctor(&nvkm_fsp, device, type, inst, &fsp->subdev);
nvkm_fsp_boot_gsp_fmc(struct nvkm_fsp *fsp, u64 args_addr, u32 rsvd_size, bool resume,
enum nvkm_subdev_type type, int inst, struct nvkm_fsp **pfsp)
gb202_fsp_wait_secure_boot(struct nvkm_fsp *fsp)
enum nvkm_subdev_type type, int inst, struct nvkm_fsp **pfsp)
gh100_fsp_wait(struct nvkm_fsp *fsp)
gh100_fsp_send(struct nvkm_fsp *fsp, const u8 *packet, u32 packet_size)
gh100_fsp_send_sync(struct nvkm_fsp *fsp, u8 nvdm_type, const u8 *packet, u32 packet_size)
gh100_fsp_boot_gsp_fmc(struct nvkm_fsp *fsp, u64 args_addr, u32 rsvd_size, bool resume,
gh100_fsp_wait_secure_boot(struct nvkm_fsp *fsp)
enum nvkm_subdev_type type, int inst, struct nvkm_fsp **pfsp)
gh100_fsp_poll(struct nvkm_fsp *fsp)
gh100_fsp_recv(struct nvkm_fsp *fsp, u8 *packet, u32 max_packet_size)
int (*wait_secure_boot)(struct nvkm_fsp *);
int (*boot_gsp_fmc)(struct nvkm_fsp *, u64 args_addr, u32 rsvd_size, bool resume,
struct nvkm_device *, enum nvkm_subdev_type, int inst, struct nvkm_fsp **);
int gh100_fsp_wait_secure_boot(struct nvkm_fsp *);
int gh100_fsp_boot_gsp_fmc(struct nvkm_fsp *, u64 args_addr, u32 rsvd_size, bool resume,
#define nvkm_fsp(p) container_of((p), struct nvkm_fsp, subdev)
struct nvkm_fsp *fsp = device->fsp;