38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
|
/* SPDX-License-Identifier: MIT */
|
||
|
#ifndef __NVBIOS_INIT_H__
|
||
|
#define __NVBIOS_INIT_H__
|
||
|
|
||
|
struct nvbios_init {
|
||
|
struct nvkm_subdev *subdev;
|
||
|
u32 offset;
|
||
|
|
||
|
struct dcb_output *outp;
|
||
|
int or;
|
||
|
int link;
|
||
|
int head;
|
||
|
|
||
|
/* internal state used during parsing */
|
||
|
u8 execute;
|
||
|
u32 nested;
|
||
|
u32 repeat;
|
||
|
u32 repend;
|
||
|
u32 ramcfg;
|
||
|
};
|
||
|
|
||
|
#define nvbios_init(s,o,ARGS...) ({ \
|
||
|
struct nvbios_init init = { \
|
||
|
.subdev = (s), \
|
||
|
.offset = (o), \
|
||
|
.or = -1, \
|
||
|
.link = 0, \
|
||
|
.head = -1, \
|
||
|
.execute = 1, \
|
||
|
}; \
|
||
|
ARGS \
|
||
|
nvbios_exec(&init); \
|
||
|
})
|
||
|
int nvbios_exec(struct nvbios_init *);
|
||
|
|
||
|
int nvbios_post(struct nvkm_subdev *, bool execute);
|
||
|
#endif
|