Lines Matching defs:data
169 static unsigned int get_typical_interval(struct menu_device *data,
186 unsigned int value = data->intervals[i];
213 unsigned int value = data->intervals[i];
261 * @drv: cpuidle driver containing state data
268 struct menu_device *data = this_cpu_ptr(&menu_devices);
277 if (data->needs_update) {
279 data->needs_update = 0;
283 data->next_timer_ns = tick_nohz_get_sleep_length(&delta_next);
286 data->bucket = which_bucket(data->next_timer_ns, nr_iowaiters);
289 ((data->next_timer_ns < drv->states[1].target_residency_ns ||
302 predicted_us = div_u64(data->next_timer_ns *
303 data->correction_factor[data->bucket] +
308 get_typical_interval(data, predicted_us)) *
354 s->target_residency_ns <= data->next_timer_ns) {
424 * menu_reflect - records that data structures need update
433 struct menu_device *data = this_cpu_ptr(&menu_devices);
436 data->needs_update = 1;
437 data->tick_wakeup = tick_nohz_idle_got_tick();
442 * @drv: cpuidle driver containing state data
447 struct menu_device *data = this_cpu_ptr(&menu_devices);
468 if (data->tick_wakeup && data->next_timer_ns > TICK_NSEC) {
488 measured_ns = data->next_timer_ns;
501 if (measured_ns > data->next_timer_ns)
502 measured_ns = data->next_timer_ns;
505 new_factor = data->correction_factor[data->bucket];
508 if (data->next_timer_ns > 0 && measured_ns < MAX_INTERESTING)
510 data->next_timer_ns);
527 data->correction_factor[data->bucket] = new_factor;
529 /* update the repeating-pattern data */
530 data->intervals[data->interval_ptr++] = ktime_to_us(measured_ns);
531 if (data->interval_ptr >= INTERVALS)
532 data->interval_ptr = 0;
543 struct menu_device *data = &per_cpu(menu_devices, dev->cpu);
546 memset(data, 0, sizeof(struct menu_device));
553 data->correction_factor[i] = RESOLUTION * DECAY;