Lines Matching refs:clkdm

388 static int omap4_clkdm_clear_all_wkup_sleep_deps(struct clockdomain *clkdm)  in omap4_clkdm_clear_all_wkup_sleep_deps()  argument
393 if (!clkdm->prcm_partition) in omap4_clkdm_clear_all_wkup_sleep_deps()
396 for (cd = clkdm->wkdep_srcs; cd && cd->clkdm_name; cd++) { in omap4_clkdm_clear_all_wkup_sleep_deps()
397 if (!cd->clkdm) in omap4_clkdm_clear_all_wkup_sleep_deps()
400 mask |= 1 << cd->clkdm->dep_bit; in omap4_clkdm_clear_all_wkup_sleep_deps()
404 omap4_cminst_clear_inst_reg_bits(mask, clkdm->prcm_partition, in omap4_clkdm_clear_all_wkup_sleep_deps()
405 clkdm->cm_inst, clkdm->clkdm_offs + in omap4_clkdm_clear_all_wkup_sleep_deps()
410 static int omap4_clkdm_sleep(struct clockdomain *clkdm) in omap4_clkdm_sleep() argument
412 if (clkdm->flags & CLKDM_CAN_HWSUP) in omap4_clkdm_sleep()
413 omap4_cminst_clkdm_enable_hwsup(clkdm->prcm_partition, in omap4_clkdm_sleep()
414 clkdm->cm_inst, in omap4_clkdm_sleep()
415 clkdm->clkdm_offs); in omap4_clkdm_sleep()
416 else if (clkdm->flags & CLKDM_CAN_FORCE_SLEEP) in omap4_clkdm_sleep()
417 omap4_cminst_clkdm_force_sleep(clkdm->prcm_partition, in omap4_clkdm_sleep()
418 clkdm->cm_inst, in omap4_clkdm_sleep()
419 clkdm->clkdm_offs); in omap4_clkdm_sleep()
426 static int omap4_clkdm_wakeup(struct clockdomain *clkdm) in omap4_clkdm_wakeup() argument
428 omap4_cminst_clkdm_force_wakeup(clkdm->prcm_partition, in omap4_clkdm_wakeup()
429 clkdm->cm_inst, clkdm->clkdm_offs); in omap4_clkdm_wakeup()
433 static void omap4_clkdm_allow_idle(struct clockdomain *clkdm) in omap4_clkdm_allow_idle() argument
435 omap4_cminst_clkdm_enable_hwsup(clkdm->prcm_partition, in omap4_clkdm_allow_idle()
436 clkdm->cm_inst, clkdm->clkdm_offs); in omap4_clkdm_allow_idle()
439 static void omap4_clkdm_deny_idle(struct clockdomain *clkdm) in omap4_clkdm_deny_idle() argument
441 if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP) in omap4_clkdm_deny_idle()
442 omap4_clkdm_wakeup(clkdm); in omap4_clkdm_deny_idle()
444 omap4_cminst_clkdm_disable_hwsup(clkdm->prcm_partition, in omap4_clkdm_deny_idle()
445 clkdm->cm_inst, in omap4_clkdm_deny_idle()
446 clkdm->clkdm_offs); in omap4_clkdm_deny_idle()
449 static int omap4_clkdm_clk_enable(struct clockdomain *clkdm) in omap4_clkdm_clk_enable() argument
451 if (clkdm->flags & CLKDM_CAN_FORCE_WAKEUP) in omap4_clkdm_clk_enable()
452 return omap4_clkdm_wakeup(clkdm); in omap4_clkdm_clk_enable()
457 static int omap4_clkdm_clk_disable(struct clockdomain *clkdm) in omap4_clkdm_clk_disable() argument
461 if (!clkdm->prcm_partition) in omap4_clkdm_clk_disable()
469 if (clkdm->flags & CLKDM_MISSING_IDLE_REPORTING && in omap4_clkdm_clk_disable()
470 !(clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) { in omap4_clkdm_clk_disable()
471 omap4_clkdm_allow_idle(clkdm); in omap4_clkdm_clk_disable()
475 hwsup = omap4_cminst_is_clkdm_in_hwsup(clkdm->prcm_partition, in omap4_clkdm_clk_disable()
476 clkdm->cm_inst, clkdm->clkdm_offs); in omap4_clkdm_clk_disable()
478 if (!hwsup && (clkdm->flags & CLKDM_CAN_FORCE_SLEEP)) in omap4_clkdm_clk_disable()
479 omap4_clkdm_sleep(clkdm); in omap4_clkdm_clk_disable()