@@ -7,9 +7,8 @@ enum nvkm_acr_lsf_id;
77
88int nvkm_gsp_fwsec_frts (struct nvkm_gsp * );
99
10- int nvkm_gsp_fwsec_sb_ctor (struct nvkm_gsp * );
1110int nvkm_gsp_fwsec_sb (struct nvkm_gsp * );
12- void nvkm_gsp_fwsec_sb_dtor (struct nvkm_gsp * );
11+ int nvkm_gsp_fwsec_sb_init (struct nvkm_gsp * gsp );
1312
1413struct nvkm_gsp_fwif {
1514 int version ;
@@ -52,6 +51,11 @@ struct nvkm_gsp_func {
5251 struct nvkm_falcon * , struct nvkm_falcon_fw * );
5352 } booter ;
5453
54+ struct {
55+ int (* ctor )(struct nvkm_gsp * );
56+ void (* dtor )(struct nvkm_gsp * );
57+ } fwsec_sb ;
58+
5559 void (* dtor )(struct nvkm_gsp * );
5660 int (* oneinit )(struct nvkm_gsp * );
5761 int (* init )(struct nvkm_gsp * );
@@ -67,6 +71,8 @@ extern const struct nvkm_falcon_func tu102_gsp_flcn;
6771extern const struct nvkm_falcon_fw_func tu102_gsp_fwsec ;
6872int tu102_gsp_booter_ctor (struct nvkm_gsp * , const char * , const struct firmware * ,
6973 struct nvkm_falcon * , struct nvkm_falcon_fw * );
74+ int tu102_gsp_fwsec_sb_ctor (struct nvkm_gsp * );
75+ void tu102_gsp_fwsec_sb_dtor (struct nvkm_gsp * );
7076int tu102_gsp_oneinit (struct nvkm_gsp * );
7177int tu102_gsp_init (struct nvkm_gsp * );
7278int tu102_gsp_fini (struct nvkm_gsp * , bool suspend );
@@ -91,5 +97,18 @@ int r535_gsp_fini(struct nvkm_gsp *, bool suspend);
9197int nvkm_gsp_new_ (const struct nvkm_gsp_fwif * , struct nvkm_device * , enum nvkm_subdev_type , int ,
9298 struct nvkm_gsp * * );
9399
100+ static inline int nvkm_gsp_fwsec_sb_ctor (struct nvkm_gsp * gsp )
101+ {
102+ if (gsp -> func -> fwsec_sb .ctor )
103+ return gsp -> func -> fwsec_sb .ctor (gsp );
104+ return 0 ;
105+ }
106+
107+ static inline void nvkm_gsp_fwsec_sb_dtor (struct nvkm_gsp * gsp )
108+ {
109+ if (gsp -> func -> fwsec_sb .dtor )
110+ gsp -> func -> fwsec_sb .dtor (gsp );
111+ }
112+
94113extern const struct nvkm_gsp_func gv100_gsp ;
95114#endif
0 commit comments