Lines Matching defs:dom

255 	cpupm_domain_t *dom;
257 dom = cpupm_domains;
258 while (dom != NULL) {
259 if (id == dom->cpd_id && type == dom->cpd_type)
260 return (dom);
261 dom = dom->cpd_next;
272 cpupm_domain_t *dom;
276 dom = kmem_zalloc(sizeof (cpupm_domain_t), KM_SLEEP);
277 dom->cpd_id = id;
278 dom->cpd_type = type;
281 dom->cpd_next = cpupm_domains;
282 cpupm_domains = dom;
284 return (dom);
288 cpupm_domain_state_enum(struct cpu *cp, cpupm_domain_t *dom)
294 if (dom->cpd_nstates > 0) {
295 kmem_free(dom->cpd_states,
296 sizeof (cpupm_state_t) * dom->cpd_nstates);
297 dom->cpd_nstates = 0;
305 dom->cpd_nstates = cpupm_plat_state_enumerate(cp, dom->cpd_type, NULL);
307 if (dom->cpd_nstates == 0)
310 dom->cpd_states =
311 kmem_zalloc(dom->cpd_nstates * sizeof (cpupm_state_t), KM_SLEEP);
312 (void) cpupm_plat_state_enumerate(cp, dom->cpd_type, dom->cpd_states);
321 cpupm_domain_t *dom;
331 dom = cpupm_domain_find(did, type);
332 if (dom == NULL) {
333 dom = cpupm_domain_create(did, type);
334 cpupm_domain_state_enum(cp, dom);
346 dom->cpd_named_states[CPUPM_STATE_MAX_PERF] =
347 &dom->cpd_states[0];
348 dom->cpd_named_states[CPUPM_STATE_LOW_POWER] =
349 &dom->cpd_states[dom->cpd_nstates - 1];
354 dom->cpd_state = dom->cpd_named_states[CPUPM_STATE_MAX_PERF];
357 return (dom);
374 cpupm_change_state(struct cpu *cp, cpupm_domain_t *dom, cpupm_state_t *state)
380 cpupm_domain_t *, dom,
383 dom->cpd_state = state;
392 cpupm_utilization_event(struct cpu *cp, hrtime_t now, cpupm_domain_t *dom,
425 if (dom->cpd_state ==
426 dom->cpd_named_states[CPUPM_STATE_LOW_POWER]) {
428 dom->cpd_named_states[CPUPM_STATE_MAX_PERF];
429 if (dom->cpd_governor == CPUPM_GOV_TRANS_WORK) {
430 dom->cpd_governor = CPUPM_GOV_DISENGAGED;
431 dom->cpd_tw = 0;
437 last = dom->cpd_last_lower;
438 dom->cpd_last_raise = now;
441 cpupm_domain_t *, dom,
445 if (dom->cpd_state ==
446 dom->cpd_named_states[CPUPM_STATE_LOW_POWER]) {
461 if (dom->cpd_governor == CPUPM_GOV_DISENGAGED) {
470 if (++dom->cpd_ti >=
478 dom->cpd_governor =
480 dom->cpd_ti = 0;
483 cpupm_domain_t *, dom);
490 dom->cpd_ti = 0;
493 if (dom->cpd_governor == CPUPM_GOV_TRANS_WORK) {
499 cpupm_domain_t *, dom);
506 new_state = dom->cpd_named_states[CPUPM_STATE_MAX_PERF];
508 } else if (dom->cpd_state ==
509 dom->cpd_named_states[CPUPM_STATE_MAX_PERF]) {
517 if (dom->cpd_governor == CPUPM_GOV_TRANS_IDLE) {
525 if (++dom->cpd_ti >=
532 dom->cpd_governor =
534 dom->cpd_ti = 0;
537 cpupm_domain_t *, dom);
544 dom->cpd_ti = 0;
551 last = dom->cpd_last_raise;
552 dom->cpd_last_lower = now;
555 cpupm_domain_t *, dom,
559 if (dom->cpd_state ==
560 dom->cpd_named_states[CPUPM_STATE_MAX_PERF]) {
568 if (dom->cpd_governor == CPUPM_GOV_DISENGAGED) {
576 if (++dom->cpd_tw >=
584 dom->cpd_governor =
586 dom->cpd_tw = 0;
589 cpupm_domain_t *, dom);
596 dom->cpd_tw = 0;
599 if (dom->cpd_governor == CPUPM_GOV_TRANS_IDLE) {
605 cpupm_domain_t *, dom);
614 dom->cpd_named_states[CPUPM_STATE_LOW_POWER];
616 } else if (dom->cpd_state ==
617 dom->cpd_named_states[CPUPM_STATE_LOW_POWER]) {
625 if (dom->cpd_governor == CPUPM_GOV_TRANS_WORK) {
632 if (++dom->cpd_tw >=
639 dom->cpd_governor =
641 dom->cpd_tw = 0;
644 cpupm_domain_t *, dom);
651 dom->cpd_tw = 0;
662 (void) cpupm_change_state(cp, dom, new_state);
673 cpupm_domain_t *dom;
681 dom = cpupm_domain_find(did, type);
684 dom = cpupm_domain_find(did, type);
696 if (dom != NULL) {
697 if (dom->cpd_state ==
698 dom->cpd_named_states[CPUPM_STATE_MAX_PERF]) {
706 if (max_perf_level >= dom->cpd_nstates &&
707 dom->cpd_nstates > 1) {
708 max_perf_level = dom->cpd_nstates - 1;
711 dom->cpd_named_states[CPUPM_STATE_MAX_PERF] =
712 &dom->cpd_states[max_perf_level];
720 dom->cpd_named_states[CPUPM_STATE_MAX_PERF];
722 (void) cpupm_change_state(cp, dom, new_state);
751 cpupm_domain_t *dom;
780 dom = (cpupm_domain_t *)pwr_pg->cmt_pg.pghw_handle;
787 (void) cpupm_change_state(cp, dom,
788 dom->cpd_named_states[state]);