From: "Hiremath, Vaibhav" <hvaibhav@ti.com> To: "Shilimkar, Santosh" <santosh.shilimkar@ti.com>, Ming Lei <tom.leiming@gmail.com> Cc: "Hilman, Kevin" <khilman@ti.com>, "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>, "linux-arm-kernel@lists.infradead.org" <linux-arm-kernel@lists.infradead.org>, "marc.zyngier@arm.com" <marc.zyngier@arm.com>, "johnstul@us.ibm.com" <johnstul@us.ibm.com>, "Balbi, Felipe" <balbi@ti.com>, "Cousson, Benoit" <b-cousson@ti.com>, Tony Lindgren <tony@atomide.com>, Paul Walmsley <paul@pwsan.com>, "DebBarma, Tarun Kanti" <tarun.kanti@ti.com> Subject: RE: [PATCH 1/3] ARM: OMAP2+: 32k-counter: Use hwmod lookup to check presence of 32k timer Date: Wed, 21 Mar 2012 11:42:26 +0000 [thread overview] Message-ID: <79CD15C6BA57404B839C016229A409A83182386C@DBDE01.ent.ti.com> (raw) In-Reply-To: <4F672364.3020403@ti.com> On Mon, Mar 19, 2012 at 17:45:32, Shilimkar, Santosh wrote: > On Monday 19 March 2012 05:14 PM, Ming Lei wrote: > > On Mon, Mar 19, 2012 at 7:11 PM, Hiremath, Vaibhav <hvaibhav@ti.com> wrote: > >> > >> I think you made very good point here. With the above patch, we are almost missing the capability of registering dmtimer as a clocksource for OMAP. > >> It will always use 32k-counter, and never fall back to dmtimer. > >> > >> Then the only options we have here is, > >> > >> 1) Register both the timers, 32k-counter and dmtimer for clocksource; let > >> Kernel pick up best rating clocksource out of these two. > >> > >> In case of OMAP1/2/3/4, kernel will use dmtimer, since it has better > >> Rating. User can choose the 32k-counter clocksource via bootargs. > >> > >> Impact: without bootargs for clocksource selection, kernel will choose > >> dmtimer, impacting loss of time during suspend/resume. > >> > This is the right option. The problem is gptimer clocksource > doesn't work across power transitions and hence it is broken. > > Even for the perf, with PM enabled, dmtimer can't be used or it needs > to be used with 32KHz clock which makes it no better than sync timer. > > So here keeping 32K sync timer is default clocksource makes sense since > it is the only working and viable option. > > So what can be done is register both 32K and gptimer together but make > gptimer clocksource registration depends on PM enabled. > > This should solve all the needs I guess. > I am not sure this will work on all platforms, for example, AM33XX, where We do not have 32ksync timer available, but we need PM support. Also, I personally think, we should not again use compile time option here. So the only option I have here is, register both the clocksources, let dmtimer be a default clocksource for the kernel (since it has better rating), And based on kernel parameter user can change the clocksource, specially for PM use-cases. Implementation point of view, I just need to do something like, static void __init omap2_gp_clocksource_init(int gptimer_id, const char *fck_source) { int res; res = omap_init_clocksource_32k(); if (!res) pr_err("failed to register 32ksync counter as a clocksource\n"); /* * Continue with dmtimer registration as well, irrespective of * whether 32ksync timer registration succeeded or not. */ } > >> > >> 2) Let the current code be as is, means, the clocksource registration will > >> Happened based on "#ifdef CONFIG_OMAP_32K_TIMER" and this option > >> selection will be Controlled by Kconfig rules. > > > We should get rid off CONFIG_OMAP_32K_TIMER. > Agreed, I will take this activity once I close on this. Thanks, Vaibhav > Regards > Santosh > >
WARNING: multiple messages have this Message-ID (diff)
From: hvaibhav@ti.com (Hiremath, Vaibhav) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 1/3] ARM: OMAP2+: 32k-counter: Use hwmod lookup to check presence of 32k timer Date: Wed, 21 Mar 2012 11:42:26 +0000 [thread overview] Message-ID: <79CD15C6BA57404B839C016229A409A83182386C@DBDE01.ent.ti.com> (raw) In-Reply-To: <4F672364.3020403@ti.com> On Mon, Mar 19, 2012 at 17:45:32, Shilimkar, Santosh wrote: > On Monday 19 March 2012 05:14 PM, Ming Lei wrote: > > On Mon, Mar 19, 2012 at 7:11 PM, Hiremath, Vaibhav <hvaibhav@ti.com> wrote: > >> > >> I think you made very good point here. With the above patch, we are almost missing the capability of registering dmtimer as a clocksource for OMAP. > >> It will always use 32k-counter, and never fall back to dmtimer. > >> > >> Then the only options we have here is, > >> > >> 1) Register both the timers, 32k-counter and dmtimer for clocksource; let > >> Kernel pick up best rating clocksource out of these two. > >> > >> In case of OMAP1/2/3/4, kernel will use dmtimer, since it has better > >> Rating. User can choose the 32k-counter clocksource via bootargs. > >> > >> Impact: without bootargs for clocksource selection, kernel will choose > >> dmtimer, impacting loss of time during suspend/resume. > >> > This is the right option. The problem is gptimer clocksource > doesn't work across power transitions and hence it is broken. > > Even for the perf, with PM enabled, dmtimer can't be used or it needs > to be used with 32KHz clock which makes it no better than sync timer. > > So here keeping 32K sync timer is default clocksource makes sense since > it is the only working and viable option. > > So what can be done is register both 32K and gptimer together but make > gptimer clocksource registration depends on PM enabled. > > This should solve all the needs I guess. > I am not sure this will work on all platforms, for example, AM33XX, where We do not have 32ksync timer available, but we need PM support. Also, I personally think, we should not again use compile time option here. So the only option I have here is, register both the clocksources, let dmtimer be a default clocksource for the kernel (since it has better rating), And based on kernel parameter user can change the clocksource, specially for PM use-cases. Implementation point of view, I just need to do something like, static void __init omap2_gp_clocksource_init(int gptimer_id, const char *fck_source) { int res; res = omap_init_clocksource_32k(); if (!res) pr_err("failed to register 32ksync counter as a clocksource\n"); /* * Continue with dmtimer registration as well, irrespective of * whether 32ksync timer registration succeeded or not. */ } > >> > >> 2) Let the current code be as is, means, the clocksource registration will > >> Happened based on "#ifdef CONFIG_OMAP_32K_TIMER" and this option > >> selection will be Controlled by Kconfig rules. > > > We should get rid off CONFIG_OMAP_32K_TIMER. > Agreed, I will take this activity once I close on this. Thanks, Vaibhav > Regards > Santosh > >
next prev parent reply other threads:[~2012-03-21 11:42 UTC|newest] Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top 2012-01-19 14:28 [PATCH 0/3] ARM: OMAP1/2+: 32k-timer: Add hwmod lookup for 32k-timer Vaibhav Hiremath 2012-01-19 14:28 ` Vaibhav Hiremath 2012-01-19 14:28 ` [PATCH 1/3] ARM: OMAP2+: 32k-counter: Use hwmod lookup to check presence of 32k timer Vaibhav Hiremath 2012-01-19 14:28 ` Vaibhav Hiremath 2012-01-23 23:38 ` Kevin Hilman 2012-01-23 23:38 ` Kevin Hilman 2012-01-24 8:53 ` Hiremath, Vaibhav 2012-01-24 8:53 ` Hiremath, Vaibhav 2012-01-24 17:47 ` Kevin Hilman 2012-01-24 17:47 ` Kevin Hilman 2012-02-01 8:00 ` Hiremath, Vaibhav 2012-02-01 8:00 ` Hiremath, Vaibhav 2012-03-13 11:37 ` Ming Lei 2012-03-13 11:37 ` Ming Lei 2012-03-19 11:11 ` Hiremath, Vaibhav 2012-03-19 11:11 ` Hiremath, Vaibhav 2012-03-19 11:44 ` Ming Lei 2012-03-19 11:44 ` Ming Lei 2012-03-19 12:15 ` Santosh Shilimkar 2012-03-19 12:15 ` Santosh Shilimkar 2012-03-21 11:42 ` Hiremath, Vaibhav [this message] 2012-03-21 11:42 ` Hiremath, Vaibhav 2012-03-21 14:00 ` Shilimkar, Santosh 2012-03-21 14:00 ` Shilimkar, Santosh 2012-03-28 14:16 ` Hiremath, Vaibhav 2012-03-28 14:16 ` Hiremath, Vaibhav 2012-03-28 14:20 ` Shilimkar, Santosh 2012-03-28 14:20 ` Shilimkar, Santosh 2012-03-28 14:37 ` Hiremath, Vaibhav 2012-03-28 14:37 ` Hiremath, Vaibhav 2012-03-28 14:49 ` Shilimkar, Santosh 2012-03-28 14:49 ` Shilimkar, Santosh 2012-03-30 6:34 ` Hiremath, Vaibhav 2012-03-30 6:34 ` Hiremath, Vaibhav 2012-03-30 7:41 ` Shilimkar, Santosh 2012-03-30 7:41 ` Shilimkar, Santosh 2012-03-30 8:32 ` Hiremath, Vaibhav 2012-03-30 8:32 ` Hiremath, Vaibhav 2012-03-30 8:38 ` Santosh Shilimkar 2012-03-30 8:38 ` Santosh Shilimkar 2012-03-30 9:12 ` Hiremath, Vaibhav 2012-03-30 9:12 ` Hiremath, Vaibhav 2012-03-30 9:20 ` Shilimkar, Santosh 2012-03-30 9:20 ` Shilimkar, Santosh 2012-03-30 9:28 ` Hiremath, Vaibhav 2012-03-30 9:28 ` Hiremath, Vaibhav 2012-03-30 9:42 ` Shilimkar, Santosh 2012-03-30 9:42 ` Shilimkar, Santosh 2012-03-30 11:29 ` Hiremath, Vaibhav 2012-03-30 11:29 ` Hiremath, Vaibhav 2012-03-30 11:35 ` Santosh Shilimkar 2012-03-30 11:35 ` Santosh Shilimkar 2012-03-31 1:30 ` Ming Lei 2012-03-31 1:30 ` Ming Lei 2012-03-31 6:30 ` Shilimkar, Santosh 2012-03-31 6:30 ` Shilimkar, Santosh 2012-03-31 8:39 ` Ming Lei 2012-03-31 8:39 ` Ming Lei 2012-03-31 19:10 ` Shilimkar, Santosh 2012-03-31 19:10 ` Shilimkar, Santosh 2012-04-01 1:39 ` Ming Lei 2012-04-01 1:39 ` Ming Lei 2012-04-01 5:53 ` Shilimkar, Santosh 2012-04-01 5:53 ` Shilimkar, Santosh 2012-04-02 18:35 ` Kevin Hilman 2012-04-02 18:35 ` Kevin Hilman 2012-04-03 5:50 ` Shilimkar, Santosh 2012-04-03 5:50 ` Shilimkar, Santosh 2012-04-03 15:35 ` Hiremath, Vaibhav 2012-04-03 15:35 ` Hiremath, Vaibhav 2012-04-04 9:04 ` Shilimkar, Santosh 2012-04-04 9:04 ` Shilimkar, Santosh 2012-04-04 10:39 ` Hiremath, Vaibhav 2012-04-04 10:39 ` Hiremath, Vaibhav 2012-04-05 9:36 ` Hiremath, Vaibhav 2012-04-05 9:36 ` Hiremath, Vaibhav 2012-04-05 9:52 ` Russell King - ARM Linux 2012-04-05 9:52 ` Russell King - ARM Linux 2012-04-05 10:31 ` Hiremath, Vaibhav 2012-04-05 10:31 ` Hiremath, Vaibhav 2012-04-05 10:46 ` Santosh Shilimkar 2012-04-05 10:46 ` Santosh Shilimkar 2012-04-05 21:33 ` Kevin Hilman 2012-04-05 21:33 ` Kevin Hilman 2012-04-06 5:21 ` Hiremath, Vaibhav 2012-04-06 5:21 ` Hiremath, Vaibhav 2012-04-06 18:04 ` Tony Lindgren 2012-04-06 18:04 ` Tony Lindgren 2012-04-09 6:19 ` Hiremath, Vaibhav 2012-04-09 6:19 ` Hiremath, Vaibhav 2012-04-09 20:18 ` Jon Hunter 2012-04-09 20:18 ` Jon Hunter 2012-04-10 5:42 ` Hiremath, Vaibhav 2012-04-10 5:42 ` Hiremath, Vaibhav 2012-04-10 8:44 ` Russell King - ARM Linux 2012-04-10 8:44 ` Russell King - ARM Linux 2012-04-10 8:57 ` Santosh Shilimkar 2012-04-10 8:57 ` Santosh Shilimkar 2012-04-10 9:29 ` Russell King - ARM Linux 2012-04-10 9:29 ` Russell King - ARM Linux 2012-04-10 9:51 ` Shilimkar, Santosh 2012-04-10 9:51 ` Shilimkar, Santosh 2012-04-10 21:03 ` Jon Hunter 2012-04-10 21:03 ` Jon Hunter 2012-04-11 1:00 ` Ming Lei 2012-04-11 1:00 ` Ming Lei 2012-04-11 7:47 ` Shilimkar, Santosh 2012-04-11 7:47 ` Shilimkar, Santosh 2012-04-06 21:18 ` Kevin Hilman 2012-04-06 21:18 ` Kevin Hilman 2012-04-09 6:25 ` Hiremath, Vaibhav 2012-04-09 6:25 ` Hiremath, Vaibhav 2012-03-21 11:29 ` Hiremath, Vaibhav 2012-03-21 11:29 ` Hiremath, Vaibhav 2012-03-23 8:20 ` Ming Lei 2012-03-23 8:20 ` Ming Lei 2012-03-30 6:39 ` Hiremath, Vaibhav 2012-03-30 6:39 ` Hiremath, Vaibhav 2012-03-05 22:55 ` Tony Lindgren 2012-03-05 22:55 ` Tony Lindgren 2012-03-07 9:48 ` Hiremath, Vaibhav 2012-03-07 9:48 ` Hiremath, Vaibhav 2012-03-09 17:58 ` Hiremath, Vaibhav 2012-03-09 17:58 ` Hiremath, Vaibhav 2012-03-12 9:39 ` Felipe Balbi 2012-03-12 9:39 ` Felipe Balbi 2012-03-12 9:48 ` Hiremath, Vaibhav 2012-03-12 9:48 ` Hiremath, Vaibhav 2012-03-12 10:17 ` Felipe Balbi 2012-03-12 10:17 ` Felipe Balbi 2012-03-12 10:39 ` Hiremath, Vaibhav 2012-03-12 10:39 ` Hiremath, Vaibhav 2012-01-19 14:28 ` [PATCH 2/3] ARM: OMAP2/3: Add idle_st bits for ST_32KSYNC timer to prcm-common header Vaibhav Hiremath 2012-01-19 14:28 ` Vaibhav Hiremath 2012-03-05 22:56 ` Tony Lindgren 2012-03-05 22:56 ` Tony Lindgren 2012-03-07 9:49 ` Hiremath, Vaibhav 2012-03-07 9:49 ` Hiremath, Vaibhav 2012-01-19 14:28 ` [PATCH 3/3] ARM: OMAP2+: hwmod data: Add 32k-sync timer data to hwmod database Vaibhav Hiremath 2012-01-19 14:28 ` Vaibhav Hiremath 2012-01-23 8:47 ` [PATCH 0/3] ARM: OMAP1/2+: 32k-timer: Add hwmod lookup for 32k-timer Hiremath, Vaibhav 2012-01-23 8:47 ` Hiremath, Vaibhav 2012-03-05 22:57 ` Tony Lindgren 2012-03-05 22:57 ` Tony Lindgren 2012-03-07 9:50 ` Hiremath, Vaibhav 2012-03-07 9:50 ` Hiremath, Vaibhav
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=79CD15C6BA57404B839C016229A409A83182386C@DBDE01.ent.ti.com \ --to=hvaibhav@ti.com \ --cc=b-cousson@ti.com \ --cc=balbi@ti.com \ --cc=johnstul@us.ibm.com \ --cc=khilman@ti.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-omap@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=paul@pwsan.com \ --cc=santosh.shilimkar@ti.com \ --cc=tarun.kanti@ti.com \ --cc=tom.leiming@gmail.com \ --cc=tony@atomide.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.