Lines Matching refs:master

54 static inline bool clk_master_ready(struct clk_master *master)  in clk_master_ready()  argument
56 unsigned int bit = master->id ? AT91_PMC_MCKXRDY : AT91_PMC_MCKRDY; in clk_master_ready()
59 pmc_read(master->base, AT91_PMC_SR, &status); in clk_master_ready()
66 struct clk_master *master = to_clk_master(clk); in clk_master_enable() local
68 while (!clk_master_ready(master)) { in clk_master_enable()
69 debug("waiting for mck %d\n", master->id); in clk_master_enable()
78 struct clk_master *master = to_clk_master(clk); in clk_master_get_rate() local
79 const struct clk_master_layout *layout = master->layout; in clk_master_get_rate()
81 master->characteristics; in clk_master_get_rate()
89 pmc_read(master->base, master->layout->offset, &mckr); in clk_master_get_rate()
121 struct clk_master *master; in at91_clk_register_master() local
130 master = kzalloc(sizeof(*master), GFP_KERNEL); in at91_clk_register_master()
131 if (!master) in at91_clk_register_master()
134 master->layout = layout; in at91_clk_register_master()
135 master->characteristics = characteristics; in at91_clk_register_master()
136 master->base = base; in at91_clk_register_master()
137 master->num_parents = num_parents; in at91_clk_register_master()
138 master->mux_table = mux_table; in at91_clk_register_master()
140 pmc_read(master->base, master->layout->offset, &val); in at91_clk_register_master()
141 clk = &master->clk; in at91_clk_register_master()
146 kfree(master); in at91_clk_register_master()
162 struct clk_master *master = to_clk_master(clk); in clk_sama7g5_master_set_parent() local
165 index = at91_clk_mux_val_to_index(master->clk_mux_table, in clk_sama7g5_master_set_parent()
166 master->num_parents, parent->id); in clk_sama7g5_master_set_parent()
170 index = at91_clk_mux_index_to_val(master->mux_table, in clk_sama7g5_master_set_parent()
171 master->num_parents, index); in clk_sama7g5_master_set_parent()
175 pmc_write(master->base, PMC_MCR, PMC_MCR_ID(master->id)); in clk_sama7g5_master_set_parent()
176 pmc_update_bits(master->base, PMC_MCR, in clk_sama7g5_master_set_parent()
179 PMC_MCR_ID(master->id)); in clk_sama7g5_master_set_parent()
185 struct clk_master *master = to_clk_master(clk); in clk_sama7g5_master_enable() local
187 pmc_write(master->base, PMC_MCR, PMC_MCR_ID(master->id)); in clk_sama7g5_master_enable()
188 pmc_update_bits(master->base, PMC_MCR, in clk_sama7g5_master_enable()
190 PMC_MCR_EN | PMC_MCR_CMD | PMC_MCR_ID(master->id)); in clk_sama7g5_master_enable()
197 struct clk_master *master = to_clk_master(clk); in clk_sama7g5_master_disable() local
199 pmc_write(master->base, PMC_MCR, master->id); in clk_sama7g5_master_disable()
200 pmc_update_bits(master->base, PMC_MCR, in clk_sama7g5_master_disable()
202 PMC_MCR_CMD | PMC_MCR_ID(master->id)); in clk_sama7g5_master_disable()
209 struct clk_master *master = to_clk_master(clk); in clk_sama7g5_master_set_rate() local
227 pmc_write(master->base, PMC_MCR, master->id); in clk_sama7g5_master_set_rate()
228 pmc_update_bits(master->base, PMC_MCR, in clk_sama7g5_master_set_rate()
231 PMC_MCR_ID(master->id)); in clk_sama7g5_master_set_rate()
238 struct clk_master *master = to_clk_master(clk); in clk_sama7g5_master_get_rate() local
246 pmc_write(master->base, PMC_MCR, master->id); in clk_sama7g5_master_get_rate()
247 pmc_read(master->base, PMC_MCR, &val); in clk_sama7g5_master_get_rate()
272 struct clk_master *master; in at91_clk_sama7g5_register_master() local
281 master = kzalloc(sizeof(*master), GFP_KERNEL); in at91_clk_sama7g5_register_master()
282 if (!master) in at91_clk_sama7g5_register_master()
285 master->base = base; in at91_clk_sama7g5_register_master()
286 master->id = id; in at91_clk_sama7g5_register_master()
287 master->mux_table = mux_table; in at91_clk_sama7g5_register_master()
288 master->clk_mux_table = clk_mux_table; in at91_clk_sama7g5_register_master()
289 master->num_parents = num_parents; in at91_clk_sama7g5_register_master()
291 pmc_write(master->base, PMC_MCR, master->id); in at91_clk_sama7g5_register_master()
292 pmc_read(master->base, PMC_MCR, &val); in at91_clk_sama7g5_register_master()
294 index = at91_clk_mux_val_to_index(master->mux_table, in at91_clk_sama7g5_register_master()
295 master->num_parents, in at91_clk_sama7g5_register_master()
298 kfree(master); in at91_clk_sama7g5_register_master()
302 clk = &master->clk; in at91_clk_sama7g5_register_master()
308 kfree(master); in at91_clk_sama7g5_register_master()