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