1*b7019ac5SIlia Mirkin /* SPDX-License-Identifier: MIT */ 2c39f472eSBen Skeggs #ifndef __NVBIOS_CSTEP_H__ 3c39f472eSBen Skeggs #define __NVBIOS_CSTEP_H__ 46496b4e5SBen Skeggs u32 nvbios_cstepTe(struct nvkm_bios *, 5c39f472eSBen Skeggs u8 *ver, u8 *hdr, u8 *cnt, u8 *len, u8 *xnr, u8 *xsz); 6c39f472eSBen Skeggs 7c39f472eSBen Skeggs struct nvbios_cstepE { 8c39f472eSBen Skeggs u8 pstate; 9c39f472eSBen Skeggs u8 index; 10c39f472eSBen Skeggs }; 11c39f472eSBen Skeggs 126496b4e5SBen Skeggs u32 nvbios_cstepEe(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr); 136496b4e5SBen Skeggs u32 nvbios_cstepEp(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr, 14c39f472eSBen Skeggs struct nvbios_cstepE *); 156496b4e5SBen Skeggs u32 nvbios_cstepEm(struct nvkm_bios *, u8 pstate, u8 *ver, u8 *hdr, 16c39f472eSBen Skeggs struct nvbios_cstepE *); 17c39f472eSBen Skeggs 18c39f472eSBen Skeggs struct nvbios_cstepX { 19c39f472eSBen Skeggs u32 freq; 20c39f472eSBen Skeggs u8 unkn[2]; 21c39f472eSBen Skeggs u8 voltage; 22c39f472eSBen Skeggs }; 23c39f472eSBen Skeggs 246496b4e5SBen Skeggs u32 nvbios_cstepXe(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr); 256496b4e5SBen Skeggs u32 nvbios_cstepXp(struct nvkm_bios *, int idx, u8 *ver, u8 *hdr, 26c39f472eSBen Skeggs struct nvbios_cstepX *); 27c39f472eSBen Skeggs #endif 28