Lines Matching refs: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);
35 struct gpt_rate_tbl *rtbl = gpt->rtbl;
45 struct clk_gpt *gpt = to_clk_gpt(hw);
49 gpt->rtbl_cnt, &unused);
55 struct clk_gpt *gpt = to_clk_gpt(hw);
59 if (gpt->lock)
60 spin_lock_irqsave(gpt->lock, flags);
62 val = readl_relaxed(gpt->reg);
64 if (gpt->lock)
65 spin_unlock_irqrestore(gpt->lock, flags);
76 /* Configures new clock rate of gpt */
80 struct clk_gpt *gpt = to_clk_gpt(hw);
81 struct gpt_rate_tbl *rtbl = gpt->rtbl;
85 clk_round_rate_index(hw, drate, prate, gpt_calc_rate, gpt->rtbl_cnt,
88 if (gpt->lock)
89 spin_lock_irqsave(gpt->lock, flags);
91 val = readl(gpt->reg) & ~GPT_MSCALE_MASK;
97 writel_relaxed(val, gpt->reg);
99 if (gpt->lock)
100 spin_unlock_irqrestore(gpt->lock, flags);
116 struct clk_gpt *gpt;
124 gpt = kzalloc(sizeof(*gpt), GFP_KERNEL);
125 if (!gpt)
129 gpt->reg = reg;
130 gpt->rtbl = rtbl;
131 gpt->rtbl_cnt = rtbl_cnt;
132 gpt->lock = lock;
133 gpt->hw.init = &init;
141 clk = clk_register(NULL, &gpt->hw);
146 kfree(gpt);