Lines Matching defs:clkdm

172 static int omap3xxx_clkdm_clear_all_sleepdeps(struct clockdomain *clkdm)
177 for (cd = clkdm->sleepdep_srcs; cd && cd->clkdm_name; cd++) {
178 if (!cd->clkdm)
181 mask |= 1 << cd->clkdm->dep_bit;
184 omap2_cm_clear_mod_reg_bits(mask, clkdm->pwrdm.ptr->prcm_offs,
189 static int omap3xxx_clkdm_sleep(struct clockdomain *clkdm)
191 omap3xxx_cm_clkdm_force_sleep(clkdm->pwrdm.ptr->prcm_offs,
192 clkdm->clktrctrl_mask);
196 static int omap3xxx_clkdm_wakeup(struct clockdomain *clkdm)
198 omap3xxx_cm_clkdm_force_wakeup(clkdm->pwrdm.ptr->prcm_offs,
199 clkdm->clktrctrl_mask);
203 static void omap3xxx_clkdm_allow_idle(struct clockdomain *clkdm)
205 if (clkdm->usecount > 0)
206 clkdm_add_autodeps(clkdm);
208 omap3xxx_cm_clkdm_enable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
209 clkdm->clktrctrl_mask);
212 static void omap3xxx_clkdm_deny_idle(struct clockdomain *clkdm)
214 omap3xxx_cm_clkdm_disable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
215 clkdm->clktrctrl_mask);
217 if (clkdm->usecount > 0)
218 clkdm_del_autodeps(clkdm);
221 static int omap3xxx_clkdm_clk_enable(struct clockdomain *clkdm)
225 if (!clkdm->clktrctrl_mask)
233 if ((clkdm->flags & CLKDM_MISSING_IDLE_REPORTING) &&
234 (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)) {
235 omap3xxx_clkdm_wakeup(clkdm);
239 hwsup = omap3xxx_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
240 clkdm->clktrctrl_mask);
244 omap3xxx_cm_clkdm_disable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
245 clkdm->clktrctrl_mask);
246 clkdm_add_autodeps(clkdm);
247 omap3xxx_cm_clkdm_enable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
248 clkdm->clktrctrl_mask);
250 if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP)
251 omap3xxx_clkdm_wakeup(clkdm);
257 static int omap3xxx_clkdm_clk_disable(struct clockdomain *clkdm)
261 if (!clkdm->clktrctrl_mask)
269 if (clkdm->flags & CLKDM_MISSING_IDLE_REPORTING &&
270 !(clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) {
271 omap3xxx_cm_clkdm_enable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
272 clkdm->clktrctrl_mask);
276 hwsup = omap3xxx_cm_is_clkdm_in_hwsup(clkdm->pwrdm.ptr->prcm_offs,
277 clkdm->clktrctrl_mask);
281 omap3xxx_cm_clkdm_disable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
282 clkdm->clktrctrl_mask);
283 clkdm_del_autodeps(clkdm);
284 omap3xxx_cm_clkdm_enable_hwsup(clkdm->pwrdm.ptr->prcm_offs,
285 clkdm->clktrctrl_mask);
287 if (clkdm->flags & CLKDM_CAN_FORCE_SLEEP)
288 omap3xxx_clkdm_sleep(clkdm);