Hi, On Fri, 18 Jan 2019 07:48:07 -0800 Tony Lindgren wrote: > Hi, > > * Andreas Kemnade [190116 22:04]: > > Deny autoidle for hwmods with the OCPIF_SWSUP_IDLE flag, > > that makes hwmods working properly which cannot handle > > autoidle properly in lower power states. > > Sorry if I'm still missing something :) > > But doesn't this now block autoidle for all modules > with OCPIF_SWSUP_IDLE even if they work just fine with > autoidle? According to the code comments, it was just meant for that. if (os->flags & OCPIF_SWSUP_IDLE) { - /* XXX omap_iclk_deny_idle(c); */ + /* I guess there are workarounds for the other modules in place, or critical situations were not found yet. The other affected module is e.g. DSS. And we had some trouble in initialisation order for omap3 in the past and did some quirks. Probably we also fixed issues in reality caused by having the autoidle bit set. That flags also causes the iclk being enabled/disabled manually. Did you see any regressions? The patch is now 3 month old and nobody complained. I checked module idlest bits and did not see any changes. > > I think what you want to do is keep clocks enabled > while in use? > > If so, how about using HWMOD_CLKDM_NOAUTO: > > "HWMOD_CLKDM_NOAUTO: Allows the hwmod's clockdomain to > be prevented from entering HW_AUTO while hwmod is > active." That is about iclk. I think we should have clear wording here between all the idle things. > > > Affected is e. g. the omap_hdq. > > Have you already tried what happens if you just tag > omap_hdq with HWMOD_CLKDM_NOAUTO? > Well, I am just happy with having that single bit cleared. But having two flags for the same things makes no sense to me. Regards, Andreas