From: Tomi Valkeinen <tomi.valkeinen@ti.com>
To: "Cousson, Benoit" <b-cousson@ti.com>
Cc: "paul@pwsan.com" <paul@pwsan.com>,
"Nayak, Rajendra" <rnayak@ti.com>,
"Shilimkar, Santosh" <santosh.shilimkar@ti.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH 4/7] OMAP4: hwmod data: Replace main_clk with the real input clock
Date: Tue, 28 Jun 2011 11:37:56 +0300 [thread overview]
Message-ID: <1309250276.1825.58.camel@deskari> (raw)
In-Reply-To: <4E09907A.5020308@ti.com>
On Tue, 2011-06-28 at 10:27 +0200, Cousson, Benoit wrote:
> On 6/28/2011 10:14 AM, Valkeinen, Tomi wrote:
> > On Tue, 2011-06-28 at 10:10 +0200, Cousson, Benoit wrote:
> >> Hi Tomi,
> >>
> >> On 6/28/2011 8:40 AM, Valkeinen, Tomi wrote:
> >>> On Mon, 2011-06-27 at 18:33 +0200, Benoit Cousson wrote:
> >>>> Previously, main_clk was a fake clock node that was accessing the
> >>>> PRCM modulemode register. Since the module mode is directly
> >>>> controlled by the hwmod fmwk, these fake clock node are not
> >>>> needed anymore. The hwmod main_clk will point directly to the
> >>>> input clock node if applicable.
> >>>> For example, some IPs, like the GPIOs, do not have any functional
> >>>> clock and are using only the iclk. In that case, the main_clk
> >>>> field will be empty.
> >>>>
> >>>> In the case of the DSS, we can now consider all the optional clock as
> >>>> main clock.
> >>>> That will simplify greatly the driver management and the integration
> >>>> with hwmod.
> >>>>
> >>>> Signed-off-by: Benoit Cousson<b-cousson@ti.com>
> >>>> Cc: Tomi Valkeinen<tomi.valkeinen@ti.com>
> >>>> Cc: Paul Walmsley<paul@pwsan.com>
> >>>> Cc: Rajendra Nayak<rnayak@ti.com>
> >>>> ---
> >>>> arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 111 +++++++++++++---------------
> >>>> 1 files changed, 51 insertions(+), 60 deletions(-)
> >>>>
> >>>> diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> >>>> index e10d3f7..5c196a1 100644
> >>>> --- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> >>>> +++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
> >>>
> >>> <snip>
> >
> >>>> @@ -1456,7 +1455,7 @@ static struct omap_hwmod omap44xx_dss_dsi1_hwmod = {
> >>>> .mpu_irqs_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_irqs),
> >>>> .sdma_reqs = omap44xx_dss_dsi1_sdma_reqs,
> >>>> .sdma_reqs_cnt = ARRAY_SIZE(omap44xx_dss_dsi1_sdma_reqs),
> >>>> - .main_clk = "dss_fck",
> >>>> + .main_clk = "dss_sys_clk",
> >>>> .prcm = {
> >>>> .omap4 = {
> >>>> .clkctrl_offs = OMAP4_CM_DSS_DSS_CLKCTRL_OFFSET,
> >>>
> >>> Hmm... I don't think this is right. By default the DSI uses dss_dss_clk
> >>> as the functional clock. sys_clk goes to the DSI PLL, and the output of
> >>> which can be later used as the fclk for DSI. But that requires setup.
> >>
> >> OK, it was not super clear from the DSS clock tree which one should be
> >> the main one.
> >> So you'd prefer to have the dss_dss_clk as main clock and keep the
> >> dss_sys_clk as a opt_clock?
> >
> > Yes, I think that makes more sense.
> >
> > My patch set had dss_dss_clk as the mainclock for all DSS blocks. You
> > have it a bit differently for venc, hdmi, rfbi.
>
> Yep, I saw that but, I don't think it should be done like that.
>
> > It's a bit difficult to
> > verify those, as the DSS and DISPC are anyway enabled before
> > venc/hdmi/rfbi, so the dss_dss_clk is anyway enabled. But they do make
> > sense by looking at the clock tree.
>
> Mmm, I'm not sure of that. In theory the dss_dss_clk is mainly the
> functional clock for the DISPC. It can be used as the source clock for
> some other module like DSI, but it is not mandatory.
It is not mandatory for DSS/DISPC either, in the same way it's not
mandatory for DSI. But I think, for the time being, having dss_dss_clk
as the main_clk is the only way to get things working properly. (And I
mean for the hwmods that require it, not venc/rfbi/hdmi).
> In the case of venc, rfbi and hdmi, that dss_dss_clk is not even
> connected to them.
> You do have a functional dependency between the DISPC and all the DSS
> IPs, but that does not mean that the dss_dss_clk should be affected to
> all the sub IPs.
Yep, I agree. It does look correct to me also. I just wanted to point
out the difference, which may cause problems if your analysis is not
correct.
And I also don't know how to test it, as it won't be visible in normal
use (as the DISPC is always enabled first, enabling dss_dss_clk).
Perhaps it'd be possible with lauterbach, or perhaps hacking around,
enabling only certain clks and DSS parts, to see if the modules wake up
correctly.
> This is up to your driver stack to handle that functional dependency.
> That's why here I was trying to focus only on the main functionnal clock
> for each IP. There is no point to expose the dss_dss_clk to every hwmod
> if the driver does not have anything to do with them.
Yep. No disagreement =).
Tomi
next prev parent reply other threads:[~2011-06-28 8:38 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-27 16:33 [PATCH 0/7] OMAP4: Add modulemode support to hwmod framework (part 2) Benoit Cousson
2011-06-27 16:33 ` [PATCH 1/7] OMAP: hwmod: Add warnings if enable failed Benoit Cousson
2011-06-27 16:33 ` [PATCH 2/7] OMAP: omap_device: Create clkdev entry for hwmod main_clk Benoit Cousson
2011-06-27 18:56 ` Todd Poynor
2011-06-28 14:10 ` Cousson, Benoit
2011-06-28 18:21 ` Todd Poynor
2011-06-28 20:09 ` Cousson, Benoit
2011-06-27 16:33 ` [PATCH 3/7] OMAP4: hwmod data: TEMP: Do not idle MMC1 & MMC2 after boot Benoit Cousson
2011-06-28 0:17 ` Kevin Hilman
2011-06-28 9:40 ` Cousson, Benoit
2011-06-27 16:33 ` [PATCH 4/7] OMAP4: hwmod data: Replace main_clk with the real input clock Benoit Cousson
2011-06-28 6:40 ` Tomi Valkeinen
2011-06-28 8:10 ` Cousson, Benoit
2011-06-28 8:14 ` Tomi Valkeinen
2011-06-28 8:27 ` Cousson, Benoit
2011-06-28 8:37 ` Tomi Valkeinen [this message]
2011-06-27 16:33 ` [PATCH 5/7] OMAP4: clock data: Remove leaf clock nodes Benoit Cousson
2011-06-27 16:33 ` [PATCH 6/7] OMAP4: hwmod data: TEMP: Fix timer1 main_clk Benoit Cousson
2011-06-28 0:19 ` Kevin Hilman
2011-06-28 9:27 ` Cousson, Benoit
2011-06-28 15:17 ` Kevin Hilman
2011-06-27 16:33 ` [PATCH 7/7] OMAP4: prcm: Remove macros with absolute address Benoit Cousson
2011-06-28 0:30 ` [PATCH 0/7] OMAP4: Add modulemode support to hwmod framework (part 2) Kevin Hilman
2011-06-28 14:45 ` Cousson, Benoit
2011-06-28 6:56 ` Tomi Valkeinen
2011-06-28 8:14 ` Cousson, Benoit
2011-06-28 8:29 ` Tomi Valkeinen
2011-06-28 9:14 ` Cousson, Benoit
2011-06-28 9:20 ` Tomi Valkeinen
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=1309250276.1825.58.camel@deskari \
--to=tomi.valkeinen@ti.com \
--cc=b-cousson@ti.com \
--cc=linux-omap@vger.kernel.org \
--cc=paul@pwsan.com \
--cc=rnayak@ti.com \
--cc=santosh.shilimkar@ti.com \
/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