1c39f472eSBen Skeggs #ifndef __NVBIOS_DISP_H__
2c39f472eSBen Skeggs #define __NVBIOS_DISP_H__
3c39f472eSBen Skeggs 
4c39f472eSBen Skeggs u16 nvbios_disp_table(struct nouveau_bios *,
5c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len, u8 *sub);
6c39f472eSBen Skeggs 
7c39f472eSBen Skeggs struct nvbios_disp {
8c39f472eSBen Skeggs 	u16 data;
9c39f472eSBen Skeggs };
10c39f472eSBen Skeggs 
11c39f472eSBen Skeggs u16 nvbios_disp_entry(struct nouveau_bios *, u8 idx,
12c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr__, u8 *sub);
13c39f472eSBen Skeggs u16 nvbios_disp_parse(struct nouveau_bios *, u8 idx,
14c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr__, u8 *sub,
15c39f472eSBen Skeggs 		      struct nvbios_disp *);
16c39f472eSBen Skeggs 
17c39f472eSBen Skeggs struct nvbios_outp {
18c39f472eSBen Skeggs 	u16 type;
19c39f472eSBen Skeggs 	u16 mask;
20c39f472eSBen Skeggs 	u16 script[3];
21c39f472eSBen Skeggs };
22c39f472eSBen Skeggs 
23c39f472eSBen Skeggs u16 nvbios_outp_entry(struct nouveau_bios *, u8 idx,
24c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
25c39f472eSBen Skeggs u16 nvbios_outp_parse(struct nouveau_bios *, u8 idx,
26c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
27c39f472eSBen Skeggs 		      struct nvbios_outp *);
28c39f472eSBen Skeggs u16 nvbios_outp_match(struct nouveau_bios *, u16 type, u16 mask,
29c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
30c39f472eSBen Skeggs 		      struct nvbios_outp *);
31c39f472eSBen Skeggs 
32c39f472eSBen Skeggs 
33c39f472eSBen Skeggs struct nvbios_ocfg {
34c39f472eSBen Skeggs 	u16 match;
35c39f472eSBen Skeggs 	u16 clkcmp[2];
36c39f472eSBen Skeggs };
37c39f472eSBen Skeggs 
38c39f472eSBen Skeggs u16 nvbios_ocfg_entry(struct nouveau_bios *, u16 outp, u8 idx,
39c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
40c39f472eSBen Skeggs u16 nvbios_ocfg_parse(struct nouveau_bios *, u16 outp, u8 idx,
41c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
42c39f472eSBen Skeggs 		      struct nvbios_ocfg *);
43c39f472eSBen Skeggs u16 nvbios_ocfg_match(struct nouveau_bios *, u16 outp, u16 type,
44c39f472eSBen Skeggs 		      u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
45c39f472eSBen Skeggs 		      struct nvbios_ocfg *);
46c39f472eSBen Skeggs u16 nvbios_oclk_match(struct nouveau_bios *, u16 cmp, u32 khz);
47c39f472eSBen Skeggs 
48c39f472eSBen Skeggs #endif
49