public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: tomi.valkeinen@ti.com (Tomi Valkeinen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 2/3] ARM: omap: hwmod: get rid of all omap_clk_get_by_name usage
Date: Fri, 31 Aug 2012 11:27:23 +0300	[thread overview]
Message-ID: <1346401643.32389.4.camel@deskari> (raw)
In-Reply-To: <504073CF.6010804@ti.com>

On Fri, 2012-08-31 at 13:50 +0530, Archit Taneja wrote:
> On Friday 31 August 2012 12:45 PM, Tomi Valkeinen wrote:
> > On Fri, 2012-08-31 at 11:53 +0530, Archit Taneja wrote:
> >
> >> The only little problem was that during bootup, when hwmods are setup,
> >> only the 'parent' hwmod was able to get reset properly, all the other
> >> 'child' hwmods don't have modulemode bits tied to them, and hence
> >> weren't able to reset. So we got some error prints.
> >>
> >> Once DSS driver kicks in, the driver ensures the parent is enabled for
> >> any child to be enabled, so we don't face the issue again.
> >>
> >> So, if DSS driver is not built in, and if the bootloader left DSS in a
> >> bad state, the DSS clocks might remain messed up all the time since
> >> hwmod fwk wasn't able to reset them.
> >>
> >> I think this is why we didn't proceed with remove "dss_fck" as a slave
> >> clock. If this issue is minor, we could go ahead and remove it.
> >
> > I wonder if we could handle this with a custom reset function. We
> > already have a reset func for dss core. If I remember right, the main
> > point for that is the fact that omap4 doesn't have a softreset for dss
> > core, so we manually write the default values to registers.
> >
> > For omap2/3 this would be simple: skip the resets for all other dss
> > submodules, and dss core's reset would enable all the clocks and set the
> > softreset bit. This would reset all the submodules also.
> >
> > Omap4 is more tricky. I guess we'd need to enable all the clocks, clear
> > manually dss core's registers, and then set softreset bits in all the
> > submodules. So in this case dss core would need to have information
> > about the other submodules.
> 
> The is a good idea. I don't clearly understand your approach though. Are 
> you saying we have a custom reset function for only dss core? And reset 
> the submodules in it manually?

Yes.

> An alternative approach would be to implement custom reset functions for 
> each submodule(or each hwmod), and in the beginning of every reset 
> function, add a hack to enable MODULEMODE bits(since we don't want hwmod 
> fwk to touch MODULEMODE for the DSS submodules), and then set the soft 
> reset bits.

I thought about that also. We'd need reset functions for all of them,
and for omap2/3 we'd just reset the submodules again as they have
already been reset with the dss core reset.

The dss submodule resets are a bit linked. For omap2/3 the connection is
obvious as dss core reset resets also the submodules, and for omap4 we
have this requirement for the modulemode. That's why I though it'd be
perhaps cleaner to handle the reset of the DSS block as a whole, in one
place.

> Your approach would ensure that we get a clean reset of DSS, but it 
> would still give the annoying prints when each of the submodule tries to 
> reset itself.

The other submodules would not be reset by the hwmod framework at all,
so there wouldn't be prints. I think there's a flag for that.

 Tomi

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20120831/def63783/attachment-0001.sig>

  reply	other threads:[~2012-08-31  8:27 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-29  8:56 [PATCH v4 0/3] Prepare for OMAP2+ movement to Common Clk Rajendra Nayak
2012-08-29  8:56 ` [PATCH v4 1/3] ARM: omap: clk: add clk_prepare and clk_unprepare Rajendra Nayak
2012-08-30  0:03   ` Turquette, Mike
2012-08-29  8:56 ` [PATCH v4 2/3] ARM: omap: hwmod: get rid of all omap_clk_get_by_name usage Rajendra Nayak
2012-08-30  0:08   ` Russell King - ARM Linux
2012-08-30  8:37     ` Rajendra Nayak
2012-08-30  0:15   ` Turquette, Mike
2012-08-30  8:39     ` Rajendra Nayak
2012-08-30 11:57       ` Benoit Cousson
2012-08-30 16:42         ` Tomi Valkeinen
2012-08-31  6:23           ` Archit Taneja
2012-08-31  7:15             ` Tomi Valkeinen
2012-08-31  8:20               ` Archit Taneja
2012-08-31  8:27                 ` Tomi Valkeinen [this message]
2012-08-31  8:28                   ` Archit Taneja
2012-10-05  9:46                     ` OMAP4 clock/pm fixes [was: " Archit Taneja
2012-10-05 12:20                       ` Benoit Cousson
2012-10-05 12:29                         ` Archit Taneja
2012-10-05 12:37                           ` Rajendra Nayak
2012-10-05 13:20                             ` Archit Taneja
2012-10-05 13:31                               ` Rajendra Nayak
2012-10-05 13:46                                 ` Archit Taneja
2012-10-05 13:51                               ` Benoit Cousson
2012-09-22 18:55   ` Paul Walmsley
2012-09-24  5:09     ` Rajendra Nayak
2012-08-29  8:56 ` [PATCH v4 3/3] ARM: OMAP2+: clock: Remove all direct dereferencing of struct clk Rajendra Nayak
2012-08-30 20:56 ` [PATCH v4 0/3] Prepare for OMAP2+ movement to Common Clk Paul Walmsley
2012-08-31  5:03   ` Vaibhav Hiremath

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1346401643.32389.4.camel@deskari \
    --to=tomi.valkeinen@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox