xref: /linux/drivers/gpu/drm/nouveau/nvkm/subdev/mxm/mxms.h (revision 0898782247ae533d1f4e47a06bc5d4870931b284)
1*b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */
2c39f472eSBen Skeggs #ifndef __NVMXM_MXMS_H__
3c39f472eSBen Skeggs #define __NVMXM_MXMS_H__
4a4f7bd36SBen Skeggs #include "priv.h"
5c39f472eSBen Skeggs 
6c39f472eSBen Skeggs struct mxms_odev {
7c39f472eSBen Skeggs 	u8 outp_type;
8c39f472eSBen Skeggs 	u8 conn_type;
9c39f472eSBen Skeggs 	u8 ddc_port;
10c39f472eSBen Skeggs 	u8 dig_conn;
11c39f472eSBen Skeggs };
12c39f472eSBen Skeggs 
13be83cd4eSBen Skeggs void mxms_output_device(struct nvkm_mxm *, u8 *, struct mxms_odev *);
14c39f472eSBen Skeggs 
15be83cd4eSBen Skeggs u16  mxms_version(struct nvkm_mxm *);
16be83cd4eSBen Skeggs u16  mxms_headerlen(struct nvkm_mxm *);
17be83cd4eSBen Skeggs u16  mxms_structlen(struct nvkm_mxm *);
18be83cd4eSBen Skeggs bool mxms_checksum(struct nvkm_mxm *);
19be83cd4eSBen Skeggs bool mxms_valid(struct nvkm_mxm *);
20c39f472eSBen Skeggs 
21be83cd4eSBen Skeggs bool mxms_foreach(struct nvkm_mxm *, u8,
22be83cd4eSBen Skeggs 		  bool (*)(struct nvkm_mxm *, u8 *, void *), void *);
23c39f472eSBen Skeggs #endif
24