1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2151abd44SBen Skeggs #ifndef __NV50_DEVINIT_H__ 3151abd44SBen Skeggs #define __NV50_DEVINIT_H__ 4151abd44SBen Skeggs #define nv50_devinit(p) container_of((p), struct nv50_devinit, base) 5c39f472eSBen Skeggs #include "priv.h" 6c39f472eSBen Skeggs 7266f8b5eSBen Skeggs struct nv50_devinit { 8a8c4362bSBen Skeggs struct nvkm_devinit base; 9c39f472eSBen Skeggs u32 r001540; 10c39f472eSBen Skeggs }; 11c39f472eSBen Skeggs 12151abd44SBen Skeggs int nv50_devinit_new_(const struct nvkm_devinit_func *, struct nvkm_device *, 13151abd44SBen Skeggs int, struct nvkm_devinit **); 14151abd44SBen Skeggs void nv50_devinit_preinit(struct nvkm_devinit *); 15151abd44SBen Skeggs void nv50_devinit_init(struct nvkm_devinit *); 16a8c4362bSBen Skeggs int nv50_devinit_pll_set(struct nvkm_devinit *, u32, u32); 17c39f472eSBen Skeggs 18a8c4362bSBen Skeggs int gt215_devinit_pll_set(struct nvkm_devinit *, u32, u32); 19c39f472eSBen Skeggs 204d4d6f75SBen Skeggs int gf100_devinit_ctor(struct nvkm_object *, struct nvkm_object *, 214d4d6f75SBen Skeggs struct nvkm_oclass *, void *, u32, 224d4d6f75SBen Skeggs struct nvkm_object **); 23a8c4362bSBen Skeggs int gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32); 24a6a0f67cSAlexandre Courbot void gf100_devinit_preinit(struct nvkm_devinit *); 25c39f472eSBen Skeggs 26a8c4362bSBen Skeggs u64 gm107_devinit_disable(struct nvkm_devinit *); 278769dc98SBen Skeggs 288769dc98SBen Skeggs int gm200_devinit_post(struct nvkm_devinit *, bool); 29a31e24a7SBen Skeggs void gm200_devinit_preos(struct nv50_devinit *, bool); 30c39f472eSBen Skeggs #endif 31