Lines Matching refs:clki

411 	struct ufs_clk_info *clki;  in ufshcd_print_clk_freqs()  local
417 list_for_each_entry(clki, head, list) { in ufshcd_print_clk_freqs()
418 if (!IS_ERR_OR_NULL(clki->clk) && clki->min_freq && in ufshcd_print_clk_freqs()
419 clki->max_freq) in ufshcd_print_clk_freqs()
421 clki->name, clki->curr_freq); in ufshcd_print_clk_freqs()
955 struct ufs_clk_info *clki; in ufshcd_set_clk_freq() local
961 list_for_each_entry(clki, head, list) { in ufshcd_set_clk_freq()
962 if (!IS_ERR_OR_NULL(clki->clk)) { in ufshcd_set_clk_freq()
963 if (scale_up && clki->max_freq) { in ufshcd_set_clk_freq()
964 if (clki->curr_freq == clki->max_freq) in ufshcd_set_clk_freq()
967 ret = clk_set_rate(clki->clk, clki->max_freq); in ufshcd_set_clk_freq()
970 __func__, clki->name, in ufshcd_set_clk_freq()
971 clki->max_freq, ret); in ufshcd_set_clk_freq()
975 "scaled up", clki->name, in ufshcd_set_clk_freq()
976 clki->curr_freq, in ufshcd_set_clk_freq()
977 clki->max_freq); in ufshcd_set_clk_freq()
979 clki->curr_freq = clki->max_freq; in ufshcd_set_clk_freq()
981 } else if (!scale_up && clki->min_freq) { in ufshcd_set_clk_freq()
982 if (clki->curr_freq == clki->min_freq) in ufshcd_set_clk_freq()
985 ret = clk_set_rate(clki->clk, clki->min_freq); in ufshcd_set_clk_freq()
988 __func__, clki->name, in ufshcd_set_clk_freq()
989 clki->min_freq, ret); in ufshcd_set_clk_freq()
993 "scaled down", clki->name, in ufshcd_set_clk_freq()
994 clki->curr_freq, in ufshcd_set_clk_freq()
995 clki->min_freq); in ufshcd_set_clk_freq()
996 clki->curr_freq = clki->min_freq; in ufshcd_set_clk_freq()
1000 clki->name, clk_get_rate(clki->clk)); in ufshcd_set_clk_freq()
1049 struct ufs_clk_info *clki; in ufshcd_is_devfreq_scaling_required() local
1055 list_for_each_entry(clki, head, list) { in ufshcd_is_devfreq_scaling_required()
1056 if (!IS_ERR_OR_NULL(clki->clk)) { in ufshcd_is_devfreq_scaling_required()
1057 if (scale_up && clki->max_freq) { in ufshcd_is_devfreq_scaling_required()
1058 if (clki->curr_freq == clki->max_freq) in ufshcd_is_devfreq_scaling_required()
1061 } else if (!scale_up && clki->min_freq) { in ufshcd_is_devfreq_scaling_required()
1062 if (clki->curr_freq == clki->min_freq) in ufshcd_is_devfreq_scaling_required()
1305 struct ufs_clk_info *clki; in ufshcd_devfreq_target() local
1311 clki = list_first_entry(&hba->clk_list_head, struct ufs_clk_info, list); in ufshcd_devfreq_target()
1313 *freq = (unsigned long) clk_round_rate(clki->clk, *freq); in ufshcd_devfreq_target()
1329 scale_up = (*freq == clki->max_freq) ? true : false; in ufshcd_devfreq_target()
1331 *freq = clki->min_freq; in ufshcd_devfreq_target()
1381 struct ufs_clk_info *clki; in ufshcd_devfreq_get_dev_status() local
1394 clki = list_first_entry(clk_list, struct ufs_clk_info, list); in ufshcd_devfreq_get_dev_status()
1400 stat->current_frequency = clki->curr_freq; in ufshcd_devfreq_get_dev_status()
1425 struct ufs_clk_info *clki; in ufshcd_devfreq_init() local
1433 clki = list_first_entry(clk_list, struct ufs_clk_info, list); in ufshcd_devfreq_init()
1434 dev_pm_opp_add(hba->dev, clki->min_freq, 0); in ufshcd_devfreq_init()
1435 dev_pm_opp_add(hba->dev, clki->max_freq, 0); in ufshcd_devfreq_init()
1447 dev_pm_opp_remove(hba->dev, clki->min_freq); in ufshcd_devfreq_init()
1448 dev_pm_opp_remove(hba->dev, clki->max_freq); in ufshcd_devfreq_init()
1460 struct ufs_clk_info *clki; in ufshcd_devfreq_remove() local
1468 clki = list_first_entry(clk_list, struct ufs_clk_info, list); in ufshcd_devfreq_remove()
1469 dev_pm_opp_remove(hba->dev, clki->min_freq); in ufshcd_devfreq_remove()
1470 dev_pm_opp_remove(hba->dev, clki->max_freq); in ufshcd_devfreq_remove()
8372 struct ufs_clk_info *clki; in ufshcd_setup_clocks() local
8385 list_for_each_entry(clki, head, list) { in ufshcd_setup_clocks()
8386 if (!IS_ERR_OR_NULL(clki->clk)) { in ufshcd_setup_clocks()
8392 clki->keep_link_active) in ufshcd_setup_clocks()
8395 clk_state_changed = on ^ clki->enabled; in ufshcd_setup_clocks()
8396 if (on && !clki->enabled) { in ufshcd_setup_clocks()
8397 ret = clk_prepare_enable(clki->clk); in ufshcd_setup_clocks()
8400 __func__, clki->name, ret); in ufshcd_setup_clocks()
8403 } else if (!on && clki->enabled) { in ufshcd_setup_clocks()
8404 clk_disable_unprepare(clki->clk); in ufshcd_setup_clocks()
8406 clki->enabled = on; in ufshcd_setup_clocks()
8408 clki->name, on ? "en" : "dis"); in ufshcd_setup_clocks()
8418 list_for_each_entry(clki, head, list) { in ufshcd_setup_clocks()
8419 if (!IS_ERR_OR_NULL(clki->clk) && clki->enabled) in ufshcd_setup_clocks()
8420 clk_disable_unprepare(clki->clk); in ufshcd_setup_clocks()
8440 struct ufs_clk_info *clki; in ufshcd_init_clocks() local
8447 list_for_each_entry(clki, head, list) { in ufshcd_init_clocks()
8448 if (!clki->name) in ufshcd_init_clocks()
8451 clki->clk = devm_clk_get(dev, clki->name); in ufshcd_init_clocks()
8452 if (IS_ERR(clki->clk)) { in ufshcd_init_clocks()
8453 ret = PTR_ERR(clki->clk); in ufshcd_init_clocks()
8455 __func__, clki->name, ret); in ufshcd_init_clocks()
8464 if (!strcmp(clki->name, "ref_clk")) in ufshcd_init_clocks()
8465 ufshcd_parse_dev_ref_clk_freq(hba, clki->clk); in ufshcd_init_clocks()
8467 if (clki->max_freq) { in ufshcd_init_clocks()
8468 ret = clk_set_rate(clki->clk, clki->max_freq); in ufshcd_init_clocks()
8471 __func__, clki->name, in ufshcd_init_clocks()
8472 clki->max_freq, ret); in ufshcd_init_clocks()
8475 clki->curr_freq = clki->max_freq; in ufshcd_init_clocks()
8478 clki->name, clk_get_rate(clki->clk)); in ufshcd_init_clocks()