1 #ifndef __NVBIOS_INIT_H__ 2 #define __NVBIOS_INIT_H__ 3 4 struct nvbios_init { 5 struct nvkm_subdev *subdev; 6 u32 offset; 7 8 struct dcb_output *outp; 9 int or; 10 int link; 11 int head; 12 13 /* internal state used during parsing */ 14 u8 execute; 15 u32 nested; 16 u32 repeat; 17 u32 repend; 18 u32 ramcfg; 19 }; 20 21 #define nvbios_init(s,o,ARGS...) ({ \ 22 struct nvbios_init init = { \ 23 .subdev = (s), \ 24 .offset = (o), \ 25 .or = -1, \ 26 .link = 0, \ 27 .head = -1, \ 28 .execute = 1, \ 29 }; \ 30 ARGS \ 31 nvbios_exec(&init); \ 32 }) 33 int nvbios_exec(struct nvbios_init *); 34 35 int nvbios_post(struct nvkm_subdev *, bool execute); 36 #endif 37