Lines Matching refs:cstate

84 nvkm_cstate_valid(struct nvkm_clk *clk, struct nvkm_cstate *cstate,
93 u32 freq = cstate->domain[domain->name];
110 voltage = nvkm_volt_map(volt, cstate->voltage, temp);
118 struct nvkm_cstate *cstate)
124 if (!pstate || !cstate)
128 return cstate;
141 list_for_each_entry_from_reverse(cstate, &pstate->list, head) {
142 if (nvkm_cstate_valid(clk, cstate, max_volt, clk->temp))
146 return cstate;
152 struct nvkm_cstate *cstate;
154 return list_last_entry(&pstate->list, typeof(*cstate), head);
156 list_for_each_entry(cstate, &pstate->list, head) {
157 if (cstate->id == cstatei)
158 return cstate;
171 struct nvkm_cstate *cstate;
175 cstate = nvkm_cstate_get(clk, pstate, cstatei);
176 cstate = nvkm_cstate_find_best(clk, pstate, cstate);
178 cstate = &pstate->base;
190 ret = nvkm_volt_set_id(volt, cstate->voltage,
198 ret = clk->func->calc(clk, cstate);
205 ret = nvkm_volt_set_id(volt, cstate->voltage,
221 nvkm_cstate_del(struct nvkm_cstate *cstate)
223 list_del(&cstate->head);
224 kfree(cstate);
233 struct nvkm_cstate *cstate = NULL;
245 cstate = kzalloc(sizeof(*cstate), GFP_KERNEL);
246 if (!cstate)
249 *cstate = pstate->base;
250 cstate->voltage = cstepX.voltage;
251 cstate->id = idx;
257 cstate->domain[domain->name] = freq;
262 list_add(&cstate->head, &pstate->list);
381 struct nvkm_cstate *cstate;
397 list_for_each_entry(cstate, &pstate->list, head) {
398 u32 freq = cstate->domain[clock->name];
423 struct nvkm_cstate *cstate, *temp;
425 list_for_each_entry_safe(cstate, temp, &pstate->list, head) {
426 nvkm_cstate_del(cstate);
439 struct nvkm_cstate *cstate;
452 cstate = &pstate->base;
462 cstate->voltage = perfE.voltage;
463 cstate->domain[nv_clk_src_core] = perfE.core;
464 cstate->domain[nv_clk_src_shader] = perfE.shader;
465 cstate->domain[nv_clk_src_mem] = perfE.memory;
466 cstate->domain[nv_clk_src_vdec] = perfE.vdec;
467 cstate->domain[nv_clk_src_dom6] = perfE.disp;
484 cstate->domain[domain->name] = perfS.v40.freq;