Lines Matching full:rate
126 * Calculate m/n:d rate
129 * rate = ----------- x ---
133 calc_rate(unsigned long rate, u32 m, u32 n, u32 mode, u32 hid_div) in calc_rate() argument
136 rate *= 2; in calc_rate()
137 rate /= hid_div + 1; in calc_rate()
141 u64 tmp = rate; in calc_rate()
144 rate = tmp; in calc_rate()
147 return rate; in calc_rate()
181 unsigned long clk_flags, rate = req->rate; in _freq_tbl_determine_rate() local
188 f = qcom_find_freq_floor(f, rate); in _freq_tbl_determine_rate()
191 f = qcom_find_freq(f, rate); in _freq_tbl_determine_rate()
210 rate = f->freq; in _freq_tbl_determine_rate()
212 if (!rate) in _freq_tbl_determine_rate()
213 rate = req->rate; in _freq_tbl_determine_rate()
214 rate /= 2; in _freq_tbl_determine_rate()
215 rate *= f->pre_div + 1; in _freq_tbl_determine_rate()
219 u64 tmp = rate; in _freq_tbl_determine_rate()
222 rate = tmp; in _freq_tbl_determine_rate()
225 rate = clk_hw_get_rate(p); in _freq_tbl_determine_rate()
228 req->best_parent_rate = rate; in _freq_tbl_determine_rate()
229 req->rate = f->freq; in _freq_tbl_determine_rate()
299 static int __clk_rcg2_set_rate(struct clk_hw *hw, unsigned long rate, in __clk_rcg2_set_rate() argument
307 f = qcom_find_freq_floor(rcg->freq_tbl, rate); in __clk_rcg2_set_rate()
310 f = qcom_find_freq(rcg->freq_tbl, rate); in __clk_rcg2_set_rate()
322 static int clk_rcg2_set_rate(struct clk_hw *hw, unsigned long rate, in clk_rcg2_set_rate() argument
325 return __clk_rcg2_set_rate(hw, rate, CEIL); in clk_rcg2_set_rate()
328 static int clk_rcg2_set_floor_rate(struct clk_hw *hw, unsigned long rate, in clk_rcg2_set_floor_rate() argument
331 return __clk_rcg2_set_rate(hw, rate, FLOOR); in clk_rcg2_set_floor_rate()
335 unsigned long rate, unsigned long parent_rate, u8 index) in clk_rcg2_set_rate_and_parent() argument
337 return __clk_rcg2_set_rate(hw, rate, CEIL); in clk_rcg2_set_rate_and_parent()
341 unsigned long rate, unsigned long parent_rate, u8 index) in clk_rcg2_set_floor_rate_and_parent() argument
343 return __clk_rcg2_set_rate(hw, rate, FLOOR); in clk_rcg2_set_floor_rate_and_parent()
373 static const struct frac_entry frac_table_675m[] = { /* link rate of 270M */
384 static struct frac_entry frac_table_810m[] = { /* Link rate of 162M */
395 static int clk_edp_pixel_set_rate(struct clk_hw *hw, unsigned long rate, in clk_edp_pixel_set_rate() argument
413 request = rate; in clk_edp_pixel_set_rate()
435 unsigned long rate, unsigned long parent_rate, u8 index) in clk_edp_pixel_set_rate_and_parent() argument
438 return clk_edp_pixel_set_rate(hw, rate, parent_rate); in clk_edp_pixel_set_rate_and_parent()
463 request = req->rate; in clk_edp_pixel_determine_rate()
475 req->rate = calc_rate(req->best_parent_rate, in clk_edp_pixel_determine_rate()
505 if (req->rate == 0) in clk_byte_determine_rate()
509 req->best_parent_rate = parent_rate = clk_hw_round_rate(p, req->rate); in clk_byte_determine_rate()
511 div = DIV_ROUND_UP((2 * parent_rate), req->rate) - 1; in clk_byte_determine_rate()
514 req->rate = calc_rate(parent_rate, 0, 0, 0, div); in clk_byte_determine_rate()
519 static int clk_byte_set_rate(struct clk_hw *hw, unsigned long rate, in clk_byte_set_rate() argument
527 div = DIV_ROUND_UP((2 * parent_rate), rate) - 1; in clk_byte_set_rate()
536 unsigned long rate, unsigned long parent_rate, u8 index) in clk_byte_set_rate_and_parent() argument
539 return clk_byte_set_rate(hw, rate, parent_rate); in clk_byte_set_rate_and_parent()
560 unsigned long rate = req->rate; in clk_byte2_determine_rate() local
562 if (rate == 0) in clk_byte2_determine_rate()
566 req->best_parent_rate = parent_rate = clk_hw_round_rate(p, rate); in clk_byte2_determine_rate()
568 div = DIV_ROUND_UP((2 * parent_rate), rate) - 1; in clk_byte2_determine_rate()
571 req->rate = calc_rate(parent_rate, 0, 0, 0, div); in clk_byte2_determine_rate()
576 static int clk_byte2_set_rate(struct clk_hw *hw, unsigned long rate, in clk_byte2_set_rate() argument
586 div = DIV_ROUND_UP((2 * parent_rate), rate) - 1; in clk_byte2_set_rate()
606 unsigned long rate, unsigned long parent_rate, u8 index) in clk_byte2_set_rate_and_parent() argument
609 return clk_byte2_set_rate(hw, rate, parent_rate); in clk_byte2_set_rate_and_parent()
639 request = (req->rate * frac->den) / frac->num; in clk_pixel_determine_rate()
647 req->rate = (src_rate * frac->num) / frac->den; in clk_pixel_determine_rate()
654 static int clk_pixel_set_rate(struct clk_hw *hw, unsigned long rate, in clk_pixel_set_rate() argument
677 request = (rate * frac->den) / frac->num; in clk_pixel_set_rate()
696 static int clk_pixel_set_rate_and_parent(struct clk_hw *hw, unsigned long rate, in clk_pixel_set_rate_and_parent() argument
699 return clk_pixel_set_rate(hw, rate, parent_rate); in clk_pixel_set_rate_and_parent()
722 if (req->rate == clk_hw_get_rate(xo)) { in clk_gfx3d_determine_rate()
731 /* PLL9 is a fixed rate PLL */ in clk_gfx3d_determine_rate()
734 parent_req.rate = req->rate = min(req->rate, p9_rate); in clk_gfx3d_determine_rate()
735 if (req->rate == p9_rate) { in clk_gfx3d_determine_rate()
736 req->rate = req->best_parent_rate = p9_rate; in clk_gfx3d_determine_rate()
742 /* Are we going back to a previously used rate? */ in clk_gfx3d_determine_rate()
743 if (clk_hw_get_rate(p8) == req->rate) in clk_gfx3d_determine_rate()
757 req->rate = req->best_parent_rate = parent_req.rate; in clk_gfx3d_determine_rate()
762 static int clk_gfx3d_set_rate_and_parent(struct clk_hw *hw, unsigned long rate, in clk_gfx3d_set_rate_and_parent() argument
778 static int clk_gfx3d_set_rate(struct clk_hw *hw, unsigned long rate, in clk_gfx3d_set_rate() argument
848 static int clk_rcg2_shared_set_rate(struct clk_hw *hw, unsigned long rate, in clk_rcg2_shared_set_rate() argument
854 f = qcom_find_freq(rcg->freq_tbl, rate); in clk_rcg2_shared_set_rate()
869 unsigned long rate, unsigned long parent_rate, u8 index) in clk_rcg2_shared_set_rate_and_parent() argument
871 return clk_rcg2_shared_set_rate(hw, rate, parent_rate); in clk_rcg2_shared_set_rate_and_parent()
922 /* Write back the stored configuration corresponding to current rate */ in clk_rcg2_shared_disable()