Lines Matching refs:last_idx
71 int last_residency, last_idx = ldev->last_state_idx; in ladder_select_state() local
76 ladder_do_selection(ldev, last_idx, 0); in ladder_select_state()
80 last_state = &ldev->states[last_idx]; in ladder_select_state()
82 last_residency = cpuidle_get_last_residency(dev) - drv->states[last_idx].exit_latency; in ladder_select_state()
85 if (last_idx < drv->state_count - 1 && in ladder_select_state()
86 !drv->states[last_idx + 1].disabled && in ladder_select_state()
87 !dev->states_usage[last_idx + 1].disable && in ladder_select_state()
89 drv->states[last_idx + 1].exit_latency <= latency_req) { in ladder_select_state()
93 ladder_do_selection(ldev, last_idx, last_idx + 1); in ladder_select_state()
94 return last_idx + 1; in ladder_select_state()
99 if (last_idx > CPUIDLE_DRIVER_STATE_START && in ladder_select_state()
100 (drv->states[last_idx].disabled || in ladder_select_state()
101 dev->states_usage[last_idx].disable || in ladder_select_state()
102 drv->states[last_idx].exit_latency > latency_req)) { in ladder_select_state()
105 for (i = last_idx - 1; i > CPUIDLE_DRIVER_STATE_START; i--) { in ladder_select_state()
109 ladder_do_selection(ldev, last_idx, i); in ladder_select_state()
113 if (last_idx > CPUIDLE_DRIVER_STATE_START && in ladder_select_state()
118 ladder_do_selection(ldev, last_idx, last_idx - 1); in ladder_select_state()
119 return last_idx - 1; in ladder_select_state()
124 return last_idx; in ladder_select_state()