fipe_idle_ctrl
if (fipe_idle_ctrl.idle_ready) {
&fipe_idle_ctrl.prop_enter) != 0) {
&fipe_idle_ctrl.prop_exit) != 0) {
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_enter);
&fipe_idle_ctrl.prop_idle) != 0) {
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_exit);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_enter);
&fipe_idle_ctrl.prop_busy) != 0) {
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_idle);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_exit);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_enter);
&fipe_idle_ctrl.prop_intr) != 0) {
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_busy);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_idle);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_exit);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_enter);
NULL, &fipe_idle_ctrl.cb_handle);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_intr);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_busy);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_idle);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_exit);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_enter);
fipe_idle_ctrl.idle_ready = B_TRUE;
if (fipe_idle_ctrl.idle_ready == B_FALSE) {
rc = cpu_idle_unregister_callback(fipe_idle_ctrl.cb_handle);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_intr);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_busy);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_idle);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_exit);
(void) cpu_idle_prop_destroy_handle(fipe_idle_ctrl.prop_enter);
fipe_idle_ctrl.idle_ready = B_FALSE;
fipe_idle_ctrl.tick_interval = FIPE_STAT_INTERVAL * (1ULL << 36) / hrt;
fipe_idle_ctrl.prop_idle, ctx);
fipe_idle_ctrl.prop_busy, ctx);
sp->next_ts = ts + fipe_idle_ctrl.tick_interval;
if (cpu_idle_prop_get_value(fipe_idle_ctrl.prop_intr, ctx,
intr = intr * fipe_idle_ctrl.tick_interval;
fipe_idle_ctrl.tick_interval;
sp->throttle_ts = sp->next_ts + fipe_idle_ctrl.tick_interval;
ts = cpu_idle_prop_get_hrtime(fipe_idle_ctrl.prop_enter, ctx);
sp->next_ts = ts + fipe_idle_ctrl.tick_interval;
fipe_idle_ctrl.prop_busy, ctx);
fipe_idle_ctrl.prop_idle, ctx);
fipe_idle_ctrl.prop_intr, ctx);
} fipe_idle_ctrl;
ts = cpu_idle_prop_get_hrtime(fipe_idle_ctrl.prop_exit,