Lines Matching refs:clki
410 struct ufs_clk_info *clki; in ufshcd_print_clk_freqs() local
416 list_for_each_entry(clki, head, list) { in ufshcd_print_clk_freqs()
417 if (!IS_ERR_OR_NULL(clki->clk) && clki->min_freq && in ufshcd_print_clk_freqs()
418 clki->max_freq) in ufshcd_print_clk_freqs()
420 clki->name, clki->curr_freq); in ufshcd_print_clk_freqs()
945 struct ufs_clk_info *clki; in ufshcd_set_clk_freq() local
951 list_for_each_entry(clki, head, list) { in ufshcd_set_clk_freq()
952 if (!IS_ERR_OR_NULL(clki->clk)) { in ufshcd_set_clk_freq()
953 if (scale_up && clki->max_freq) { in ufshcd_set_clk_freq()
954 if (clki->curr_freq == clki->max_freq) in ufshcd_set_clk_freq()
957 ret = clk_set_rate(clki->clk, clki->max_freq); in ufshcd_set_clk_freq()
960 __func__, clki->name, in ufshcd_set_clk_freq()
961 clki->max_freq, ret); in ufshcd_set_clk_freq()
965 "scaled up", clki->name, in ufshcd_set_clk_freq()
966 clki->curr_freq, in ufshcd_set_clk_freq()
967 clki->max_freq); in ufshcd_set_clk_freq()
969 clki->curr_freq = clki->max_freq; in ufshcd_set_clk_freq()
971 } else if (!scale_up && clki->min_freq) { in ufshcd_set_clk_freq()
972 if (clki->curr_freq == clki->min_freq) in ufshcd_set_clk_freq()
975 ret = clk_set_rate(clki->clk, clki->min_freq); in ufshcd_set_clk_freq()
978 __func__, clki->name, in ufshcd_set_clk_freq()
979 clki->min_freq, ret); in ufshcd_set_clk_freq()
983 "scaled down", clki->name, in ufshcd_set_clk_freq()
984 clki->curr_freq, in ufshcd_set_clk_freq()
985 clki->min_freq); in ufshcd_set_clk_freq()
986 clki->curr_freq = clki->min_freq; in ufshcd_set_clk_freq()
990 clki->name, clk_get_rate(clki->clk)); in ufshcd_set_clk_freq()
1039 struct ufs_clk_info *clki; in ufshcd_is_devfreq_scaling_required() local
1045 list_for_each_entry(clki, head, list) { in ufshcd_is_devfreq_scaling_required()
1046 if (!IS_ERR_OR_NULL(clki->clk)) { in ufshcd_is_devfreq_scaling_required()
1047 if (scale_up && clki->max_freq) { in ufshcd_is_devfreq_scaling_required()
1048 if (clki->curr_freq == clki->max_freq) in ufshcd_is_devfreq_scaling_required()
1051 } else if (!scale_up && clki->min_freq) { in ufshcd_is_devfreq_scaling_required()
1052 if (clki->curr_freq == clki->min_freq) in ufshcd_is_devfreq_scaling_required()
1295 struct ufs_clk_info *clki; in ufshcd_devfreq_target() local
1303 clki = list_first_entry(&hba->clk_list_head, struct ufs_clk_info, list); in ufshcd_devfreq_target()
1305 *freq = (unsigned long) clk_round_rate(clki->clk, *freq); in ufshcd_devfreq_target()
1321 scale_up = (*freq == clki->max_freq) ? true : false; in ufshcd_devfreq_target()
1323 *freq = clki->min_freq; in ufshcd_devfreq_target()
1376 struct ufs_clk_info *clki; in ufshcd_devfreq_get_dev_status() local
1389 clki = list_first_entry(clk_list, struct ufs_clk_info, list); in ufshcd_devfreq_get_dev_status()
1395 stat->current_frequency = clki->curr_freq; in ufshcd_devfreq_get_dev_status()
1420 struct ufs_clk_info *clki; in ufshcd_devfreq_init() local
1428 clki = list_first_entry(clk_list, struct ufs_clk_info, list); in ufshcd_devfreq_init()
1429 dev_pm_opp_add(hba->dev, clki->min_freq, 0); in ufshcd_devfreq_init()
1430 dev_pm_opp_add(hba->dev, clki->max_freq, 0); in ufshcd_devfreq_init()
1442 dev_pm_opp_remove(hba->dev, clki->min_freq); in ufshcd_devfreq_init()
1443 dev_pm_opp_remove(hba->dev, clki->max_freq); in ufshcd_devfreq_init()
1455 struct ufs_clk_info *clki; in ufshcd_devfreq_remove() local
1463 clki = list_first_entry(clk_list, struct ufs_clk_info, list); in ufshcd_devfreq_remove()
1464 dev_pm_opp_remove(hba->dev, clki->min_freq); in ufshcd_devfreq_remove()
1465 dev_pm_opp_remove(hba->dev, clki->max_freq); in ufshcd_devfreq_remove()
8237 struct ufs_clk_info *clki; in ufshcd_setup_clocks() local
8250 list_for_each_entry(clki, head, list) { in ufshcd_setup_clocks()
8251 if (!IS_ERR_OR_NULL(clki->clk)) { in ufshcd_setup_clocks()
8257 clki->keep_link_active) in ufshcd_setup_clocks()
8260 clk_state_changed = on ^ clki->enabled; in ufshcd_setup_clocks()
8261 if (on && !clki->enabled) { in ufshcd_setup_clocks()
8262 ret = clk_prepare_enable(clki->clk); in ufshcd_setup_clocks()
8265 __func__, clki->name, ret); in ufshcd_setup_clocks()
8268 } else if (!on && clki->enabled) { in ufshcd_setup_clocks()
8269 clk_disable_unprepare(clki->clk); in ufshcd_setup_clocks()
8271 clki->enabled = on; in ufshcd_setup_clocks()
8273 clki->name, on ? "en" : "dis"); in ufshcd_setup_clocks()
8283 list_for_each_entry(clki, head, list) { in ufshcd_setup_clocks()
8284 if (!IS_ERR_OR_NULL(clki->clk) && clki->enabled) in ufshcd_setup_clocks()
8285 clk_disable_unprepare(clki->clk); in ufshcd_setup_clocks()
8305 struct ufs_clk_info *clki; in ufshcd_init_clocks() local
8312 list_for_each_entry(clki, head, list) { in ufshcd_init_clocks()
8313 if (!clki->name) in ufshcd_init_clocks()
8316 clki->clk = devm_clk_get(dev, clki->name); in ufshcd_init_clocks()
8317 if (IS_ERR(clki->clk)) { in ufshcd_init_clocks()
8318 ret = PTR_ERR(clki->clk); in ufshcd_init_clocks()
8320 __func__, clki->name, ret); in ufshcd_init_clocks()
8329 if (!strcmp(clki->name, "ref_clk")) in ufshcd_init_clocks()
8330 ufshcd_parse_dev_ref_clk_freq(hba, clki->clk); in ufshcd_init_clocks()
8332 if (clki->max_freq) { in ufshcd_init_clocks()
8333 ret = clk_set_rate(clki->clk, clki->max_freq); in ufshcd_init_clocks()
8336 __func__, clki->name, in ufshcd_init_clocks()
8337 clki->max_freq, ret); in ufshcd_init_clocks()
8340 clki->curr_freq = clki->max_freq; in ufshcd_init_clocks()
8343 clki->name, clk_get_rate(clki->clk)); in ufshcd_init_clocks()