int omap4_pwrdm_read_prev_pwrst(struct powerdomain *pwrdm) { if (pwrdm->flags & PWRDM_HAS_LASTPOWERSTATEENT) return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP4_PM_PWSTST, OMAP4430_LASTPOWERSTATEENTERED_MASK); else return -EINVAL; }
int omap4_pwrdm_read_mem_retst(struct powerdomain *pwrdm, u8 bank) { u32 m; m = _get_mem_bank_retst_mask(bank); return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP4_PM_PWSTCTRL, m); }
int omap4_pwrdm_read_prev_mem_pwrst(struct powerdomain *pwrdm, u8 bank) { u32 m; m = _get_mem_bank_lastmemst_mask(bank); return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP3430_PM_PREPWSTST, m); }
int omap4_pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm) { int dff_ctxt; dff_ctxt = prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP4_PM_CONTEXT, OMAP4430_LOSTCONTEXT_DFF_MASK); if (dff_ctxt) return PWRDM_POWER_OFF; else return PWRDM_POWER_RET; }
int omap4_pwrdm_read_prev_logic_pwrst(struct powerdomain *pwrdm) { return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP3430_PM_PREPWSTST, OMAP3430_LASTLOGICSTATEENTERED_MASK); }
int omap4_pwrdm_read_logic_pwrst(struct powerdomain *pwrdm) { return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP4_PM_PWSTST, OMAP3430_LOGICSTATEST_MASK); }
int omap4_pwrdm_read_pwrst(struct powerdomain *pwrdm) { return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP4_PM_PWSTST, OMAP_POWERSTATEST_MASK); }
int omap2_pwrdm_read_next_pwrst(struct powerdomain *pwrdm) { return prm_read_mod_bits_shift(pwrdm->prcm_offs, OMAP2_PM_PWSTCTRL, OMAP_POWERSTATE_MASK); }