1b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */
2c39f472eSBen Skeggs #ifndef __NVBIOS_VMAP_H__
3c39f472eSBen Skeggs #define __NVBIOS_VMAP_H__
4c39f472eSBen Skeggs struct nvbios_vmap {
54a4555a7SKarol Herbst 	u8  max0;
64a4555a7SKarol Herbst 	u8  max1;
74a4555a7SKarol Herbst 	u8  max2;
8c39f472eSBen Skeggs };
9c39f472eSBen Skeggs 
1060fb7064SBen Skeggs u32 nvbios_vmap_table(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len);
1160fb7064SBen Skeggs u32 nvbios_vmap_parse(struct nvkm_bios *, u8 *ver, u8 *hdr, u8 *cnt, u8 *len,
12c39f472eSBen Skeggs 		      struct nvbios_vmap *);
13c39f472eSBen Skeggs 
14c39f472eSBen Skeggs struct nvbios_vmap_entry {
155c3b16eeSKarol Herbst 	u8  mode;
16c39f472eSBen Skeggs 	u8  link;
17c39f472eSBen Skeggs 	u32 min;
18c39f472eSBen Skeggs 	u32 max;
19c39f472eSBen Skeggs 	s32 arg[6];
20c39f472eSBen Skeggs };
21c39f472eSBen Skeggs 
2260fb7064SBen Skeggs u32 nvbios_vmap_entry(struct nvkm_bios *, int idx, u8 *ver, u8 *len);
2360fb7064SBen Skeggs u32 nvbios_vmap_entry_parse(struct nvkm_bios *, int idx, u8 *ver, u8 *len,
24c39f472eSBen Skeggs 			    struct nvbios_vmap_entry *);
25c39f472eSBen Skeggs #endif
26