Lines Matching full:gpt
9 #define pr_fmt(fmt) "clk-gpt-synth: " fmt
24 * Calculates gpt synth clk rate for different values of mscale and nscale
34 struct clk_gpt *gpt = to_clk_gpt(hw); in gpt_calc_rate() local
35 struct gpt_rate_tbl *rtbl = gpt->rtbl; in gpt_calc_rate()
45 struct clk_gpt *gpt = to_clk_gpt(hw); in clk_gpt_determine_rate() local
49 gpt_calc_rate, gpt->rtbl_cnt, &unused); in clk_gpt_determine_rate()
57 struct clk_gpt *gpt = to_clk_gpt(hw); in clk_gpt_recalc_rate() local
61 if (gpt->lock) in clk_gpt_recalc_rate()
62 spin_lock_irqsave(gpt->lock, flags); in clk_gpt_recalc_rate()
64 val = readl_relaxed(gpt->reg); in clk_gpt_recalc_rate()
66 if (gpt->lock) in clk_gpt_recalc_rate()
67 spin_unlock_irqrestore(gpt->lock, flags); in clk_gpt_recalc_rate()
78 /* Configures new clock rate of gpt */
82 struct clk_gpt *gpt = to_clk_gpt(hw); in clk_gpt_set_rate() local
83 struct gpt_rate_tbl *rtbl = gpt->rtbl; in clk_gpt_set_rate()
87 clk_round_rate_index(hw, drate, prate, gpt_calc_rate, gpt->rtbl_cnt, in clk_gpt_set_rate()
90 if (gpt->lock) in clk_gpt_set_rate()
91 spin_lock_irqsave(gpt->lock, flags); in clk_gpt_set_rate()
93 val = readl(gpt->reg) & ~GPT_MSCALE_MASK; in clk_gpt_set_rate()
99 writel_relaxed(val, gpt->reg); in clk_gpt_set_rate()
101 if (gpt->lock) in clk_gpt_set_rate()
102 spin_unlock_irqrestore(gpt->lock, flags); in clk_gpt_set_rate()
118 struct clk_gpt *gpt; in clk_register_gpt() local
126 gpt = kzalloc(sizeof(*gpt), GFP_KERNEL); in clk_register_gpt()
127 if (!gpt) in clk_register_gpt()
131 gpt->reg = reg; in clk_register_gpt()
132 gpt->rtbl = rtbl; in clk_register_gpt()
133 gpt->rtbl_cnt = rtbl_cnt; in clk_register_gpt()
134 gpt->lock = lock; in clk_register_gpt()
135 gpt->hw.init = &init; in clk_register_gpt()
143 clk = clk_register(NULL, &gpt->hw); in clk_register_gpt()
148 kfree(gpt); in clk_register_gpt()