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