Loading...
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#endif