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