Lines Matching full:pmu

32 	struct nvkm_pmu *pmu = device->pmu;  in nvkm_pmu_fan_controlled()  local
34 /* Internal PMU FW does not currently control fans in any way, in nvkm_pmu_fan_controlled()
37 if (pmu && pmu->func->code.size) in nvkm_pmu_fan_controlled()
40 /* Default (board-loaded, or VBIOS PMU/PREOS) PMU FW on Fermi in nvkm_pmu_fan_controlled()
48 nvkm_pmu_pgob(struct nvkm_pmu *pmu, bool enable) in nvkm_pmu_pgob() argument
50 if (pmu && pmu->func->pgob) in nvkm_pmu_pgob()
51 pmu->func->pgob(pmu, enable); in nvkm_pmu_pgob()
57 struct nvkm_pmu *pmu = container_of(work, typeof(*pmu), recv.work); in nvkm_pmu_recv() local
58 return pmu->func->recv(pmu); in nvkm_pmu_recv()
62 nvkm_pmu_send(struct nvkm_pmu *pmu, u32 reply[2], in nvkm_pmu_send() argument
65 if (!pmu || !pmu->func->send) in nvkm_pmu_send()
67 return pmu->func->send(pmu, reply, process, message, data0, data1); in nvkm_pmu_send()
73 struct nvkm_pmu *pmu = nvkm_pmu(subdev); in nvkm_pmu_intr() local
74 if (!pmu->func->intr) in nvkm_pmu_intr()
76 pmu->func->intr(pmu); in nvkm_pmu_intr()
82 struct nvkm_pmu *pmu = nvkm_pmu(subdev); in nvkm_pmu_fini() local
84 if (pmu->func->fini) in nvkm_pmu_fini()
85 pmu->func->fini(pmu); in nvkm_pmu_fini()
87 flush_work(&pmu->recv.work); in nvkm_pmu_fini()
92 nvkm_pmu_reset(struct nvkm_pmu *pmu) in nvkm_pmu_reset() argument
94 struct nvkm_device *device = pmu->subdev.device; in nvkm_pmu_reset()
96 if (!pmu->func->enabled(pmu)) in nvkm_pmu_reset()
107 if (pmu->func->reset) in nvkm_pmu_reset()
108 pmu->func->reset(pmu); in nvkm_pmu_reset()
122 struct nvkm_pmu *pmu = nvkm_pmu(subdev); in nvkm_pmu_preinit() local
123 return nvkm_pmu_reset(pmu); in nvkm_pmu_preinit()
129 struct nvkm_pmu *pmu = nvkm_pmu(subdev); in nvkm_pmu_init() local
130 int ret = nvkm_pmu_reset(pmu); in nvkm_pmu_init()
131 if (ret == 0 && pmu->func->init) in nvkm_pmu_init()
132 ret = pmu->func->init(pmu); in nvkm_pmu_init()
139 struct nvkm_pmu *pmu = nvkm_pmu(subdev); in nvkm_pmu_oneinit() local
140 return nvkm_falcon_v1_new(&pmu->subdev, "PMU", 0x10a000, &pmu->falcon); in nvkm_pmu_oneinit()
146 struct nvkm_pmu *pmu = nvkm_pmu(subdev); in nvkm_pmu_dtor() local
147 nvkm_msgqueue_del(&pmu->queue); in nvkm_pmu_dtor()
148 nvkm_falcon_del(&pmu->falcon); in nvkm_pmu_dtor()
164 int index, struct nvkm_pmu *pmu) in nvkm_pmu_ctor() argument
166 nvkm_subdev_ctor(&nvkm_pmu, device, index, &pmu->subdev); in nvkm_pmu_ctor()
167 pmu->func = func; in nvkm_pmu_ctor()
168 INIT_WORK(&pmu->recv.work, nvkm_pmu_recv); in nvkm_pmu_ctor()
169 init_waitqueue_head(&pmu->recv.wait); in nvkm_pmu_ctor()
177 struct nvkm_pmu *pmu; in nvkm_pmu_new_() local
178 if (!(pmu = *ppmu = kzalloc(sizeof(*pmu), GFP_KERNEL))) in nvkm_pmu_new_()