Lines Matching refs:hwd

149 	struct cdce706_hw_data *hwd = to_hw_data(hw);  in cdce706_clkin_set_parent()  local
151 hwd->parent = index; in cdce706_clkin_set_parent()
157 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkin_get_parent() local
159 return hwd->parent; in cdce706_clkin_get_parent()
170 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_pll_recalc_rate() local
172 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_recalc_rate()
174 __func__, hwd->idx, hwd->mux, hwd->mul, hwd->div); in cdce706_pll_recalc_rate()
176 if (!hwd->mux) { in cdce706_pll_recalc_rate()
177 if (hwd->div && hwd->mul) { in cdce706_pll_recalc_rate()
178 u64 res = (u64)parent_rate * hwd->mul; in cdce706_pll_recalc_rate()
180 do_div(res, hwd->div); in cdce706_pll_recalc_rate()
184 if (hwd->div) in cdce706_pll_recalc_rate()
185 return parent_rate / hwd->div; in cdce706_pll_recalc_rate()
193 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_pll_round_rate() local
197 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_round_rate()
204 hwd->mul = mul; in cdce706_pll_round_rate()
205 hwd->div = div; in cdce706_pll_round_rate()
207 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_round_rate()
209 __func__, hwd->idx, mul, div); in cdce706_pll_round_rate()
211 res = (u64)*parent_rate * hwd->mul; in cdce706_pll_round_rate()
212 do_div(res, hwd->div); in cdce706_pll_round_rate()
219 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_pll_set_rate() local
220 unsigned long mul = hwd->mul, div = hwd->div; in cdce706_pll_set_rate()
223 dev_dbg(&hwd->dev_data->client->dev, in cdce706_pll_set_rate()
225 __func__, hwd->idx, mul, div); in cdce706_pll_set_rate()
227 err = cdce706_reg_update(hwd->dev_data, in cdce706_pll_set_rate()
228 CDCE706_PLL_HI(hwd->idx), in cdce706_pll_set_rate()
236 err = cdce706_reg_write(hwd->dev_data, in cdce706_pll_set_rate()
237 CDCE706_PLL_M_LOW(hwd->idx), in cdce706_pll_set_rate()
242 err = cdce706_reg_write(hwd->dev_data, in cdce706_pll_set_rate()
243 CDCE706_PLL_N_LOW(hwd->idx), in cdce706_pll_set_rate()
248 err = cdce706_reg_update(hwd->dev_data, in cdce706_pll_set_rate()
250 CDCE706_PLL_FVCO_MASK(hwd->idx), in cdce706_pll_set_rate()
252 CDCE706_PLL_FVCO_MASK(hwd->idx) : 0); in cdce706_pll_set_rate()
264 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_set_parent() local
266 if (hwd->parent == index) in cdce706_divider_set_parent()
268 hwd->parent = index; in cdce706_divider_set_parent()
269 return cdce706_reg_update(hwd->dev_data, in cdce706_divider_set_parent()
270 CDCE706_DIVIDER_PLL(hwd->idx), in cdce706_divider_set_parent()
271 CDCE706_DIVIDER_PLL_MASK(hwd->idx), in cdce706_divider_set_parent()
272 index << CDCE706_DIVIDER_PLL_SHIFT(hwd->idx)); in cdce706_divider_set_parent()
277 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_get_parent() local
279 return hwd->parent; in cdce706_divider_get_parent()
285 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_recalc_rate() local
287 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_recalc_rate()
289 __func__, hwd->idx, hwd->div); in cdce706_divider_recalc_rate()
290 if (hwd->div) in cdce706_divider_recalc_rate()
291 return parent_rate / hwd->div; in cdce706_divider_recalc_rate()
298 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_round_rate() local
299 struct cdce706_dev_data *cdce = hwd->dev_data; in cdce706_divider_round_rate()
302 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
341 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
349 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
354 hwd->div = div; in cdce706_divider_round_rate()
356 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_round_rate()
358 __func__, hwd->idx, div); in cdce706_divider_round_rate()
366 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_divider_set_rate() local
368 dev_dbg(&hwd->dev_data->client->dev, in cdce706_divider_set_rate()
370 __func__, hwd->idx, hwd->div); in cdce706_divider_set_rate()
372 return cdce706_reg_update(hwd->dev_data, in cdce706_divider_set_rate()
373 CDCE706_DIVIDER(hwd->idx), in cdce706_divider_set_rate()
375 hwd->div); in cdce706_divider_set_rate()
388 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_prepare() local
390 return cdce706_reg_update(hwd->dev_data, CDCE706_CLKOUT(hwd->idx), in cdce706_clkout_prepare()
397 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_unprepare() local
399 cdce706_reg_update(hwd->dev_data, CDCE706_CLKOUT(hwd->idx), in cdce706_clkout_unprepare()
405 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_set_parent() local
407 if (hwd->parent == index) in cdce706_clkout_set_parent()
409 hwd->parent = index; in cdce706_clkout_set_parent()
410 return cdce706_reg_update(hwd->dev_data, in cdce706_clkout_set_parent()
411 CDCE706_CLKOUT(hwd->idx), in cdce706_clkout_set_parent()
417 struct cdce706_hw_data *hwd = to_hw_data(hw); in cdce706_clkout_get_parent() local
419 return hwd->parent; in cdce706_clkout_get_parent()