Lines Matching refs:rate
54 unsigned long rate; member
387 ret = core->rate; in clk_core_get_rate_nolock()
444 static bool mux_is_better_rate(unsigned long rate, unsigned long now, in mux_is_better_rate() argument
448 return abs(now - rate) < abs(best - rate); in mux_is_better_rate()
450 return now <= rate && now > best; in mux_is_better_rate()
471 best = parent_req.rate; in clk_mux_determine_rate_flags()
494 parent_req.rate = clk_core_get_rate_nolock(parent); in clk_mux_determine_rate_flags()
497 if (mux_is_better_rate(req->rate, parent_req.rate, in clk_mux_determine_rate_flags()
500 best = parent_req.rate; in clk_mux_determine_rate_flags()
511 req->rate = best; in clk_mux_determine_rate_flags()
789 long rate; in clk_core_round_rate_nolock() local
799 req->best_parent_rate = parent->rate; in clk_core_round_rate_nolock()
808 rate = core->ops->round_rate(core->hw, req->rate, in clk_core_round_rate_nolock()
810 if (rate < 0) in clk_core_round_rate_nolock()
811 return rate; in clk_core_round_rate_nolock()
813 req->rate = rate; in clk_core_round_rate_nolock()
817 req->rate = core->rate; in clk_core_round_rate_nolock()
835 req->rate = 0; in __clk_determine_rate()
843 unsigned long clk_hw_round_rate(struct clk_hw *hw, unsigned long rate) in clk_hw_round_rate() argument
849 req.rate = rate; in clk_hw_round_rate()
855 return req.rate; in clk_hw_round_rate()
868 long clk_round_rate(struct clk *clk, unsigned long rate) in clk_round_rate() argument
879 req.rate = rate; in clk_round_rate()
887 return req.rate; in clk_round_rate()
1015 old_rate = core->rate; in __clk_recalc_rates()
1018 parent_rate = core->parent->rate; in __clk_recalc_rates()
1020 core->rate = clk_recalc(core, parent_rate); in __clk_recalc_rates()
1027 __clk_notify(core, msg, old_rate, core->rate); in __clk_recalc_rates()
1035 unsigned long rate; in clk_core_get_rate() local
1042 rate = clk_core_get_rate_nolock(core); in clk_core_get_rate()
1045 return rate; in clk_core_get_rate()
1253 ret = __clk_notify(core, PRE_RATE_CHANGE, core->rate, new_rate); in __clk_speculate_rates()
1295 unsigned long rate) in clk_calc_new_rates() argument
1313 best_parent_rate = parent->rate; in clk_calc_new_rates()
1321 req.rate = rate; in clk_calc_new_rates()
1326 req.best_parent_rate = parent->rate; in clk_calc_new_rates()
1337 new_rate = req.rate; in clk_calc_new_rates()
1340 ret = core->ops->round_rate(core->hw, rate, in clk_calc_new_rates()
1350 core->new_rate = core->rate; in clk_calc_new_rates()
1354 top = clk_calc_new_rates(parent, rate); in clk_calc_new_rates()
1378 best_parent_rate != parent->rate) in clk_calc_new_rates()
1398 if (core->rate == core->new_rate) in clk_propagate_rate_change()
1402 ret = __clk_notify(core, event, core->rate, core->new_rate); in clk_propagate_rate_change()
1439 old_rate = core->rate; in clk_change_rate()
1442 best_parent_rate = core->new_parent->rate; in clk_change_rate()
1444 best_parent_rate = core->parent->rate; in clk_change_rate()
1470 core->rate = clk_recalc(core, best_parent_rate); in clk_change_rate()
1472 if (core->notifier_count && old_rate != core->rate) in clk_change_rate()
1473 __clk_notify(core, POST_RATE_CHANGE, old_rate, core->rate); in clk_change_rate()
1498 unsigned long rate = req_rate; in clk_core_set_rate_nolock() local
1505 if (rate == clk_core_get_rate_nolock(core)) in clk_core_set_rate_nolock()
1512 top = clk_calc_new_rates(core, rate); in clk_core_set_rate_nolock()
1554 int clk_set_rate(struct clk *clk, unsigned long rate) in clk_set_rate() argument
1564 ret = clk_core_set_rate_nolock(clk->core, rate); in clk_set_rate()
1615 int clk_set_min_rate(struct clk *clk, unsigned long rate) in clk_set_min_rate() argument
1620 return clk_set_rate_range(clk, rate, clk->max_rate); in clk_set_min_rate()
1631 int clk_set_max_rate(struct clk *clk, unsigned long rate) in clk_set_max_rate() argument
1636 return clk_set_rate_range(clk, clk->min_rate, rate); in clk_set_max_rate()
1794 p_rate = parent->rate; in clk_core_set_parent()
2122 (u32 *)&core->rate); in clk_debug_create_one()
2301 unsigned long rate; in __clk_init() local
2430 rate = core->ops->recalc_rate(core->hw, in __clk_init()
2433 rate = core->parent->rate; in __clk_init()
2435 rate = 0; in __clk_init()
2436 core->rate = core->req_rate = rate; in __clk_init()
2630 static int clk_nodrv_set_rate(struct clk_hw *hw, unsigned long rate, in clk_nodrv_set_rate() argument