ii_dev 83 drivers/powercap/idle_inject.c static void idle_inject_wakeup(struct idle_inject_device *ii_dev) ii_dev 88 drivers/powercap/idle_inject.c for_each_cpu_and(cpu, to_cpumask(ii_dev->cpumask), cpu_online_mask) { ii_dev 108 drivers/powercap/idle_inject.c struct idle_inject_device *ii_dev = ii_dev 111 drivers/powercap/idle_inject.c duration_us = READ_ONCE(ii_dev->run_duration_us); ii_dev 112 drivers/powercap/idle_inject.c duration_us += READ_ONCE(ii_dev->idle_duration_us); ii_dev 114 drivers/powercap/idle_inject.c idle_inject_wakeup(ii_dev); ii_dev 130 drivers/powercap/idle_inject.c struct idle_inject_device *ii_dev; ii_dev 133 drivers/powercap/idle_inject.c ii_dev = per_cpu(idle_inject_device, cpu); ii_dev 141 drivers/powercap/idle_inject.c play_idle(READ_ONCE(ii_dev->idle_duration_us)); ii_dev 149 drivers/powercap/idle_inject.c void idle_inject_set_duration(struct idle_inject_device *ii_dev, ii_dev 154 drivers/powercap/idle_inject.c WRITE_ONCE(ii_dev->run_duration_us, run_duration_us); ii_dev 155 drivers/powercap/idle_inject.c WRITE_ONCE(ii_dev->idle_duration_us, idle_duration_us); ii_dev 164 drivers/powercap/idle_inject.c void idle_inject_get_duration(struct idle_inject_device *ii_dev, ii_dev 168 drivers/powercap/idle_inject.c *run_duration_us = READ_ONCE(ii_dev->run_duration_us); ii_dev 169 drivers/powercap/idle_inject.c *idle_duration_us = READ_ONCE(ii_dev->idle_duration_us); ii_dev 182 drivers/powercap/idle_inject.c int idle_inject_start(struct idle_inject_device *ii_dev) ii_dev 184 drivers/powercap/idle_inject.c unsigned int idle_duration_us = READ_ONCE(ii_dev->idle_duration_us); ii_dev 185 drivers/powercap/idle_inject.c unsigned int run_duration_us = READ_ONCE(ii_dev->run_duration_us); ii_dev 191 drivers/powercap/idle_inject.c cpumask_pr_args(to_cpumask(ii_dev->cpumask))); ii_dev 193 drivers/powercap/idle_inject.c idle_inject_wakeup(ii_dev); ii_dev 195 drivers/powercap/idle_inject.c hrtimer_start(&ii_dev->timer, ii_dev 214 drivers/powercap/idle_inject.c void idle_inject_stop(struct idle_inject_device *ii_dev) ii_dev 220 drivers/powercap/idle_inject.c cpumask_pr_args(to_cpumask(ii_dev->cpumask))); ii_dev 222 drivers/powercap/idle_inject.c hrtimer_cancel(&ii_dev->timer); ii_dev 239 drivers/powercap/idle_inject.c for_each_cpu(cpu, to_cpumask(ii_dev->cpumask)) { ii_dev 290 drivers/powercap/idle_inject.c struct idle_inject_device *ii_dev; ii_dev 293 drivers/powercap/idle_inject.c ii_dev = kzalloc(sizeof(*ii_dev) + cpumask_size(), GFP_KERNEL); ii_dev 294 drivers/powercap/idle_inject.c if (!ii_dev) ii_dev 297 drivers/powercap/idle_inject.c cpumask_copy(to_cpumask(ii_dev->cpumask), cpumask); ii_dev 298 drivers/powercap/idle_inject.c hrtimer_init(&ii_dev->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); ii_dev 299 drivers/powercap/idle_inject.c ii_dev->timer.function = idle_inject_timer_fn; ii_dev 301 drivers/powercap/idle_inject.c for_each_cpu(cpu, to_cpumask(ii_dev->cpumask)) { ii_dev 308 drivers/powercap/idle_inject.c per_cpu(idle_inject_device, cpu) = ii_dev; ii_dev 311 drivers/powercap/idle_inject.c return ii_dev; ii_dev 314 drivers/powercap/idle_inject.c for_each_cpu(cpu_rb, to_cpumask(ii_dev->cpumask)) { ii_dev 320 drivers/powercap/idle_inject.c kfree(ii_dev); ii_dev 333 drivers/powercap/idle_inject.c void idle_inject_unregister(struct idle_inject_device *ii_dev) ii_dev 337 drivers/powercap/idle_inject.c idle_inject_stop(ii_dev); ii_dev 339 drivers/powercap/idle_inject.c for_each_cpu(cpu, to_cpumask(ii_dev->cpumask)) ii_dev 342 drivers/powercap/idle_inject.c kfree(ii_dev); ii_dev 16 include/linux/idle_inject.h void idle_inject_unregister(struct idle_inject_device *ii_dev); ii_dev 18 include/linux/idle_inject.h int idle_inject_start(struct idle_inject_device *ii_dev); ii_dev 20 include/linux/idle_inject.h void idle_inject_stop(struct idle_inject_device *ii_dev); ii_dev 22 include/linux/idle_inject.h void idle_inject_set_duration(struct idle_inject_device *ii_dev, ii_dev 26 include/linux/idle_inject.h void idle_inject_get_duration(struct idle_inject_device *ii_dev,