public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Tomi Valkeinen <tomi.valkeinen@nokia.com>
To: "ext Semwal, Sumit" <sumit.semwal@ti.com>
Cc: ext Guruswamy Senthilvadivu <svadivu@ti.com>,
	paul@pwsan.com, khilman@deeprootsystems.com, v-hiremath@ti.com,
	a0919096@ti.com, linux-omap@vger.kernel.org
Subject: Re: [PATCH v3 09/17] OMAP2,3: DSS2: Move clocks from core driver to dss driver
Date: Fri, 07 Jan 2011 11:14:08 +0200	[thread overview]
Message-ID: <1294391648.3968.27.camel@nubuntu> (raw)
In-Reply-To: <AANLkTikeJX2qnhf-AmiDcb_9Dkmc1pQAFcj=WF9xo5R1@mail.gmail.com>

On Thu, 2011-01-06 at 15:10 +0530, ext Semwal, Sumit wrote:
> Hi Tomi,
> 
> On Wed, Jan 5, 2011 at 9:05 PM, Tomi Valkeinen <tomi.valkeinen@nokia.com> wrote:
> > On Mon, 2011-01-03 at 18:21 +0530, ext Guruswamy Senthilvadivu wrote:
> >> From: Senthilvadivu Guruswamy <svadivu@ti.com>
> >>
> >> clks are moved to dss platform driver.  clk_get/put APIs use dss device instead
> >> of core platform device. So the device name is changed from omap_display to
> >> omap_dss in 2420, 2430, 3xxx clock database files. Now teh core driver
> >> "omap_display" only takes care of panel registration with the custom bus.
> >> dss driver would take care of the clocks needed by DISPC, RFBI, DSI, VENC.
> >>
> >> TODO:  The clock content would be adapted to omap_hwmod in a seperate series.
> >>
> >> Signed-off-by: Senthilvadivu Guruswamy <svadivu@ti.com>
> >
> > <snip>
> >
> >> @@ -508,14 +192,7 @@ static int omap_dss_probe(struct platform_device *pdev)
> >>       dss_init_overlay_managers(pdev);
> >>       dss_init_overlays(pdev);
> >>
> >> -     r = dss_get_clocks();
> >> -     if (r)
> >> -             goto err_clocks;
> >> -
> >> -     dss_clk_enable_all_no_ctx();
> >> -
> >> -     core.ctx_id = dss_get_ctx_id();
> >> -     DSSDBG("initial ctx id %u\n", core.ctx_id);
> >> +     dss_clk_enable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M);
> >>
> >>  #ifdef CONFIG_FB_OMAP_BOOTLOADER_INIT
> >>       /* DISPC_CONTROL */
> >> @@ -589,7 +266,7 @@ static int omap_dss_probe(struct platform_device *pdev)
> >>                       pdata->default_device = dssdev;
> >>       }
> >>
> >> -     dss_clk_disable_all();
> >> +     dss_clk_disable(DSS_CLK_ICK | DSS_CLK_FCK1 | DSS_CLK_54M);
> >
> > Why are the calls dss_clk_enable_all_no_ctx() and dss_clk_disable_all()
> > changed?
> This came as an after-effect of moving all clk related stuff to dss.c;
> I think the idea is that all the new DSS IP platform drivers should
> use only the exposed clock mgmt APIs [dss_clk_enable() /
> dss_clk_disable()].

Ah, right.

> However, you are right; all the required clocks might not be getting
> enabled / disabled as required.
> I can (re)create the static dss_clk_disable_all() /
> dss_clk_enable_all_no_ctx() locally inside core.c - do you think
> that's ok, or should I export these functions too from dss.c?

Well... I think all the xxx_init() functions should enable the clocks
they require, so in that sense enabling the clocks is not needed at all.

But there's the (hackish) code for CONFIG_FB_OMAP_BOOTLOADER_INIT, which
requires normal dss clocks. Also if each xxx_init() call enables and
disables the clocks, and dss_probe doesn't keep the clocks enabled, then
we would get a ctx save/restore after every init, which would not be
nice.

So I think enabling just ICK and FCK1 would be enough, to get
CONFIG_FB_OMAP_BOOTLOADER_INIT work and to prevent ctx save/restore.

Perhaps there should be a comment above the dss_clk_enable, like "keep
clocks enabled to prevent context saves/restores during init".

 Tomi



  reply	other threads:[~2011-01-07  9:14 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-03 12:50 [PATCH v3 00/17] OMAP2,3: hwmod DSS Adaptation Guruswamy Senthilvadivu
2011-01-03 12:50 ` [PATCH v3 01/17] OMAP2420: hwmod data: add DSS DISPC RFBI VENC Guruswamy Senthilvadivu
2011-01-03 12:50 ` [PATCH v3 02/17] OMAP2430: " Guruswamy Senthilvadivu
2011-01-03 12:50 ` [PATCH v3 03/17] OMAP3: hwmod data: add DSS DISPC RFBI DSI VENC Guruswamy Senthilvadivu
2011-01-03 12:50 ` [PATCH v3 04/17] OMAP2,3 DSS2 Change driver name to omap_display Guruswamy Senthilvadivu
2011-01-03 12:50 ` [PATCH v3 05/17] OMAP2,3 DSS2 Use Regulator init with driver name Guruswamy Senthilvadivu
2011-01-03 12:50 ` [PATCH v3 06/17] OMAP2,3 DSS2 Move DSS driver register from board file to devices.c Guruswamy Senthilvadivu
2011-01-04 23:58   ` Kevin Hilman
2011-01-05 10:51   ` Tomi Valkeinen
2011-01-05 10:55     ` Semwal, Sumit
2011-01-03 12:50 ` [PATCH v3 07/17] OMAP2,3: DSS2: Build omap_device for each DSS HWIP Guruswamy Senthilvadivu
2011-01-04  1:56   ` Tony Lindgren
2011-01-04 12:27     ` Semwal, Sumit
2011-01-03 12:51 ` [PATCH v3 08/17] OMAP2,3: DSS2: Create platform_driver for each DSS HW IP Guruswamy Senthilvadivu
2011-01-05  0:07   ` Kevin Hilman
2011-01-05  3:44     ` Semwal, Sumit
2011-01-05 11:27   ` Tomi Valkeinen
2011-01-05 13:25     ` Semwal, Sumit
2011-01-05 14:58       ` Tomi Valkeinen
2011-01-03 12:51 ` [PATCH v3 09/17] OMAP2,3: DSS2: Move clocks from core driver to dss driver Guruswamy Senthilvadivu
2011-01-05 15:35   ` Tomi Valkeinen
2011-01-06  9:40     ` Semwal, Sumit
2011-01-07  9:14       ` Tomi Valkeinen [this message]
2011-01-03 12:51 ` [PATCH v3 10/17] OMAP2,3: DSS2: Move dss_feature_init to dss Guruswamy Senthilvadivu
2011-01-03 12:51 ` [PATCH v3 11/17] OMAP2,3: DSS2: DSS Move init,exit to driver Guruswamy Senthilvadivu
2011-01-03 12:51 ` [PATCH v3 12/17] OMAP2,3: DSS2: RFBI " Guruswamy Senthilvadivu
2011-01-05 15:46   ` Tomi Valkeinen
2011-01-03 12:51 ` [PATCH v3 13/17] OMAP2,3: DSS2: DISPC " Guruswamy Senthilvadivu
2011-01-03 12:51 ` [PATCH v3 14/17] OMAP2,3: DSS2: VENC " Guruswamy Senthilvadivu
2011-01-03 12:51 ` [PATCH v3 15/17] OMAP2,3: DSS2: DSI Move init, exit " Guruswamy Senthilvadivu
2011-01-03 12:51 ` [PATCH v3 16/17] OMAP2,3: DSS2: Use platform device to get baseaddr Guruswamy Senthilvadivu
2011-01-03 12:51 ` [PATCH v3 17/17] OMAP2,3: DSS2: Get DSS IRQ from platform device Guruswamy Senthilvadivu

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=1294391648.3968.27.camel@nubuntu \
    --to=tomi.valkeinen@nokia.com \
    --cc=a0919096@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=sumit.semwal@ti.com \
    --cc=svadivu@ti.com \
    --cc=v-hiremath@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