Hi On Mon, 7 Mar 2011, Kevin Hilman wrote: > "Varadarajan, Charulatha" <charu@xxxxxx> writes: > > > On Sat, Mar 5, 2011 at 02:21, Kevin Hilman <khilman@xxxxxx> wrote: > >> Charulatha V <charu@xxxxxx> writes: > >>> > >>> + if (!strcmp(bank->pwrdm_name, "wkup_pwrdm")) > >>> + continue; > >>> + > >> > >> This adds a string compare for every bank during every idle > >> transistion (and every resume.) That's a lot of unneeded overhead. > >> > >> I'd rather see a per-bank flag 'looses_context' or something that can be > >> checked more efficiently in this fast path. This flag can be set based > >> on the powerdomain name in the device init code. > > > > This looks better. Will do the needful. > > One question, can "looses_context" be made as part of dev_attr? > > I guess that's up to Benoît. > > But, I don't think that's necessary. It should be easy to set at runtime > just doing a strcmp on the powerdomain during the device init, > omap_device_build phase. It shouldn't be part of .dev_attr, since it's not a IP block-specific attribute, it's a powerdomain-specific attribute. The same hwmod structure might be used on another OMAP chip that places the device in a different powerdomain. It would also be good to avoid doing strcmp()s here. The powerdomain name string, like any name string, should basically be opaque to code. In this case, the best approach is probably for the subarch integration code to ask the powerdomain code whether the hwmod's powerdomain can ever lose context. I just posted a patch series to do this[1], so I'd suggest you use the function that it exports. - Paul 1. http://marc.info/?l=linux-omap&m=129955064112024&w=2