Lines Matching refs:gpt
12 #define pr_fmt(fmt) "clk-gpt-synth: " fmt
27 * Calculates gpt synth clk rate for different values of mscale and nscale
37 struct clk_gpt *gpt = to_clk_gpt(hw);
38 struct gpt_rate_tbl *rtbl = gpt->rtbl;
48 struct clk_gpt *gpt = to_clk_gpt(hw);
52 gpt->rtbl_cnt, &unused);
58 struct clk_gpt *gpt = to_clk_gpt(hw);
62 if (gpt->lock)
63 spin_lock_irqsave(gpt->lock, flags);
65 val = readl_relaxed(gpt->reg);
67 if (gpt->lock)
68 spin_unlock_irqrestore(gpt->lock, flags);
79 /* Configures new clock rate of gpt */
83 struct clk_gpt *gpt = to_clk_gpt(hw);
84 struct gpt_rate_tbl *rtbl = gpt->rtbl;
88 clk_round_rate_index(hw, drate, prate, gpt_calc_rate, gpt->rtbl_cnt,
91 if (gpt->lock)
92 spin_lock_irqsave(gpt->lock, flags);
94 val = readl(gpt->reg) & ~GPT_MSCALE_MASK;
100 writel_relaxed(val, gpt->reg);
102 if (gpt->lock)
103 spin_unlock_irqrestore(gpt->lock, flags);
119 struct clk_gpt *gpt;
127 gpt = kzalloc(sizeof(*gpt), GFP_KERNEL);
128 if (!gpt)
132 gpt->reg = reg;
133 gpt->rtbl = rtbl;
134 gpt->rtbl_cnt = rtbl_cnt;
135 gpt->lock = lock;
136 gpt->hw.init = &init;
144 clk = clk_register(NULL, &gpt->hw);
149 kfree(gpt);