Re: [PATCH] OMAP: hwmod: add kernel cmdline flag to avoid resetting IP blocks during init

Tony Lindgren
2011-07-07T05:27:50Z

* Paul Walmsley <paul@pwsan.com> [110706 23:52]:
> Hi Tony
>
> On Tue, 5 Jul 2011, Tony Lindgren wrote:
>
> > So basically we want to tell the following from the board file or board
> > specific .dts file:
> >
> > - Device is being used on the board and can be reset and configured.
> > This is the usual case.
>
> By 'used', you mean, have a Linux driver associated with them, right?

Right.

> > - Device is being used on the board but can't be reset. This is the
> > case for booting Linux from other operating systems initially where
> > you want to keep the LCD on for debug console.
>
> Or, to use examples that would be needed in a production device, the
> 4460/N810 GPIO examples discussed earlier.
>
> Based on our current experience, there are a very small number of these
> cases, and they are board-specific. So it seems to make sense to
> explicitly state these exceptions in the board files, via
> omap_hwmod_no_setup_reset() or something similar.

Yeah they should be all board specific. One more example comes to mind
was to keep the bootup logo around from bootloader on the LCD that the
DSS code was doing earlier.

> > - Device is not being used on the board but can be reset for decent PM.
> > This is often needed in cases where the bootloader just enables all the
> > clocks.
>
> Yeah. And it's not just bootloaders, it's also the previous kernel in the
> case of something like kexec. Since we don't know what devices the
> bootloader or previous kernel touched, it seems to make sense to reset all
> of these devices by default, once the drivers are converted to use runtime
> PM.
>
> The current issue here is that some drivers aren't yet converted, so the
> hwmod code might think that some devices are 'unused' when they are
> actually in use by a non-runtime-PM-based driver.
>
> > - Device is reserved by secure mode or a coprocessor. In this case
> > the device can't be reset.
>
> Indeed - or even accessed.
>
> > So I guess that makes the flags noreset, disabled and unavailable?
>
> I think we only need 'no reset' and 'unavailable'? Once the runtime PM
> driver conversion is complete, I don't think there's any reason to keep
> the 'hwmod_unused_reset' command line flag around, since it can be the
> default. That's because the hwmod code would then be able to track which
> devices were actually used.

Sounds doable to me.

Regards,

Tony