Lines Matching refs:md
23 int mux_div_set_src_div(struct clk_regmap_mux_div *md, u32 src, u32 div)
27 const char *name = clk_hw_get_name(&md->clkr.hw);
29 val = (div << md->hid_shift) | (src << md->src_shift);
30 mask = ((BIT(md->hid_width) - 1) << md->hid_shift) |
31 ((BIT(md->src_width) - 1) << md->src_shift);
33 ret = regmap_update_bits(md->clkr.regmap, CFG_RCGR + md->reg_offset,
38 ret = regmap_update_bits(md->clkr.regmap, CMD_RCGR + md->reg_offset,
45 ret = regmap_read(md->clkr.regmap, CMD_RCGR + md->reg_offset,
59 static void mux_div_get_src_div(struct clk_regmap_mux_div *md, u32 *src,
63 const char *name = clk_hw_get_name(&md->clkr.hw);
65 regmap_read(md->clkr.regmap, CMD_RCGR + md->reg_offset, &val);
72 regmap_read(md->clkr.regmap, CFG_RCGR + md->reg_offset, &val);
73 s = (val >> md->src_shift);
74 s &= BIT(md->src_width) - 1;
77 d = (val >> md->hid_shift);
78 d &= BIT(md->hid_width) - 1;
91 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
100 max_div = BIT(md->hid_width) - 1;
127 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
137 max_div = BIT(md->hid_width) - 1;
145 best_src = md->parent_map[i];
154 ret = mux_div_set_src_div(md, best_src, best_div);
156 md->div = best_div;
157 md->src = best_src;
165 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
169 mux_div_get_src_div(md, &src, &div);
172 if (src == md->parent_map[i])
181 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
183 return mux_div_set_src_div(md, md->parent_map[index], md->div);
189 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
191 return __mux_div_set_rate_and_parent(hw, rate, prate, md->src);
197 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
200 md->parent_map[index]);
205 struct clk_regmap_mux_div *md = to_clk_regmap_mux_div(hw);
210 mux_div_get_src_div(md, &src, &div);
212 if (src == md->parent_map[i]) {