1/* SPDX-License-Identifier: MIT */
2#ifndef __NVBIOS_DISP_H__
3#define __NVBIOS_DISP_H__
4u16 nvbios_disp_table(struct nvkm_bios *,
5		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len, u8 *sub);
6
7struct nvbios_disp {
8	u16 data;
9};
10
11u16 nvbios_disp_entry(struct nvkm_bios *, u8 idx, u8 *ver, u8 *hdr, u8 *sub);
12u16 nvbios_disp_parse(struct nvkm_bios *, u8 idx, u8 *ver, u8 *hdr, u8 *sub,
13		      struct nvbios_disp *);
14
15struct nvbios_outp {
16	u16 type;
17	u16 mask;
18	u16 script[3];
19};
20
21u16 nvbios_outp_entry(struct nvkm_bios *, u8 idx,
22		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
23u16 nvbios_outp_parse(struct nvkm_bios *, u8 idx,
24		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_outp *);
25u16 nvbios_outp_match(struct nvkm_bios *, u16 type, u16 mask,
26		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_outp *);
27
28struct nvbios_ocfg {
29	u8  proto;
30	u8  flags;
31	u16 clkcmp[2];
32};
33
34u16 nvbios_ocfg_entry(struct nvkm_bios *, u16 outp, u8 idx,
35		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
36u16 nvbios_ocfg_parse(struct nvkm_bios *, u16 outp, u8 idx,
37		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_ocfg *);
38u16 nvbios_ocfg_match(struct nvkm_bios *, u16 outp, u8 proto, u8 flags,
39		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_ocfg *);
40u16 nvbios_oclk_match(struct nvkm_bios *, u16 cmp, u32 khz);
41#endif
42