Lines Matching refs:cur_spd

168 		    (cpudsp), (((cpudsp)->cpudrv_pm.cur_spd == NULL) ? \
170 (cpudsp)->cpudrv_pm.cur_spd->quant_cnt)); \
326 cpudsp->cpudrv_pm.cur_spd = NULL; in cpudrv_attach()
376 cpudsp->cpudrv_pm.cur_spd = NULL; in cpudrv_attach()
475 cpupm->cur_spd->pm_level, in cpudrv_detach()
480 if (!cpudrv_direct_pm && (cpupm->cur_spd != in cpudrv_detach()
564 if ((cpudrvpm->cur_spd != NULL) && in cpudrv_power()
565 (level < cpudrvpm->cur_spd->pm_level)) { in cpudrv_power()
623 if ((cpudrvpm->cur_spd != NULL) && (level < in cpudrv_power()
624 cpudrvpm->cur_spd->pm_level)) { in cpudrv_power()
642 cpudrvpm->cur_spd = new_spd; in cpudrv_power()
656 cpudrv_pm_spd_t *cur_spd; in cpudrv_init() local
698 cur_spd = kmem_zalloc(sizeof (cpudrv_pm_spd_t), KM_SLEEP); in cpudrv_init()
699 cur_spd->speed = speeds[i]; in cpudrv_init()
701 cpupm->head_spd = cur_spd; in cpudrv_init()
702 CPUDRV_TOPSPEED(cpupm) = cur_spd; in cpudrv_init()
703 cur_spd->quant_cnt = CPUDRV_QUANT_CNT_NORMAL; in cpudrv_init()
704 cur_spd->idle_hwm = in cpudrv_init()
705 (cpudrv_idle_hwm * cur_spd->quant_cnt) / 100; in cpudrv_init()
707 cur_spd->idle_lwm = 0; in cpudrv_init()
708 cur_spd->user_hwm = UINT_MAX; in cpudrv_init()
710 cur_spd->quant_cnt = CPUDRV_QUANT_CNT_OTHR; in cpudrv_init()
712 prev_spd->down_spd = cur_spd; in cpudrv_init()
713 cur_spd->up_spd = cpupm->head_spd; in cpudrv_init()
732 cur_spd->idle_hwm = in cpudrv_init()
733 (idle_cnt_percent * cur_spd->quant_cnt) / 100; in cpudrv_init()
734 cur_spd->idle_lwm = in cpudrv_init()
735 (cpudrv_idle_lwm * cur_spd->quant_cnt) / 100; in cpudrv_init()
744 cur_spd->user_hwm = (cpudrv_user_hwm * in cpudrv_init()
745 cur_spd->quant_cnt) / 100; in cpudrv_init()
751 prev_spd = cur_spd; in cpudrv_init()
754 cur_spd->idle_hwm = UINT_MAX; in cpudrv_init()
755 cur_spd->user_lwm = -1; in cpudrv_init()
760 for (cur_spd = cpupm->head_spd; cur_spd; cur_spd = cur_spd->down_spd) { in cpudrv_init()
765 cur_spd->speed, in cpudrv_init()
766 (cur_spd->down_spd ? cur_spd->down_spd->speed : 0), in cpudrv_init()
767 cur_spd->idle_hwm, cur_spd->user_lwm, in cpudrv_init()
768 (cur_spd->up_spd ? cur_spd->up_spd->speed : 0), in cpudrv_init()
769 cur_spd->idle_lwm, cur_spd->user_hwm, in cpudrv_init()
770 cur_spd->quant_cnt)); in cpudrv_init()
784 cpudrv_pm_spd_t *cur_spd, *next_spd; in cpudrv_free() local
786 cur_spd = cpupm->head_spd; in cpudrv_free()
787 while (cur_spd) { in cpudrv_free()
788 next_spd = cur_spd->down_spd; in cpudrv_free()
789 kmem_free(cur_spd, sizeof (cpudrv_pm_spd_t)); in cpudrv_free()
790 cur_spd = next_spd; in cpudrv_free()
802 cpudrv_pm_spd_t *cur_spd; in cpudrv_comp_create() local
820 for (i = cpupm->num_spd, cur_spd = cpupm->head_spd; i > 0; in cpudrv_comp_create()
821 i--, cur_spd = cur_spd->down_spd) { in cpudrv_comp_create()
822 cur_spd->pm_level = i; in cpudrv_comp_create()
824 comp_spd = CPUDRV_COMP_SPEED(cpupm, cur_spd); in cpudrv_comp_create()
836 CPUDRV_COMP_SPRINT(pmc[i], cpupm, cur_spd, comp_spd) in cpudrv_comp_create()
922 if (ret == DDI_SUCCESS && cpudsp->cpudrv_pm.cur_spd == NULL) { \
923 cpudsp->cpudrv_pm.cur_spd = new_spd; \
969 cpudrv_pm_spd_t *cur_spd, *new_spd; in cpudrv_monitor() local
995 cur_spd = cpupm->cur_spd; in cpudrv_monitor()
1032 if (cur_spd == NULL) { in cpudrv_monitor()
1091 system_cnt, cur_spd->pm_level, cpupm->pm_busycnt)); in cpudrv_monitor()
1102 if (tick_cnt > cur_spd->quant_cnt) { in cpudrv_monitor()
1105 ddi_get_instance(dip), tick_cnt, cur_spd->quant_cnt)); in cpudrv_monitor()
1112 idle_cnt = (idle_cnt * cur_spd->quant_cnt) / tick_cnt; in cpudrv_monitor()
1113 user_cnt = (user_cnt * cur_spd->quant_cnt) / tick_cnt; in cpudrv_monitor()
1115 if ((user_cnt > cur_spd->user_hwm) || (idle_cnt < cur_spd->idle_lwm && in cpudrv_monitor()
1116 cur_spd->idle_blwm_cnt >= cpudrv_idle_blwm_cnt_max)) { in cpudrv_monitor()
1117 cur_spd->idle_blwm_cnt = 0; in cpudrv_monitor()
1118 cur_spd->idle_bhwm_cnt = 0; in cpudrv_monitor()
1124 if (cur_spd == cur_spd->up_spd || cpudrv_direct_pm) { in cpudrv_monitor()
1127 new_spd = cur_spd->up_spd; in cpudrv_monitor()
1131 } else if ((user_cnt <= cur_spd->user_lwm) && in cpudrv_monitor()
1132 (idle_cnt >= cur_spd->idle_hwm) || !CPU_ACTIVE(cpudsp->cp)) { in cpudrv_monitor()
1133 cur_spd->idle_blwm_cnt = 0; in cpudrv_monitor()
1134 cur_spd->idle_bhwm_cnt = 0; in cpudrv_monitor()
1146 if ((idle_cnt < cur_spd->idle_hwm) && in cpudrv_monitor()
1147 (idle_cnt >= cur_spd->idle_lwm) && in cpudrv_monitor()
1148 (cur_spd->idle_bhwm_cnt < cpudrv_idle_bhwm_cnt_max)) { in cpudrv_monitor()
1149 cur_spd->idle_blwm_cnt = 0; in cpudrv_monitor()
1150 cur_spd->idle_bhwm_cnt++; in cpudrv_monitor()
1154 if (idle_cnt < cur_spd->idle_lwm) { in cpudrv_monitor()
1155 cur_spd->idle_blwm_cnt++; in cpudrv_monitor()
1156 cur_spd->idle_bhwm_cnt = 0; in cpudrv_monitor()