RE: [PATCH 2/5] OMAP: clockdomain: Arch specific funcs to handle deps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Paul,

> -----Original Message-----
> From: Paul Walmsley [mailto:paul@xxxxxxxxx]
> Sent: Tuesday, January 11, 2011 7:02 AM
> To: Rajendra Nayak
> Cc: linux-omap@xxxxxxxxxxxxxxx; khilman@xxxxxxxxxxxxxxxxxxx;
b-cousson@xxxxxx
> Subject: Re: [PATCH 2/5] OMAP: clockdomain: Arch specific funcs to
handle deps
>
> On Wed, 5 Jan 2011, Rajendra Nayak wrote:
>
> > Define the following architecture specific funtions for omap2/3
> > .clkdm_add_wkdep
> > .clkdm_del_wkdep
> > .clkdm_read_wkdep
> > .clkdm_clear_all_wkdeps
> > .clkdm_add_sleepdep
> > .clkdm_del_sleepdep
> > .clkdm_read_sleepdep
> > .clkdm_clear_all_sleepdeps
> >
> > Convert the platform-independent framework to call these functions.
> > With this also move the clkdm lookups for all wkdep_srcs and
> > sleepdep_srcs at clkdm_init.
> >
> > Signed-off-by: Rajendra Nayak <rnayak@xxxxxx>
> > ---
> >  arch/arm/mach-omap2/Makefile                     |    2 +
> >  arch/arm/mach-omap2/clockdomain.c                |   80
++++++---------
> >  arch/arm/mach-omap2/clockdomain.h                |    2 +
> >  arch/arm/mach-omap2/clockdomain2xxx_3xxx.c       |  113
++++++++++++++++++++++
> >  arch/arm/mach-omap2/clockdomains2xxx_3xxx_data.c |    2 +-
>
> This is definitely a good start, but a lot of OMAP4 stuff still needs
> to be done.
>
> For example, OMAP4 has static wakeup dependencies just like OMAP2/3;
> described in section 3.1.1.1.7.3 "Wake-Up Dependency" of the OMAP4430
TRM
> Rev. L.
>
> OMAP4 also has static sleep dependencies just like OMAP3; described in
> section 3.1.1.1.7.1 "Static Dependency" of the OMAP4430 TRM
> Rev. L.

I already have some patches to support static dependencies for OMAP4.
Still working towards getting the autogen scripts in place, they seem to
be a bit out of sync with whats in mainline today for clockdomains.
I can post early patches as RFC to get your views on it.

The only difference wrt OMAP3 is there is no control on OMAP4 to
set/clear sleep and wakeup dependencies separately and hence
they are called Static dependency and not 'Static wakeup' or 'Static
sleep'.
Setting a static dependency between clock domains on OMAP4 means setting
sleep *as well as* wakeup dependency.

>
> The dynamic wakeup dependencies (section 3.1.1.1.7.2 of the TRM) and the
> hardware inactivity timer are new for OMAP4.
>
> What's the plan to add support for these?

I will be working on supporting these as well. Can be supported easily on
top
of the clockdomain split series. Still need to get the autogen scripts
updated
to generate the dynamic dependency data.

>
> Based on a brief look, it would seem to make sense to add support now
for
> static sleep dependencies.  These seem quite similar to the OMAP3
> implementation, in that they are between clockdomains.

Again like I said above, my next patch series will add support for static
(sleep
and wakeup) dependencies. The other 'wakeup dependency' that the TRM
section 3.1.1.1.7.3 talks about is slightly different. See my comments
below.

>
> Dynamic wakeup dependencies and the prescaler timer configuration should
> be fairly easy to add since it is a new feature, and thus no OMAP2/3
> implementation is needed.  The dyndep stuff is between clockdomains, so
> there shouldn't be any interaction needed with the hwmod code by my
> reading.
>
> Static wakeup dependency support appears a little more tricky, since the
> dependencies are between modules and clockdomains on OMAP4, rather than
> between clockdomains and clockdomains as they were on OMAP2/3.  One way
to
> handle this would be to change the existing wkdep interface for all
OMAPs
> to be between modules and clockdomains; then for the OMAP2/3
> implementations, use the hwmod code/data to get the clockdomain of the
> module's main_clk.  Another is to add a separate interface to add wkdeps
> between a module and clockdomain, use that for OMAP4, but use the
existing
> clockdomain-to-clockdomain interface for OMAP2/3.  It might be necessary
> to do both until the hwmod data is more complete, then perhaps phase out
> the latter interface.  Thoughts?

The wakeup dependency here (between a module and a clock domain)
is very different from the static dependency (between clock domains) and
is
very much like what the PM_<processor>_GRPSEL registers handled in OMAP3.
They are used to control which processor is woken up on a given module/
peripheral wakeup event. I have not given much thought on this for now but
looks like this needs to be handled in some way using hwmod itself.
I need to work some more to see how this can be handled.

Regards,
Rajendra

>
>
> - Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux