Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: MIT */
0002 #ifndef __NVBIOS_INIT_H__
0003 #define __NVBIOS_INIT_H__
0004 
0005 struct nvbios_init {
0006     struct nvkm_subdev *subdev;
0007     u32 offset;
0008 
0009     struct dcb_output *outp;
0010     int or;
0011     int link;
0012     int head;
0013 
0014     /* internal state used during parsing */
0015     u8 execute;
0016     u32 nested;
0017     u32 repeat;
0018     u32 repend;
0019     u32 ramcfg;
0020 };
0021 
0022 #define nvbios_init(s,o,ARGS...) ({                                            \
0023     struct nvbios_init init = {                                            \
0024         .subdev = (s),                                                 \
0025         .offset = (o),                                                 \
0026         .or = -1,                                                      \
0027         .link = 0,                                                     \
0028         .head = -1,                                                    \
0029         .execute = 1,                                                  \
0030     };                                                                     \
0031     ARGS                                                                   \
0032     nvbios_exec(&init);                                                    \
0033 })
0034 int nvbios_exec(struct nvbios_init *);
0035 
0036 int nvbios_post(struct nvkm_subdev *, bool execute);
0037 #endif