Lines Matching refs:opp

129 	} opp[];
142 } opp[];
157 struct scmi_opp opp[MAX_OPPS];
340 process_response_opp(struct scmi_opp *opp, unsigned int loop_idx,
343 opp->perf = le32_to_cpu(r->opp[loop_idx].perf_val);
344 opp->power = le32_to_cpu(r->opp[loop_idx].power);
345 opp->trans_latency_us =
346 le16_to_cpu(r->opp[loop_idx].transition_latency_us);
351 struct scmi_opp *opp, unsigned int loop_idx,
354 opp->perf = le32_to_cpu(r->opp[loop_idx].perf_val);
355 opp->power = le32_to_cpu(r->opp[loop_idx].power);
356 opp->trans_latency_us =
357 le16_to_cpu(r->opp[loop_idx].transition_latency_us);
360 opp->indicative_freq = le32_to_cpu(r->opp[loop_idx].indicative_freq);
364 opp->level_index = le32_to_cpu(r->opp[loop_idx].level_index);
366 ret = xa_insert(&dom->opps_by_idx, opp->level_index, opp,
371 opp->level_index, ret);
373 ret = xa_insert(&dom->opps_by_lvl, opp->perf, opp, GFP_KERNEL);
377 opp->perf, ret);
379 hash_add(dom->opps_by_freq, &opp->hash, opp->indicative_freq);
388 struct scmi_opp *opp;
391 opp = &p->perf_dom->opp[st->desc_index + st->loop_idx];
393 process_response_opp(opp, st->loop_idx, response);
395 process_response_opp_v4(ph->dev, p->perf_dom, opp, st->loop_idx,
400 opp->perf, opp->power, opp->trans_latency_us,
401 opp->indicative_freq, opp->level_index);
434 sort(perf_dom->opp, perf_dom->opp_count,
525 struct scmi_opp *opp;
528 opp = xa_load(&dom->opps_by_lvl, min_perf);
529 if (!opp)
532 min_perf = opp->level_index;
536 opp = xa_load(&dom->opps_by_lvl, max_perf);
537 if (!opp)
540 max_perf = opp->level_index;
605 struct scmi_opp *opp;
607 opp = xa_load(&dom->opps_by_idx, *min_perf);
608 if (!opp)
611 *min_perf = opp->perf;
613 opp = xa_load(&dom->opps_by_idx, *max_perf);
614 if (!opp)
617 *max_perf = opp->perf;
672 struct scmi_opp *opp;
674 opp = xa_load(&dom->opps_by_lvl, level);
675 if (!opp)
678 level = opp->level_index;
735 struct scmi_opp *opp;
737 opp = xa_load(&dom->opps_by_idx, *level);
738 if (!opp)
741 *level = opp->perf;
828 freq = dom->opp[idx].perf * dom->mult_factor;
830 freq = dom->opp[idx].indicative_freq * dom->mult_factor;
834 dev_warn(dev, "failed to add opp %luHz\n", freq);
861 return dom->opp[dom->opp_count - 1].trans_latency_us * 1000;
877 struct scmi_opp *opp;
879 opp = LOOKUP_BY_FREQ(dom->opps_by_freq,
881 if (!opp)
884 level = opp->level_index;
908 struct scmi_opp *opp;
910 opp = xa_load(&dom->opps_by_idx, level);
911 if (!opp)
914 *freq = opp->indicative_freq * dom->mult_factor;
927 struct scmi_opp *opp;
933 for (opp = dom->opp, idx = 0; idx < dom->opp_count; idx++, opp++) {
935 opp_freq = opp->perf * dom->mult_factor;
937 opp_freq = opp->indicative_freq * dom->mult_factor;
943 *power = opp->power;