Lines Matching refs:dualdiv
51 struct meson_clk_dualdiv_data *dualdiv = meson_clk_dualdiv_data(clk); in meson_clk_dualdiv_recalc_rate() local
54 setting.dual = meson_parm_read(clk->map, &dualdiv->dual); in meson_clk_dualdiv_recalc_rate()
55 setting.n1 = meson_parm_read(clk->map, &dualdiv->n1) + 1; in meson_clk_dualdiv_recalc_rate()
56 setting.m1 = meson_parm_read(clk->map, &dualdiv->m1) + 1; in meson_clk_dualdiv_recalc_rate()
57 setting.n2 = meson_parm_read(clk->map, &dualdiv->n2) + 1; in meson_clk_dualdiv_recalc_rate()
58 setting.m2 = meson_parm_read(clk->map, &dualdiv->m2) + 1; in meson_clk_dualdiv_recalc_rate()
65 struct meson_clk_dualdiv_data *dualdiv) in __dualdiv_get_setting() argument
67 const struct meson_clk_dualdiv_param *table = dualdiv->table; in __dualdiv_get_setting()
93 struct meson_clk_dualdiv_data *dualdiv = meson_clk_dualdiv_data(clk); in meson_clk_dualdiv_round_rate() local
95 __dualdiv_get_setting(rate, *parent_rate, dualdiv); in meson_clk_dualdiv_round_rate()
107 struct meson_clk_dualdiv_data *dualdiv = meson_clk_dualdiv_data(clk); in meson_clk_dualdiv_set_rate() local
109 __dualdiv_get_setting(rate, parent_rate, dualdiv); in meson_clk_dualdiv_set_rate()
114 meson_parm_write(clk->map, &dualdiv->dual, setting->dual); in meson_clk_dualdiv_set_rate()
115 meson_parm_write(clk->map, &dualdiv->n1, setting->n1 - 1); in meson_clk_dualdiv_set_rate()
116 meson_parm_write(clk->map, &dualdiv->m1, setting->m1 - 1); in meson_clk_dualdiv_set_rate()
117 meson_parm_write(clk->map, &dualdiv->n2, setting->n2 - 1); in meson_clk_dualdiv_set_rate()
118 meson_parm_write(clk->map, &dualdiv->m2, setting->m2 - 1); in meson_clk_dualdiv_set_rate()