Lines Matching refs:hwd

150 	struct cdce706_hw_data *hwd = to_hw_data(hw);  in cdce706_clkin_set_parent()  local
152 hwd->parent = index; in cdce706_clkin_set_parent()
158 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkin_get_parent() local
160 return hwd->parent; in cdce706_clkin_get_parent()
171 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_pll_recalc_rate() local
173 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_recalc_rate()
175 __func__, hwd->idx, hwd->mux, hwd->mul, hwd->div); in cdce706_pll_recalc_rate()
177 if (!hwd->mux) { in cdce706_pll_recalc_rate()
178 if (hwd->div && hwd->mul) { in cdce706_pll_recalc_rate()
179 u64 res = (u64)parent_rate * hwd->mul; in cdce706_pll_recalc_rate()
181 do_div(res, hwd->div); in cdce706_pll_recalc_rate()
185 if (hwd->div) in cdce706_pll_recalc_rate()
186 return parent_rate / hwd->div; in cdce706_pll_recalc_rate()
194 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_pll_round_rate() local
198 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_round_rate()
205 hwd->mul = mul; in cdce706_pll_round_rate()
206 hwd->div = div; in cdce706_pll_round_rate()
208 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_round_rate()
210 __func__, hwd->idx, mul, div); in cdce706_pll_round_rate()
212 res = (u64)*parent_rate * hwd->mul; in cdce706_pll_round_rate()
213 do_div(res, hwd->div); in cdce706_pll_round_rate()
220 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_pll_set_rate() local
221 unsigned long mul = hwd->mul, div = hwd->div; in cdce706_pll_set_rate()
224 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_set_rate()
226 __func__, hwd->idx, mul, div); in cdce706_pll_set_rate()
228 err = cdce706_reg_update(hwd->dev_data, in cdce706_pll_set_rate()
229 CDCE706_PLL_HI(hwd->idx), in cdce706_pll_set_rate()
237 err = cdce706_reg_write(hwd->dev_data, in cdce706_pll_set_rate()
238 CDCE706_PLL_M_LOW(hwd->idx), in cdce706_pll_set_rate()
243 err = cdce706_reg_write(hwd->dev_data, in cdce706_pll_set_rate()
244 CDCE706_PLL_N_LOW(hwd->idx), in cdce706_pll_set_rate()
249 err = cdce706_reg_update(hwd->dev_data, in cdce706_pll_set_rate()
251 CDCE706_PLL_FVCO_MASK(hwd->idx), in cdce706_pll_set_rate()
253 CDCE706_PLL_FVCO_MASK(hwd->idx) : 0); in cdce706_pll_set_rate()
265 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_set_parent() local
267 if (hwd->parent == index) in cdce706_divider_set_parent()
269 hwd->parent = index; in cdce706_divider_set_parent()
270 return cdce706_reg_update(hwd->dev_data, in cdce706_divider_set_parent()
271 CDCE706_DIVIDER_PLL(hwd->idx), in cdce706_divider_set_parent()
272 CDCE706_DIVIDER_PLL_MASK(hwd->idx), in cdce706_divider_set_parent()
273 index << CDCE706_DIVIDER_PLL_SHIFT(hwd->idx)); in cdce706_divider_set_parent()
278 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_get_parent() local
280 return hwd->parent; in cdce706_divider_get_parent()
286 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_recalc_rate() local
288 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_recalc_rate()
290 __func__, hwd->idx, hwd->div); in cdce706_divider_recalc_rate()
291 if (hwd->div) in cdce706_divider_recalc_rate()
292 return parent_rate / hwd->div; in cdce706_divider_recalc_rate()
299 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_round_rate() local
300 struct cdce706_dev_data *cdce = hwd->dev_data; in cdce706_divider_round_rate()
303 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
342 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
350 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
355 hwd->div = div; in cdce706_divider_round_rate()
357 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
359 __func__, hwd->idx, div); in cdce706_divider_round_rate()
367 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_set_rate() local
369 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_set_rate()
371 __func__, hwd->idx, hwd->div); in cdce706_divider_set_rate()
373 return cdce706_reg_update(hwd->dev_data, in cdce706_divider_set_rate()
374 CDCE706_DIVIDER(hwd->idx), in cdce706_divider_set_rate()
376 hwd->div); in cdce706_divider_set_rate()
389 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_prepare() local
391 return cdce706_reg_update(hwd->dev_data, CDCE706_CLKOUT(hwd->idx), in cdce706_clkout_prepare()
398 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_unprepare() local
400 cdce706_reg_update(hwd->dev_data, CDCE706_CLKOUT(hwd->idx), in cdce706_clkout_unprepare()
406 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_set_parent() local
408 if (hwd->parent == index) in cdce706_clkout_set_parent()
410 hwd->parent = index; in cdce706_clkout_set_parent()
411 return cdce706_reg_update(hwd->dev_data, in cdce706_clkout_set_parent()
412 CDCE706_CLKOUT(hwd->idx), in cdce706_clkout_set_parent()
418 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_get_parent() local
420 return hwd->parent; in cdce706_clkout_get_parent()