devfreq 54 drivers/devfreq/devfreq.c static struct devfreq *find_device_devfreq(struct device *dev) devfreq 56 drivers/devfreq/devfreq.c struct devfreq *tmp_devfreq; devfreq 73 drivers/devfreq/devfreq.c static unsigned long find_available_min_freq(struct devfreq *devfreq) devfreq 78 drivers/devfreq/devfreq.c opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &min_freq); devfreq 87 drivers/devfreq/devfreq.c static unsigned long find_available_max_freq(struct devfreq *devfreq) devfreq 92 drivers/devfreq/devfreq.c opp = dev_pm_opp_find_freq_floor(devfreq->dev.parent, &max_freq); devfreq 106 drivers/devfreq/devfreq.c static int devfreq_get_freq_level(struct devfreq *devfreq, unsigned long freq) devfreq 110 drivers/devfreq/devfreq.c for (lev = 0; lev < devfreq->profile->max_state; lev++) devfreq 111 drivers/devfreq/devfreq.c if (freq == devfreq->profile->freq_table[lev]) devfreq 117 drivers/devfreq/devfreq.c static int set_freq_table(struct devfreq *devfreq) devfreq 119 drivers/devfreq/devfreq.c struct devfreq_dev_profile *profile = devfreq->profile; devfreq 125 drivers/devfreq/devfreq.c count = dev_pm_opp_get_opp_count(devfreq->dev.parent); devfreq 130 drivers/devfreq/devfreq.c profile->freq_table = devm_kcalloc(devfreq->dev.parent, devfreq 140 drivers/devfreq/devfreq.c opp = dev_pm_opp_find_freq_ceil(devfreq->dev.parent, &freq); devfreq 142 drivers/devfreq/devfreq.c devm_kfree(devfreq->dev.parent, profile->freq_table); devfreq 158 drivers/devfreq/devfreq.c int devfreq_update_status(struct devfreq *devfreq, unsigned long freq) devfreq 163 drivers/devfreq/devfreq.c lockdep_assert_held(&devfreq->lock); devfreq 167 drivers/devfreq/devfreq.c if (!devfreq->previous_freq) devfreq 170 drivers/devfreq/devfreq.c prev_lev = devfreq_get_freq_level(devfreq, devfreq->previous_freq); devfreq 176 drivers/devfreq/devfreq.c devfreq->time_in_state[prev_lev] += devfreq 177 drivers/devfreq/devfreq.c cur_time - devfreq->last_stat_updated; devfreq 179 drivers/devfreq/devfreq.c lev = devfreq_get_freq_level(devfreq, freq); devfreq 186 drivers/devfreq/devfreq.c devfreq->trans_table[(prev_lev * devfreq 187 drivers/devfreq/devfreq.c devfreq->profile->max_state) + lev]++; devfreq 188 drivers/devfreq/devfreq.c devfreq->total_trans++; devfreq 192 drivers/devfreq/devfreq.c devfreq->last_stat_updated = cur_time; devfreq 266 drivers/devfreq/devfreq.c static int devfreq_notify_transition(struct devfreq *devfreq, devfreq 269 drivers/devfreq/devfreq.c if (!devfreq) devfreq 274 drivers/devfreq/devfreq.c srcu_notifier_call_chain(&devfreq->transition_notifier_list, devfreq 279 drivers/devfreq/devfreq.c srcu_notifier_call_chain(&devfreq->transition_notifier_list, devfreq 289 drivers/devfreq/devfreq.c static int devfreq_set_target(struct devfreq *devfreq, unsigned long new_freq, devfreq 296 drivers/devfreq/devfreq.c if (devfreq->profile->get_cur_freq) devfreq 297 drivers/devfreq/devfreq.c devfreq->profile->get_cur_freq(devfreq->dev.parent, &cur_freq); devfreq 299 drivers/devfreq/devfreq.c cur_freq = devfreq->previous_freq; devfreq 303 drivers/devfreq/devfreq.c devfreq_notify_transition(devfreq, &freqs, DEVFREQ_PRECHANGE); devfreq 305 drivers/devfreq/devfreq.c err = devfreq->profile->target(devfreq->dev.parent, &new_freq, flags); devfreq 308 drivers/devfreq/devfreq.c devfreq_notify_transition(devfreq, &freqs, DEVFREQ_POSTCHANGE); devfreq 313 drivers/devfreq/devfreq.c devfreq_notify_transition(devfreq, &freqs, DEVFREQ_POSTCHANGE); devfreq 315 drivers/devfreq/devfreq.c if (devfreq_update_status(devfreq, new_freq)) devfreq 316 drivers/devfreq/devfreq.c dev_err(&devfreq->dev, devfreq 319 drivers/devfreq/devfreq.c devfreq->previous_freq = new_freq; devfreq 321 drivers/devfreq/devfreq.c if (devfreq->suspend_freq) devfreq 322 drivers/devfreq/devfreq.c devfreq->resume_freq = cur_freq; devfreq 336 drivers/devfreq/devfreq.c int update_devfreq(struct devfreq *devfreq) devfreq 342 drivers/devfreq/devfreq.c if (!mutex_is_locked(&devfreq->lock)) { devfreq 347 drivers/devfreq/devfreq.c if (!devfreq->governor) devfreq 351 drivers/devfreq/devfreq.c err = devfreq->governor->get_target_freq(devfreq, &freq); devfreq 362 drivers/devfreq/devfreq.c max_freq = min(devfreq->scaling_max_freq, devfreq->max_freq); devfreq 363 drivers/devfreq/devfreq.c min_freq = max(devfreq->scaling_min_freq, devfreq->min_freq); devfreq 374 drivers/devfreq/devfreq.c return devfreq_set_target(devfreq, freq, flags); devfreq 387 drivers/devfreq/devfreq.c struct devfreq *devfreq = container_of(work, devfreq 388 drivers/devfreq/devfreq.c struct devfreq, work.work); devfreq 390 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 391 drivers/devfreq/devfreq.c err = update_devfreq(devfreq); devfreq 393 drivers/devfreq/devfreq.c dev_err(&devfreq->dev, "dvfs failed with (%d) error\n", err); devfreq 395 drivers/devfreq/devfreq.c queue_delayed_work(devfreq_wq, &devfreq->work, devfreq 396 drivers/devfreq/devfreq.c msecs_to_jiffies(devfreq->profile->polling_ms)); devfreq 397 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 399 drivers/devfreq/devfreq.c trace_devfreq_monitor(devfreq); devfreq 411 drivers/devfreq/devfreq.c void devfreq_monitor_start(struct devfreq *devfreq) devfreq 413 drivers/devfreq/devfreq.c INIT_DEFERRABLE_WORK(&devfreq->work, devfreq_monitor); devfreq 414 drivers/devfreq/devfreq.c if (devfreq->profile->polling_ms) devfreq 415 drivers/devfreq/devfreq.c queue_delayed_work(devfreq_wq, &devfreq->work, devfreq 416 drivers/devfreq/devfreq.c msecs_to_jiffies(devfreq->profile->polling_ms)); devfreq 428 drivers/devfreq/devfreq.c void devfreq_monitor_stop(struct devfreq *devfreq) devfreq 430 drivers/devfreq/devfreq.c cancel_delayed_work_sync(&devfreq->work); devfreq 446 drivers/devfreq/devfreq.c void devfreq_monitor_suspend(struct devfreq *devfreq) devfreq 448 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 449 drivers/devfreq/devfreq.c if (devfreq->stop_polling) { devfreq 450 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 454 drivers/devfreq/devfreq.c devfreq_update_status(devfreq, devfreq->previous_freq); devfreq 455 drivers/devfreq/devfreq.c devfreq->stop_polling = true; devfreq 456 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 457 drivers/devfreq/devfreq.c cancel_delayed_work_sync(&devfreq->work); devfreq 469 drivers/devfreq/devfreq.c void devfreq_monitor_resume(struct devfreq *devfreq) devfreq 473 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 474 drivers/devfreq/devfreq.c if (!devfreq->stop_polling) devfreq 477 drivers/devfreq/devfreq.c if (!delayed_work_pending(&devfreq->work) && devfreq 478 drivers/devfreq/devfreq.c devfreq->profile->polling_ms) devfreq 479 drivers/devfreq/devfreq.c queue_delayed_work(devfreq_wq, &devfreq->work, devfreq 480 drivers/devfreq/devfreq.c msecs_to_jiffies(devfreq->profile->polling_ms)); devfreq 482 drivers/devfreq/devfreq.c devfreq->last_stat_updated = jiffies; devfreq 483 drivers/devfreq/devfreq.c devfreq->stop_polling = false; devfreq 485 drivers/devfreq/devfreq.c if (devfreq->profile->get_cur_freq && devfreq 486 drivers/devfreq/devfreq.c !devfreq->profile->get_cur_freq(devfreq->dev.parent, &freq)) devfreq 487 drivers/devfreq/devfreq.c devfreq->previous_freq = freq; devfreq 490 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 502 drivers/devfreq/devfreq.c void devfreq_interval_update(struct devfreq *devfreq, unsigned int *delay) devfreq 504 drivers/devfreq/devfreq.c unsigned int cur_delay = devfreq->profile->polling_ms; devfreq 507 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 508 drivers/devfreq/devfreq.c devfreq->profile->polling_ms = new_delay; devfreq 510 drivers/devfreq/devfreq.c if (devfreq->stop_polling) devfreq 515 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 516 drivers/devfreq/devfreq.c cancel_delayed_work_sync(&devfreq->work); devfreq 522 drivers/devfreq/devfreq.c queue_delayed_work(devfreq_wq, &devfreq->work, devfreq 523 drivers/devfreq/devfreq.c msecs_to_jiffies(devfreq->profile->polling_ms)); devfreq 529 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 530 drivers/devfreq/devfreq.c cancel_delayed_work_sync(&devfreq->work); devfreq 531 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 532 drivers/devfreq/devfreq.c if (!devfreq->stop_polling) devfreq 533 drivers/devfreq/devfreq.c queue_delayed_work(devfreq_wq, &devfreq->work, devfreq 534 drivers/devfreq/devfreq.c msecs_to_jiffies(devfreq->profile->polling_ms)); devfreq 537 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 553 drivers/devfreq/devfreq.c struct devfreq *devfreq = container_of(nb, struct devfreq, nb); devfreq 556 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 558 drivers/devfreq/devfreq.c devfreq->scaling_min_freq = find_available_min_freq(devfreq); devfreq 559 drivers/devfreq/devfreq.c if (!devfreq->scaling_min_freq) devfreq 562 drivers/devfreq/devfreq.c devfreq->scaling_max_freq = find_available_max_freq(devfreq); devfreq 563 drivers/devfreq/devfreq.c if (!devfreq->scaling_max_freq) { devfreq 564 drivers/devfreq/devfreq.c devfreq->scaling_max_freq = ULONG_MAX; devfreq 568 drivers/devfreq/devfreq.c err = update_devfreq(devfreq); devfreq 571 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 573 drivers/devfreq/devfreq.c dev_err(devfreq->dev.parent, devfreq 588 drivers/devfreq/devfreq.c struct devfreq *devfreq = to_devfreq(dev); devfreq 591 drivers/devfreq/devfreq.c list_del(&devfreq->node); devfreq 594 drivers/devfreq/devfreq.c if (devfreq->profile->exit) devfreq 595 drivers/devfreq/devfreq.c devfreq->profile->exit(devfreq->dev.parent); devfreq 597 drivers/devfreq/devfreq.c mutex_destroy(&devfreq->lock); devfreq 598 drivers/devfreq/devfreq.c kfree(devfreq); devfreq 609 drivers/devfreq/devfreq.c struct devfreq *devfreq_add_device(struct device *dev, devfreq 614 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 624 drivers/devfreq/devfreq.c devfreq = find_device_devfreq(dev); devfreq 626 drivers/devfreq/devfreq.c if (!IS_ERR(devfreq)) { devfreq 633 drivers/devfreq/devfreq.c devfreq = kzalloc(sizeof(struct devfreq), GFP_KERNEL); devfreq 634 drivers/devfreq/devfreq.c if (!devfreq) { devfreq 639 drivers/devfreq/devfreq.c mutex_init(&devfreq->lock); devfreq 640 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 641 drivers/devfreq/devfreq.c devfreq->dev.parent = dev; devfreq 642 drivers/devfreq/devfreq.c devfreq->dev.class = devfreq_class; devfreq 643 drivers/devfreq/devfreq.c devfreq->dev.release = devfreq_dev_release; devfreq 644 drivers/devfreq/devfreq.c INIT_LIST_HEAD(&devfreq->node); devfreq 645 drivers/devfreq/devfreq.c devfreq->profile = profile; devfreq 646 drivers/devfreq/devfreq.c strncpy(devfreq->governor_name, governor_name, DEVFREQ_NAME_LEN); devfreq 647 drivers/devfreq/devfreq.c devfreq->previous_freq = profile->initial_freq; devfreq 648 drivers/devfreq/devfreq.c devfreq->last_status.current_frequency = profile->initial_freq; devfreq 649 drivers/devfreq/devfreq.c devfreq->data = data; devfreq 650 drivers/devfreq/devfreq.c devfreq->nb.notifier_call = devfreq_notifier_call; devfreq 652 drivers/devfreq/devfreq.c if (!devfreq->profile->max_state && !devfreq->profile->freq_table) { devfreq 653 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 654 drivers/devfreq/devfreq.c err = set_freq_table(devfreq); devfreq 657 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 660 drivers/devfreq/devfreq.c devfreq->scaling_min_freq = find_available_min_freq(devfreq); devfreq 661 drivers/devfreq/devfreq.c if (!devfreq->scaling_min_freq) { devfreq 662 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 666 drivers/devfreq/devfreq.c devfreq->min_freq = devfreq->scaling_min_freq; devfreq 668 drivers/devfreq/devfreq.c devfreq->scaling_max_freq = find_available_max_freq(devfreq); devfreq 669 drivers/devfreq/devfreq.c if (!devfreq->scaling_max_freq) { devfreq 670 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 674 drivers/devfreq/devfreq.c devfreq->max_freq = devfreq->scaling_max_freq; devfreq 676 drivers/devfreq/devfreq.c devfreq->suspend_freq = dev_pm_opp_get_suspend_opp_freq(dev); devfreq 677 drivers/devfreq/devfreq.c atomic_set(&devfreq->suspend_count, 0); devfreq 679 drivers/devfreq/devfreq.c dev_set_name(&devfreq->dev, "%s", dev_name(dev)); devfreq 680 drivers/devfreq/devfreq.c err = device_register(&devfreq->dev); devfreq 682 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 683 drivers/devfreq/devfreq.c put_device(&devfreq->dev); devfreq 687 drivers/devfreq/devfreq.c devfreq->trans_table = devm_kzalloc(&devfreq->dev, devfreq 689 drivers/devfreq/devfreq.c devfreq->profile->max_state, devfreq 690 drivers/devfreq/devfreq.c devfreq->profile->max_state), devfreq 692 drivers/devfreq/devfreq.c if (!devfreq->trans_table) { devfreq 693 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 698 drivers/devfreq/devfreq.c devfreq->time_in_state = devm_kcalloc(&devfreq->dev, devfreq 699 drivers/devfreq/devfreq.c devfreq->profile->max_state, devfreq 702 drivers/devfreq/devfreq.c if (!devfreq->time_in_state) { devfreq 703 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 708 drivers/devfreq/devfreq.c devfreq->last_stat_updated = jiffies; devfreq 710 drivers/devfreq/devfreq.c srcu_init_notifier_head(&devfreq->transition_notifier_list); devfreq 712 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 716 drivers/devfreq/devfreq.c governor = try_then_request_governor(devfreq->governor_name); devfreq 724 drivers/devfreq/devfreq.c devfreq->governor = governor; devfreq 725 drivers/devfreq/devfreq.c err = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_START, devfreq 733 drivers/devfreq/devfreq.c list_add(&devfreq->node, &devfreq_list); devfreq 737 drivers/devfreq/devfreq.c return devfreq; devfreq 742 drivers/devfreq/devfreq.c devfreq_remove_device(devfreq); devfreq 743 drivers/devfreq/devfreq.c devfreq = NULL; devfreq 745 drivers/devfreq/devfreq.c kfree(devfreq); devfreq 757 drivers/devfreq/devfreq.c int devfreq_remove_device(struct devfreq *devfreq) devfreq 759 drivers/devfreq/devfreq.c if (!devfreq) devfreq 762 drivers/devfreq/devfreq.c if (devfreq->governor) devfreq 763 drivers/devfreq/devfreq.c devfreq->governor->event_handler(devfreq, devfreq 765 drivers/devfreq/devfreq.c device_unregister(&devfreq->dev); devfreq 773 drivers/devfreq/devfreq.c struct devfreq **r = res; devfreq 783 drivers/devfreq/devfreq.c devfreq_remove_device(*(struct devfreq **)res); devfreq 798 drivers/devfreq/devfreq.c struct devfreq *devm_devfreq_add_device(struct device *dev, devfreq 803 drivers/devfreq/devfreq.c struct devfreq **ptr, *devfreq; devfreq 809 drivers/devfreq/devfreq.c devfreq = devfreq_add_device(dev, profile, governor_name, data); devfreq 810 drivers/devfreq/devfreq.c if (IS_ERR(devfreq)) { devfreq 812 drivers/devfreq/devfreq.c return devfreq; devfreq 815 drivers/devfreq/devfreq.c *ptr = devfreq; devfreq 818 drivers/devfreq/devfreq.c return devfreq; devfreq 830 drivers/devfreq/devfreq.c struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, int index) devfreq 833 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 846 drivers/devfreq/devfreq.c list_for_each_entry(devfreq, &devfreq_list, node) { devfreq 847 drivers/devfreq/devfreq.c if (devfreq->dev.parent devfreq 848 drivers/devfreq/devfreq.c && devfreq->dev.parent->of_node == node) { devfreq 851 drivers/devfreq/devfreq.c return devfreq; devfreq 860 drivers/devfreq/devfreq.c struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, int index) devfreq 872 drivers/devfreq/devfreq.c void devm_devfreq_remove_device(struct device *dev, struct devfreq *devfreq) devfreq 875 drivers/devfreq/devfreq.c devm_devfreq_dev_match, devfreq)); devfreq 887 drivers/devfreq/devfreq.c int devfreq_suspend_device(struct devfreq *devfreq) devfreq 891 drivers/devfreq/devfreq.c if (!devfreq) devfreq 894 drivers/devfreq/devfreq.c if (atomic_inc_return(&devfreq->suspend_count) > 1) devfreq 897 drivers/devfreq/devfreq.c if (devfreq->governor) { devfreq 898 drivers/devfreq/devfreq.c ret = devfreq->governor->event_handler(devfreq, devfreq 904 drivers/devfreq/devfreq.c if (devfreq->suspend_freq) { devfreq 905 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 906 drivers/devfreq/devfreq.c ret = devfreq_set_target(devfreq, devfreq->suspend_freq, 0); devfreq 907 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 924 drivers/devfreq/devfreq.c int devfreq_resume_device(struct devfreq *devfreq) devfreq 928 drivers/devfreq/devfreq.c if (!devfreq) devfreq 931 drivers/devfreq/devfreq.c if (atomic_dec_return(&devfreq->suspend_count) >= 1) devfreq 934 drivers/devfreq/devfreq.c if (devfreq->resume_freq) { devfreq 935 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 936 drivers/devfreq/devfreq.c ret = devfreq_set_target(devfreq, devfreq->resume_freq, 0); devfreq 937 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 942 drivers/devfreq/devfreq.c if (devfreq->governor) { devfreq 943 drivers/devfreq/devfreq.c ret = devfreq->governor->event_handler(devfreq, devfreq 963 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 967 drivers/devfreq/devfreq.c list_for_each_entry(devfreq, &devfreq_list, node) { devfreq 968 drivers/devfreq/devfreq.c ret = devfreq_suspend_device(devfreq); devfreq 970 drivers/devfreq/devfreq.c dev_err(&devfreq->dev, devfreq 984 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 988 drivers/devfreq/devfreq.c list_for_each_entry(devfreq, &devfreq_list, node) { devfreq 989 drivers/devfreq/devfreq.c ret = devfreq_resume_device(devfreq); devfreq 991 drivers/devfreq/devfreq.c dev_warn(&devfreq->dev, devfreq 1004 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 1023 drivers/devfreq/devfreq.c list_for_each_entry(devfreq, &devfreq_list, node) { devfreq 1025 drivers/devfreq/devfreq.c struct device *dev = devfreq->dev.parent; devfreq 1027 drivers/devfreq/devfreq.c if (!strncmp(devfreq->governor_name, governor->name, devfreq 1030 drivers/devfreq/devfreq.c if (devfreq->governor) { devfreq 1033 drivers/devfreq/devfreq.c __func__, devfreq->governor->name); devfreq 1034 drivers/devfreq/devfreq.c ret = devfreq->governor->event_handler(devfreq, devfreq 1040 drivers/devfreq/devfreq.c devfreq->governor->name, ret); devfreq 1044 drivers/devfreq/devfreq.c devfreq->governor = governor; devfreq 1045 drivers/devfreq/devfreq.c ret = devfreq->governor->event_handler(devfreq, devfreq 1049 drivers/devfreq/devfreq.c __func__, devfreq->governor->name, devfreq 1069 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 1085 drivers/devfreq/devfreq.c list_for_each_entry(devfreq, &devfreq_list, node) { devfreq 1087 drivers/devfreq/devfreq.c struct device *dev = devfreq->dev.parent; devfreq 1089 drivers/devfreq/devfreq.c if (!strncmp(devfreq->governor_name, governor->name, devfreq 1092 drivers/devfreq/devfreq.c if (!devfreq->governor) { devfreq 1098 drivers/devfreq/devfreq.c ret = devfreq->governor->event_handler(devfreq, devfreq 1102 drivers/devfreq/devfreq.c __func__, devfreq->governor->name, devfreq 1105 drivers/devfreq/devfreq.c devfreq->governor = NULL; devfreq 1120 drivers/devfreq/devfreq.c struct devfreq *devfreq = to_devfreq(dev); devfreq 1121 drivers/devfreq/devfreq.c return sprintf(buf, "%s\n", dev_name(devfreq->dev.parent)); devfreq 1137 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(dev); devfreq 1200 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(d); devfreq 1243 drivers/devfreq/devfreq.c struct devfreq *devfreq = to_devfreq(dev); devfreq 1245 drivers/devfreq/devfreq.c if (devfreq->profile->get_cur_freq && devfreq 1246 drivers/devfreq/devfreq.c !devfreq->profile->get_cur_freq(devfreq->dev.parent, &freq)) devfreq 1249 drivers/devfreq/devfreq.c return sprintf(buf, "%lu\n", devfreq->previous_freq); devfreq 1270 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(dev); devfreq 1291 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(dev); devfreq 1327 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(dev); devfreq 1335 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(dev); devfreq 1372 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(dev); devfreq 1382 drivers/devfreq/devfreq.c struct devfreq *df = to_devfreq(d); devfreq 1406 drivers/devfreq/devfreq.c struct devfreq *devfreq = to_devfreq(dev); devfreq 1409 drivers/devfreq/devfreq.c unsigned int max_state = devfreq->profile->max_state; devfreq 1414 drivers/devfreq/devfreq.c mutex_lock(&devfreq->lock); devfreq 1415 drivers/devfreq/devfreq.c if (!devfreq->stop_polling && devfreq 1416 drivers/devfreq/devfreq.c devfreq_update_status(devfreq, devfreq->previous_freq)) { devfreq 1417 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 1420 drivers/devfreq/devfreq.c mutex_unlock(&devfreq->lock); devfreq 1426 drivers/devfreq/devfreq.c devfreq->profile->freq_table[i]); devfreq 1431 drivers/devfreq/devfreq.c if (devfreq->profile->freq_table[i] devfreq 1432 drivers/devfreq/devfreq.c == devfreq->previous_freq) { devfreq 1438 drivers/devfreq/devfreq.c devfreq->profile->freq_table[i]); devfreq 1441 drivers/devfreq/devfreq.c devfreq->trans_table[(i * max_state) + j]); devfreq 1443 drivers/devfreq/devfreq.c jiffies_to_msecs(devfreq->time_in_state[i])); devfreq 1447 drivers/devfreq/devfreq.c devfreq->total_trans); devfreq 1465 drivers/devfreq/devfreq.c ATTRIBUTE_GROUPS(devfreq); devfreq 1535 drivers/devfreq/devfreq.c int devfreq_register_opp_notifier(struct device *dev, struct devfreq *devfreq) devfreq 1537 drivers/devfreq/devfreq.c return dev_pm_opp_register_notifier(dev, &devfreq->nb); devfreq 1551 drivers/devfreq/devfreq.c int devfreq_unregister_opp_notifier(struct device *dev, struct devfreq *devfreq) devfreq 1553 drivers/devfreq/devfreq.c return dev_pm_opp_unregister_notifier(dev, &devfreq->nb); devfreq 1559 drivers/devfreq/devfreq.c devfreq_unregister_opp_notifier(dev, *(struct devfreq **)res); devfreq 1569 drivers/devfreq/devfreq.c struct devfreq *devfreq) devfreq 1571 drivers/devfreq/devfreq.c struct devfreq **ptr; devfreq 1578 drivers/devfreq/devfreq.c ret = devfreq_register_opp_notifier(dev, devfreq); devfreq 1584 drivers/devfreq/devfreq.c *ptr = devfreq; devfreq 1598 drivers/devfreq/devfreq.c struct devfreq *devfreq) devfreq 1601 drivers/devfreq/devfreq.c devm_devfreq_dev_match, devfreq)); devfreq 1611 drivers/devfreq/devfreq.c int devfreq_register_notifier(struct devfreq *devfreq, devfreq 1617 drivers/devfreq/devfreq.c if (!devfreq) devfreq 1623 drivers/devfreq/devfreq.c &devfreq->transition_notifier_list, nb); devfreq 1639 drivers/devfreq/devfreq.c int devfreq_unregister_notifier(struct devfreq *devfreq, devfreq 1645 drivers/devfreq/devfreq.c if (!devfreq) devfreq 1651 drivers/devfreq/devfreq.c &devfreq->transition_notifier_list, nb); devfreq 1662 drivers/devfreq/devfreq.c struct devfreq *devfreq; devfreq 1671 drivers/devfreq/devfreq.c devfreq_unregister_notifier(this->devfreq, this->nb, this->list); devfreq 1683 drivers/devfreq/devfreq.c struct devfreq *devfreq, devfreq 1695 drivers/devfreq/devfreq.c ret = devfreq_register_notifier(devfreq, nb, list); devfreq 1701 drivers/devfreq/devfreq.c ptr->devfreq = devfreq; devfreq 1719 drivers/devfreq/devfreq.c struct devfreq *devfreq, devfreq 1724 drivers/devfreq/devfreq.c devm_devfreq_dev_match, devfreq)); devfreq 29 drivers/devfreq/exynos-bus.c struct devfreq *devfreq; devfreq 297 drivers/devfreq/exynos-bus.c struct devfreq *parent_devfreq; devfreq 352 drivers/devfreq/exynos-bus.c bus->devfreq = devm_devfreq_add_device(dev, profile, devfreq 355 drivers/devfreq/exynos-bus.c if (IS_ERR(bus->devfreq)) { devfreq 357 drivers/devfreq/exynos-bus.c ret = PTR_ERR(bus->devfreq); devfreq 362 drivers/devfreq/exynos-bus.c ret = devm_devfreq_register_opp_notifier(dev, bus->devfreq); devfreq 405 drivers/devfreq/exynos-bus.c bus->devfreq = devm_devfreq_add_device(dev, profile, DEVFREQ_GOV_PASSIVE, devfreq 407 drivers/devfreq/exynos-bus.c if (IS_ERR(bus->devfreq)) { devfreq 410 drivers/devfreq/exynos-bus.c ret = PTR_ERR(bus->devfreq); devfreq 415 drivers/devfreq/exynos-bus.c max_state = bus->devfreq->profile->max_state; devfreq 416 drivers/devfreq/exynos-bus.c min_freq = (bus->devfreq->profile->freq_table[0] / 1000); devfreq 417 drivers/devfreq/exynos-bus.c max_freq = (bus->devfreq->profile->freq_table[max_state - 1] / 1000); devfreq 439 drivers/devfreq/exynos-bus.c devfreq_suspend_device(bus->devfreq); devfreq 16 drivers/devfreq/governor.h #define to_devfreq(DEV) container_of((DEV), struct devfreq, dev) devfreq 52 drivers/devfreq/governor.h int (*get_target_freq)(struct devfreq *this, unsigned long *freq); devfreq 53 drivers/devfreq/governor.h int (*event_handler)(struct devfreq *devfreq, devfreq 57 drivers/devfreq/governor.h extern void devfreq_monitor_start(struct devfreq *devfreq); devfreq 58 drivers/devfreq/governor.h extern void devfreq_monitor_stop(struct devfreq *devfreq); devfreq 59 drivers/devfreq/governor.h extern void devfreq_monitor_suspend(struct devfreq *devfreq); devfreq 60 drivers/devfreq/governor.h extern void devfreq_monitor_resume(struct devfreq *devfreq); devfreq 61 drivers/devfreq/governor.h extern void devfreq_interval_update(struct devfreq *devfreq, devfreq 67 drivers/devfreq/governor.h extern int devfreq_update_status(struct devfreq *devfreq, unsigned long freq); devfreq 69 drivers/devfreq/governor.h static inline int devfreq_update_stats(struct devfreq *df) devfreq 15 drivers/devfreq/governor_passive.c static int devfreq_passive_get_target_freq(struct devfreq *devfreq, devfreq 19 drivers/devfreq/governor_passive.c = (struct devfreq_passive_data *)devfreq->data; devfreq 20 drivers/devfreq/governor_passive.c struct devfreq *parent_devfreq = (struct devfreq *)p_data->parent; devfreq 31 drivers/devfreq/governor_passive.c ret = p_data->get_target_freq(devfreq, freq); devfreq 50 drivers/devfreq/governor_passive.c if (!devfreq->profile || !devfreq->profile->freq_table devfreq 51 drivers/devfreq/governor_passive.c || devfreq->profile->max_state <= 0) devfreq 81 drivers/devfreq/governor_passive.c if (i < devfreq->profile->max_state) { devfreq 82 drivers/devfreq/governor_passive.c child_freq = devfreq->profile->freq_table[i]; devfreq 84 drivers/devfreq/governor_passive.c count = devfreq->profile->max_state; devfreq 85 drivers/devfreq/governor_passive.c child_freq = devfreq->profile->freq_table[count - 1]; devfreq 95 drivers/devfreq/governor_passive.c static int update_devfreq_passive(struct devfreq *devfreq, unsigned long freq) devfreq 99 drivers/devfreq/governor_passive.c if (!devfreq->governor) devfreq 102 drivers/devfreq/governor_passive.c mutex_lock_nested(&devfreq->lock, SINGLE_DEPTH_NESTING); devfreq 104 drivers/devfreq/governor_passive.c ret = devfreq->governor->get_target_freq(devfreq, &freq); devfreq 108 drivers/devfreq/governor_passive.c ret = devfreq->profile->target(devfreq->dev.parent, &freq, 0); devfreq 112 drivers/devfreq/governor_passive.c if (devfreq->profile->freq_table devfreq 113 drivers/devfreq/governor_passive.c && (devfreq_update_status(devfreq, freq))) devfreq 114 drivers/devfreq/governor_passive.c dev_err(&devfreq->dev, devfreq 117 drivers/devfreq/governor_passive.c devfreq->previous_freq = freq; devfreq 120 drivers/devfreq/governor_passive.c mutex_unlock(&devfreq->lock); devfreq 130 drivers/devfreq/governor_passive.c struct devfreq *devfreq = (struct devfreq *)data->this; devfreq 131 drivers/devfreq/governor_passive.c struct devfreq *parent = (struct devfreq *)data->parent; devfreq 138 drivers/devfreq/governor_passive.c update_devfreq_passive(devfreq, freq); devfreq 142 drivers/devfreq/governor_passive.c update_devfreq_passive(devfreq, freq); devfreq 149 drivers/devfreq/governor_passive.c static int devfreq_passive_event_handler(struct devfreq *devfreq, devfreq 153 drivers/devfreq/governor_passive.c = (struct devfreq_passive_data *)devfreq->data; devfreq 154 drivers/devfreq/governor_passive.c struct devfreq *parent = (struct devfreq *)p_data->parent; devfreq 164 drivers/devfreq/governor_passive.c p_data->this = devfreq; devfreq 13 drivers/devfreq/governor_performance.c static int devfreq_performance_func(struct devfreq *df, devfreq 24 drivers/devfreq/governor_performance.c static int devfreq_performance_handler(struct devfreq *devfreq, devfreq 30 drivers/devfreq/governor_performance.c mutex_lock(&devfreq->lock); devfreq 31 drivers/devfreq/governor_performance.c ret = update_devfreq(devfreq); devfreq 32 drivers/devfreq/governor_performance.c mutex_unlock(&devfreq->lock); devfreq 13 drivers/devfreq/governor_powersave.c static int devfreq_powersave_func(struct devfreq *df, devfreq 24 drivers/devfreq/governor_powersave.c static int devfreq_powersave_handler(struct devfreq *devfreq, devfreq 30 drivers/devfreq/governor_powersave.c mutex_lock(&devfreq->lock); devfreq 31 drivers/devfreq/governor_powersave.c ret = update_devfreq(devfreq); devfreq 32 drivers/devfreq/governor_powersave.c mutex_unlock(&devfreq->lock); devfreq 18 drivers/devfreq/governor_simpleondemand.c static int devfreq_simple_ondemand_func(struct devfreq *df, devfreq 87 drivers/devfreq/governor_simpleondemand.c static int devfreq_simple_ondemand_handler(struct devfreq *devfreq, devfreq 92 drivers/devfreq/governor_simpleondemand.c devfreq_monitor_start(devfreq); devfreq 96 drivers/devfreq/governor_simpleondemand.c devfreq_monitor_stop(devfreq); devfreq 100 drivers/devfreq/governor_simpleondemand.c devfreq_interval_update(devfreq, (unsigned int *)data); devfreq 104 drivers/devfreq/governor_simpleondemand.c devfreq_monitor_suspend(devfreq); devfreq 108 drivers/devfreq/governor_simpleondemand.c devfreq_monitor_resume(devfreq); devfreq 22 drivers/devfreq/governor_userspace.c static int devfreq_userspace_func(struct devfreq *df, unsigned long *freq) devfreq 37 drivers/devfreq/governor_userspace.c struct devfreq *devfreq = to_devfreq(dev); devfreq 42 drivers/devfreq/governor_userspace.c mutex_lock(&devfreq->lock); devfreq 43 drivers/devfreq/governor_userspace.c data = devfreq->data; devfreq 48 drivers/devfreq/governor_userspace.c err = update_devfreq(devfreq); devfreq 51 drivers/devfreq/governor_userspace.c mutex_unlock(&devfreq->lock); devfreq 58 drivers/devfreq/governor_userspace.c struct devfreq *devfreq = to_devfreq(dev); devfreq 62 drivers/devfreq/governor_userspace.c mutex_lock(&devfreq->lock); devfreq 63 drivers/devfreq/governor_userspace.c data = devfreq->data; devfreq 69 drivers/devfreq/governor_userspace.c mutex_unlock(&devfreq->lock); devfreq 83 drivers/devfreq/governor_userspace.c static int userspace_init(struct devfreq *devfreq) devfreq 94 drivers/devfreq/governor_userspace.c devfreq->data = data; devfreq 96 drivers/devfreq/governor_userspace.c err = sysfs_create_group(&devfreq->dev.kobj, &dev_attr_group); devfreq 101 drivers/devfreq/governor_userspace.c static void userspace_exit(struct devfreq *devfreq) devfreq 107 drivers/devfreq/governor_userspace.c if (devfreq->dev.kobj.sd) devfreq 108 drivers/devfreq/governor_userspace.c sysfs_remove_group(&devfreq->dev.kobj, &dev_attr_group); devfreq 110 drivers/devfreq/governor_userspace.c kfree(devfreq->data); devfreq 111 drivers/devfreq/governor_userspace.c devfreq->data = NULL; devfreq 114 drivers/devfreq/governor_userspace.c static int devfreq_userspace_handler(struct devfreq *devfreq, devfreq 121 drivers/devfreq/governor_userspace.c ret = userspace_init(devfreq); devfreq 124 drivers/devfreq/governor_userspace.c userspace_exit(devfreq); devfreq 60 drivers/devfreq/rk3399_dmc.c struct devfreq *devfreq; devfreq 208 drivers/devfreq/rk3399_dmc.c ret = devfreq_suspend_device(dmcfreq->devfreq); devfreq 228 drivers/devfreq/rk3399_dmc.c ret = devfreq_resume_device(dmcfreq->devfreq); devfreq 450 drivers/devfreq/rk3399_dmc.c data->devfreq = devm_devfreq_add_device(dev, devfreq 454 drivers/devfreq/rk3399_dmc.c if (IS_ERR(data->devfreq)) { devfreq 455 drivers/devfreq/rk3399_dmc.c ret = PTR_ERR(data->devfreq); devfreq 459 drivers/devfreq/rk3399_dmc.c devm_devfreq_register_opp_notifier(dev, data->devfreq); devfreq 478 drivers/devfreq/rk3399_dmc.c devm_devfreq_unregister_opp_notifier(dmcfreq->dev, dmcfreq->devfreq); devfreq 32 drivers/devfreq/tegra20-devfreq.c struct devfreq *devfreq; devfreq 41 drivers/devfreq/tegra20-devfreq.c struct devfreq *devfreq = tegra->devfreq; devfreq 64 drivers/devfreq/tegra20-devfreq.c clk_set_min_rate(tegra->emc_clock, devfreq->previous_freq); devfreq 175 drivers/devfreq/tegra20-devfreq.c tegra->devfreq = devfreq_add_device(&pdev->dev, &tegra_devfreq_profile, devfreq 177 drivers/devfreq/tegra20-devfreq.c if (IS_ERR(tegra->devfreq)) { devfreq 178 drivers/devfreq/tegra20-devfreq.c err = PTR_ERR(tegra->devfreq); devfreq 194 drivers/devfreq/tegra20-devfreq.c devfreq_remove_device(tegra->devfreq); devfreq 150 drivers/devfreq/tegra30-devfreq.c struct devfreq *devfreq; devfreq 339 drivers/devfreq/tegra30-devfreq.c mutex_lock(&tegra->devfreq->lock); devfreq 350 drivers/devfreq/tegra30-devfreq.c update_devfreq(tegra->devfreq); devfreq 352 drivers/devfreq/tegra30-devfreq.c mutex_unlock(&tegra->devfreq->lock); devfreq 453 drivers/devfreq/tegra30-devfreq.c struct devfreq *devfreq = tegra->devfreq; devfreq 477 drivers/devfreq/tegra30-devfreq.c clk_set_min_rate(tegra->emc_clock, devfreq->previous_freq); devfreq 519 drivers/devfreq/tegra30-devfreq.c static int tegra_governor_get_target(struct devfreq *devfreq, devfreq 529 drivers/devfreq/tegra30-devfreq.c err = devfreq_update_stats(devfreq); devfreq 533 drivers/devfreq/tegra30-devfreq.c stat = &devfreq->last_status; devfreq 550 drivers/devfreq/tegra30-devfreq.c static int tegra_governor_event_handler(struct devfreq *devfreq, devfreq 553 drivers/devfreq/tegra30-devfreq.c struct tegra_devfreq *tegra = dev_get_drvdata(devfreq->dev.parent); devfreq 557 drivers/devfreq/tegra30-devfreq.c devfreq_monitor_start(devfreq); devfreq 563 drivers/devfreq/tegra30-devfreq.c devfreq_monitor_stop(devfreq); devfreq 568 drivers/devfreq/tegra30-devfreq.c devfreq_monitor_suspend(devfreq); devfreq 572 drivers/devfreq/tegra30-devfreq.c devfreq_monitor_resume(devfreq); devfreq 675 drivers/devfreq/tegra30-devfreq.c tegra->devfreq = devfreq_add_device(&pdev->dev, devfreq 679 drivers/devfreq/tegra30-devfreq.c if (IS_ERR(tegra->devfreq)) { devfreq 680 drivers/devfreq/tegra30-devfreq.c err = PTR_ERR(tegra->devfreq); devfreq 695 drivers/devfreq/tegra30-devfreq.c devfreq_remove_device(tegra->devfreq); devfreq 716 drivers/devfreq/tegra30-devfreq.c devfreq_remove_device(tegra->devfreq); devfreq 1365 drivers/gpu/drm/msm/adreno/a5xx_gpu.c busy_time = busy_cycles - gpu->devfreq.busy_cycles; devfreq 1368 drivers/gpu/drm/msm/adreno/a5xx_gpu.c gpu->devfreq.busy_cycles = busy_cycles; devfreq 756 drivers/gpu/drm/msm/adreno/a6xx_gpu.c devfreq_suspend_device(gpu->devfreq.devfreq); devfreq 810 drivers/gpu/drm/msm/adreno/a6xx_gpu.c busy_time = (busy_cycles - gpu->devfreq.busy_cycles) * 10; devfreq 813 drivers/gpu/drm/msm/adreno/a6xx_gpu.c gpu->devfreq.busy_cycles = busy_cycles; devfreq 60 drivers/gpu/drm/msm/msm_gpu.c status->total_time = ktime_us_delta(time, gpu->devfreq.time); devfreq 61 drivers/gpu/drm/msm/msm_gpu.c gpu->devfreq.time = time; devfreq 98 drivers/gpu/drm/msm/msm_gpu.c gpu->devfreq.devfreq = devm_devfreq_add_device(&gpu->pdev->dev, devfreq 102 drivers/gpu/drm/msm/msm_gpu.c if (IS_ERR(gpu->devfreq.devfreq)) { devfreq 104 drivers/gpu/drm/msm/msm_gpu.c gpu->devfreq.devfreq = NULL; devfreq 107 drivers/gpu/drm/msm/msm_gpu.c devfreq_suspend_device(gpu->devfreq.devfreq); devfreq 189 drivers/gpu/drm/msm/msm_gpu.c gpu->devfreq.busy_cycles = 0; devfreq 190 drivers/gpu/drm/msm/msm_gpu.c gpu->devfreq.time = ktime_get(); devfreq 192 drivers/gpu/drm/msm/msm_gpu.c devfreq_resume_device(gpu->devfreq.devfreq); devfreq 226 drivers/gpu/drm/msm/msm_gpu.c devfreq_suspend_device(gpu->devfreq.devfreq); devfreq 128 drivers/gpu/drm/msm/msm_gpu.h struct devfreq *devfreq; devfreq 131 drivers/gpu/drm/msm/msm_gpu.h } devfreq; devfreq 23 drivers/gpu/drm/panfrost/panfrost_devfreq.c unsigned long old_clk_rate = pfdev->devfreq.cur_freq; devfreq 58 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.cur_volt, devfreq 59 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.cur_volt); devfreq 70 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.cur_freq = target_rate; devfreq 71 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.cur_volt = target_volt; devfreq 82 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[i].busy_time = 0; devfreq 83 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[i].idle_time = 0; devfreq 84 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[i].time_last_update = now; devfreq 99 drivers/gpu/drm/panfrost/panfrost_devfreq.c status->total_time = ktime_to_ns(ktime_add(pfdev->devfreq.slot[0].busy_time, devfreq 100 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[0].idle_time)); devfreq 104 drivers/gpu/drm/panfrost/panfrost_devfreq.c status->busy_time += ktime_to_ns(pfdev->devfreq.slot[i].busy_time); devfreq 124 drivers/gpu/drm/panfrost/panfrost_devfreq.c *freq = pfdev->devfreq.cur_freq; devfreq 149 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.cur_freq = clk_get_rate(pfdev->clock); devfreq 151 drivers/gpu/drm/panfrost/panfrost_devfreq.c opp = devfreq_recommended_opp(&pfdev->pdev->dev, &pfdev->devfreq.cur_freq, 0); devfreq 155 drivers/gpu/drm/panfrost/panfrost_devfreq.c panfrost_devfreq_profile.initial_freq = pfdev->devfreq.cur_freq; devfreq 158 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.devfreq = devm_devfreq_add_device(&pfdev->pdev->dev, devfreq 161 drivers/gpu/drm/panfrost/panfrost_devfreq.c if (IS_ERR(pfdev->devfreq.devfreq)) { devfreq 163 drivers/gpu/drm/panfrost/panfrost_devfreq.c ret = PTR_ERR(pfdev->devfreq.devfreq); devfreq 164 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.devfreq = NULL; devfreq 181 drivers/gpu/drm/panfrost/panfrost_devfreq.c if (!pfdev->devfreq.devfreq) devfreq 186 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[i].busy = false; devfreq 188 drivers/gpu/drm/panfrost/panfrost_devfreq.c devfreq_resume_device(pfdev->devfreq.devfreq); devfreq 193 drivers/gpu/drm/panfrost/panfrost_devfreq.c if (!pfdev->devfreq.devfreq) devfreq 196 drivers/gpu/drm/panfrost/panfrost_devfreq.c devfreq_suspend_device(pfdev->devfreq.devfreq); devfreq 201 drivers/gpu/drm/panfrost/panfrost_devfreq.c struct panfrost_devfreq_slot *devfreq_slot = &pfdev->devfreq.slot[slot]; devfreq 205 drivers/gpu/drm/panfrost/panfrost_devfreq.c if (!pfdev->devfreq.devfreq) devfreq 209 drivers/gpu/drm/panfrost/panfrost_devfreq.c last = pfdev->devfreq.slot[slot].time_last_update; devfreq 213 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[slot].busy_time += ktime_sub(now, last); devfreq 215 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[slot].idle_time += ktime_sub(now, last); devfreq 217 drivers/gpu/drm/panfrost/panfrost_devfreq.c pfdev->devfreq.slot[slot].time_last_update = now; devfreq 223 drivers/gpu/drm/panfrost/panfrost_devfreq.c struct panfrost_devfreq_slot *devfreq_slot = &pfdev->devfreq.slot[slot]; devfreq 94 drivers/gpu/drm/panfrost/panfrost_device.h struct devfreq *devfreq; devfreq 99 drivers/gpu/drm/panfrost/panfrost_device.h } devfreq; devfreq 595 drivers/gpu/drm/panfrost/panfrost_job.c if (pfdev->devfreq.slot[i].busy) devfreq 1218 drivers/scsi/ufs/ufshcd.c devfreq_resume_device(hba->devfreq); devfreq 1322 drivers/scsi/ufs/ufshcd.c struct devfreq *devfreq; devfreq 1333 drivers/scsi/ufs/ufshcd.c devfreq = devfreq_add_device(hba->dev, devfreq 1337 drivers/scsi/ufs/ufshcd.c if (IS_ERR(devfreq)) { devfreq 1338 drivers/scsi/ufs/ufshcd.c ret = PTR_ERR(devfreq); devfreq 1346 drivers/scsi/ufs/ufshcd.c hba->devfreq = devfreq; devfreq 1356 drivers/scsi/ufs/ufshcd.c if (!hba->devfreq) devfreq 1359 drivers/scsi/ufs/ufshcd.c devfreq_remove_device(hba->devfreq); devfreq 1360 drivers/scsi/ufs/ufshcd.c hba->devfreq = NULL; devfreq 1371 drivers/scsi/ufs/ufshcd.c devfreq_suspend_device(hba->devfreq); devfreq 1412 drivers/scsi/ufs/ufshcd.c devfreq_resume_device(hba->devfreq); devfreq 6969 drivers/scsi/ufs/ufshcd.c if (!hba->devfreq) { devfreq 7501 drivers/scsi/ufs/ufshcd.c if (hba->devfreq) devfreq 723 drivers/scsi/ufs/ufshcd.h struct devfreq *devfreq; devfreq 60 drivers/thermal/devfreq_cooling.c struct devfreq *devfreq; devfreq 82 drivers/thermal/devfreq_cooling.c struct device *dev = dfc->devfreq->dev.parent; devfreq 135 drivers/thermal/devfreq_cooling.c struct devfreq *df = dfc->devfreq; devfreq 177 drivers/thermal/devfreq_cooling.c static unsigned long get_voltage(struct devfreq *df, unsigned long freq) devfreq 218 drivers/thermal/devfreq_cooling.c struct devfreq *df = dfc->devfreq; devfreq 253 drivers/thermal/devfreq_cooling.c return dfc_power->get_dynamic_power(dfc->devfreq, freq, devfreq 278 drivers/thermal/devfreq_cooling.c struct devfreq *df = dfc->devfreq; devfreq 357 drivers/thermal/devfreq_cooling.c struct devfreq *df = dfc->devfreq; devfreq 421 drivers/thermal/devfreq_cooling.c struct devfreq *df = dfc->devfreq; devfreq 505 drivers/thermal/devfreq_cooling.c of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, devfreq 517 drivers/thermal/devfreq_cooling.c dfc->devfreq = df; devfreq 572 drivers/thermal/devfreq_cooling.c of_devfreq_cooling_register(struct device_node *np, struct devfreq *df) devfreq 582 drivers/thermal/devfreq_cooling.c struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df) devfreq 33 include/linux/devfreq.h struct devfreq; devfreq 189 include/linux/devfreq.h extern struct devfreq *devfreq_add_device(struct device *dev, devfreq 193 include/linux/devfreq.h extern int devfreq_remove_device(struct devfreq *devfreq); devfreq 194 include/linux/devfreq.h extern struct devfreq *devm_devfreq_add_device(struct device *dev, devfreq 199 include/linux/devfreq.h struct devfreq *devfreq); devfreq 202 include/linux/devfreq.h extern int devfreq_suspend_device(struct devfreq *devfreq); devfreq 203 include/linux/devfreq.h extern int devfreq_resume_device(struct devfreq *devfreq); devfreq 214 include/linux/devfreq.h extern int update_devfreq(struct devfreq *devfreq); devfreq 220 include/linux/devfreq.h struct devfreq *devfreq); devfreq 222 include/linux/devfreq.h struct devfreq *devfreq); devfreq 224 include/linux/devfreq.h struct devfreq *devfreq); devfreq 226 include/linux/devfreq.h struct devfreq *devfreq); devfreq 227 include/linux/devfreq.h extern int devfreq_register_notifier(struct devfreq *devfreq, devfreq 230 include/linux/devfreq.h extern int devfreq_unregister_notifier(struct devfreq *devfreq, devfreq 234 include/linux/devfreq.h struct devfreq *devfreq, devfreq 238 include/linux/devfreq.h struct devfreq *devfreq, devfreq 241 include/linux/devfreq.h extern struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, devfreq 286 include/linux/devfreq.h struct devfreq *parent; devfreq 289 include/linux/devfreq.h int (*get_target_freq)(struct devfreq *this, unsigned long *freq); devfreq 292 include/linux/devfreq.h struct devfreq *this; devfreq 298 include/linux/devfreq.h static inline struct devfreq *devfreq_add_device(struct device *dev, devfreq 306 include/linux/devfreq.h static inline int devfreq_remove_device(struct devfreq *devfreq) devfreq 311 include/linux/devfreq.h static inline struct devfreq *devm_devfreq_add_device(struct device *dev, devfreq 320 include/linux/devfreq.h struct devfreq *devfreq) devfreq 324 include/linux/devfreq.h static inline int devfreq_suspend_device(struct devfreq *devfreq) devfreq 329 include/linux/devfreq.h static inline int devfreq_resume_device(struct devfreq *devfreq) devfreq 344 include/linux/devfreq.h struct devfreq *devfreq) devfreq 350 include/linux/devfreq.h struct devfreq *devfreq) devfreq 356 include/linux/devfreq.h struct devfreq *devfreq) devfreq 362 include/linux/devfreq.h struct devfreq *devfreq) devfreq 366 include/linux/devfreq.h static inline int devfreq_register_notifier(struct devfreq *devfreq, devfreq 373 include/linux/devfreq.h static inline int devfreq_unregister_notifier(struct devfreq *devfreq, devfreq 381 include/linux/devfreq.h struct devfreq *devfreq, devfreq 389 include/linux/devfreq.h struct devfreq *devfreq, devfreq 395 include/linux/devfreq.h static inline struct devfreq *devfreq_get_devfreq_by_phandle(struct device *dev, devfreq 401 include/linux/devfreq.h static inline int devfreq_update_stats(struct devfreq *df) devfreq 56 include/linux/devfreq_cooling.h unsigned long (*get_static_power)(struct devfreq *devfreq, devfreq 58 include/linux/devfreq_cooling.h unsigned long (*get_dynamic_power)(struct devfreq *devfreq, devfreq 61 include/linux/devfreq_cooling.h int (*get_real_power)(struct devfreq *df, u32 *power, devfreq 69 include/linux/devfreq_cooling.h of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, devfreq 72 include/linux/devfreq_cooling.h of_devfreq_cooling_register(struct device_node *np, struct devfreq *df); devfreq 73 include/linux/devfreq_cooling.h struct thermal_cooling_device *devfreq_cooling_register(struct devfreq *df); devfreq 79 include/linux/devfreq_cooling.h of_devfreq_cooling_register_power(struct device_node *np, struct devfreq *df, devfreq 86 include/linux/devfreq_cooling.h of_devfreq_cooling_register(struct device_node *np, struct devfreq *df) devfreq 92 include/linux/devfreq_cooling.h devfreq_cooling_register(struct devfreq *df) devfreq 3 include/trace/events/devfreq.h #define TRACE_SYSTEM devfreq devfreq 12 include/trace/events/devfreq.h TP_PROTO(struct devfreq *devfreq), devfreq 14 include/trace/events/devfreq.h TP_ARGS(devfreq), devfreq 21 include/trace/events/devfreq.h __string(dev_name, dev_name(&devfreq->dev)) devfreq 25 include/trace/events/devfreq.h __entry->freq = devfreq->previous_freq; devfreq 26 include/trace/events/devfreq.h __entry->busy_time = devfreq->last_status.busy_time; devfreq 27 include/trace/events/devfreq.h __entry->total_time = devfreq->last_status.total_time; devfreq 28 include/trace/events/devfreq.h __entry->polling_ms = devfreq->profile->polling_ms; devfreq 29 include/trace/events/devfreq.h __assign_str(dev_name, dev_name(&devfreq->dev));