/* ------------------------------------------------------------------------*//** * @FUNCTION powerdm_in_transition * @BRIEF return 1 if a power transition is ongoing * on a given power domain * @RETURNS 1 if a power transition is ongoing * 0 if NO power transition is ongoing (or error) * @param[in] powerdm: power domain name * @DESCRIPTION return 1 if a power transition is ongoing * on a given power domain *//*------------------------------------------------------------------------ */ unsigned int powerdm_in_transition(const char *powerdm) { int in_transition; reg *pm_pwrstst; CHECK_NULL_ARG(powerdm, 0); pm_pwrstst = powerdm_pwrstst_reg_get(powerdm); if (pm_pwrstst == NULL) { dprintf("%s(%s): PM_PWRSTST==NULL!\n", __func__, powerdm); return 0; } in_transition = pwrdm_in_transition(pm_pwrstst); #ifdef PWRDM_DEBUG if (in_transition) printf("%s(%s): power transition ONGOING.\n", __func__, powerdm); else printf("%s(%s): NO power transition ongoing.\n", __func__, powerdm); #endif return in_transition; }
/* ------------------------------------------------------------------------*//** * @FUNCTION pwrdm54xx_in_transition * @BRIEF return 1 if power domain is in transition, 0 otherwise * @RETURNS 1 if power domain is in transition, 0 otherwise * @param[in] id: valid power domain ID * @DESCRIPTION return 1 if power domain is in transition, 0 otherwise *//*------------------------------------------------------------------------ */ unsigned int pwrdm54xx_in_transition(pwrdm54xx_id id) { reg *pm_pwrstst; if (!cpu_is_omap54xx()) { fprintf(stderr, "%s(): CPU != 54XX\n", __func__); return 0; } CHECK_ARG_LESS_THAN(id, PWRDM54XX_ID_MAX, 0); /* Retrieve PM_xyz_PWRSTST pointer */ pm_pwrstst = pwrdm54xx_pwrstst_reg_get(id); /* Retrieve power domain intransition status */ return pwrdm_in_transition(pm_pwrstst); }