1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __NVBIOS_DP_H__
3 #define __NVBIOS_DP_H__
4 
5 u16
6 nvbios_dp_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
7 
8 struct nvbios_dpout {
9 	u16 type;
10 	u16 mask;
11 	u8  flags;
12 	u32 script[5];
13 	u32 lnkcmp;
14 };
15 
16 u16 nvbios_dpout_parse(struct nvkm_bios *, u8 idx,
17 		       u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
18 		       struct nvbios_dpout *);
19 u16 nvbios_dpout_match(struct nvkm_bios *, u16 type, u16 mask,
20 		       u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
21 		       struct nvbios_dpout *);
22 
23 struct nvbios_dpcfg {
24 	u8 pc;
25 	u8 dc;
26 	u8 pe;
27 	u8 tx_pu;
28 };
29 
30 u16
31 nvbios_dpcfg_parse(struct nvkm_bios *, u16 outp, u8 idx,
32 		   u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_dpcfg *);
33 u16
34 nvbios_dpcfg_match(struct nvkm_bios *, u16 outp, u8 pc, u8 vs, u8 pe,
35 		   u8 *ver, u8 *hdr, u8 *cnt, u8 *len, struct nvbios_dpcfg *);
36 #endif
37