All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jon Hunter <jon-hunter@ti.com>
To: "Hiremath, Vaibhav" <hvaibhav@ti.com>
Cc: "Hilman, Kevin" <khilman@ti.com>,
	"paul@pwsan.com" <paul@pwsan.com>,
	"Cousson, Benoit" <b-cousson@ti.com>,
	Russ Dill <russ.dill@gmail.com>, Ming Lei <tom.leiming@gmail.com>,
	"Balbi, Felipe" <balbi@ti.com>,
	"tony@atomide.com" <tony@atomide.com>,
	"Shilimkar, Santosh" <santosh.shilimkar@ti.com>,
	"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"DebBarma, Tarun Kanti" <tarun.kanti@ti.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH-V4 3/3] ARM: OMAP: Make OMAP clocksource source selection using kernel param
Date: Thu, 26 Apr 2012 10:58:15 -0500	[thread overview]
Message-ID: <4F997097.7010009@ti.com> (raw)
In-Reply-To: <79CD15C6BA57404B839C016229A409A83E9FF456@DBDE01.ent.ti.com>

Hi Vaibhav, Russ,

On 04/26/2012 08:46 AM, Hiremath, Vaibhav wrote:
> On Thu, Apr 26, 2012 at 13:15:18, Russ Dill wrote:
>> On Wed, Apr 25, 2012 at 11:23 PM, Hiremath, Vaibhav <hvaibhav@ti.com> wrote:
>>> On Thu, Apr 26, 2012 at 11:26:09, Russ Dill wrote:
>>>> On Wed, Apr 25, 2012 at 10:42 PM, Hiremath, Vaibhav <hvaibhav@ti.com> wrote:
>>>>> On Thu, Apr 26, 2012 at 10:06:40, Russ Dill wrote:
>>>>>> On Tue, Apr 24, 2012 at 2:45 AM, Vaibhav Hiremath <hvaibhav@ti.com> wrote:
>>>>>>> Current OMAP code supports couple of clocksource options based
>>>>>>> on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
>>>>>>> and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz).
>>>>>>> So there can be 3 options -
>>>>>>>
>>>>>>> 1. 32KHz sync-timer
>>>>>>> 2. Sys_clock based (e.g 13/19.2/26/38.4 MHz) gptimer
>>>>>>> 3. 32KHz based gptimer.
>>>>>>>
> <Snip>
>>>
>>> You mean to say, on Beagleboard it boots up fine. And same fails on EVM?
>>
>>
>> yes
>>
> 
> I am able to reproduce this issue, and it seems the issue is really weird 
> and I am completely clueless here.
> 
> With below patch/change it always works, 100% success. The moment I add 0x10 
> offset to the ioremaped virtual base address, gone...95% of the time it 
> fails.
> I have observed that, the execution always stays at wfi (default_idle) 
> thread. Really strange behavior...and I am clueless now.
> 
>  - The 32k sync timer address space is part of iotable.
>  - The ioremap() internally masks the addr to page aligned addr and gets pfn,
>    At the end, offset is being added. So I don't really understand how is it
>    different than adding offset before and after ioremap().
> 
> 
> Also, this issue is nothing to do with my patch, it also happens with the 
> original code.
> Just add 0x10 offset after ioremap(), and booooooom.... (95% of the time)
> 
> 
> ----------Patch which works (on top of this patch-series)----------
> 
> diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c
> index 3e3cdab..b0ef8ce 100644
> --- a/arch/arm/plat-omap/counter_32k.c
> +++ b/arch/arm/plat-omap/counter_32k.c
> @@ -90,6 +90,7 @@ int __init omap_init_clocksource_32k(u32 pbase, unsigned long size)
>          * For this to work we must have a static mapping in io.c
>          * for this area
>          */
> +       pbase = pbase + OMAP2_32KSYNCNT_CR_OFF;
>         base = ioremap(pbase, size);

What is size set to in the failing case on the am37xx device? Any chance
we are not mapping enough space?

Cheers
Jon

WARNING: multiple messages have this Message-ID (diff)
From: jon-hunter@ti.com (Jon Hunter)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH-V4 3/3] ARM: OMAP: Make OMAP clocksource source selection using kernel param
Date: Thu, 26 Apr 2012 10:58:15 -0500	[thread overview]
Message-ID: <4F997097.7010009@ti.com> (raw)
In-Reply-To: <79CD15C6BA57404B839C016229A409A83E9FF456@DBDE01.ent.ti.com>

Hi Vaibhav, Russ,

On 04/26/2012 08:46 AM, Hiremath, Vaibhav wrote:
> On Thu, Apr 26, 2012 at 13:15:18, Russ Dill wrote:
>> On Wed, Apr 25, 2012 at 11:23 PM, Hiremath, Vaibhav <hvaibhav@ti.com> wrote:
>>> On Thu, Apr 26, 2012 at 11:26:09, Russ Dill wrote:
>>>> On Wed, Apr 25, 2012 at 10:42 PM, Hiremath, Vaibhav <hvaibhav@ti.com> wrote:
>>>>> On Thu, Apr 26, 2012 at 10:06:40, Russ Dill wrote:
>>>>>> On Tue, Apr 24, 2012 at 2:45 AM, Vaibhav Hiremath <hvaibhav@ti.com> wrote:
>>>>>>> Current OMAP code supports couple of clocksource options based
>>>>>>> on compilation flag (CONFIG_OMAP_32K_TIMER). The 32KHz sync-timer
>>>>>>> and a gptimer which can run on 32KHz or system clock (e.g 38.4 MHz).
>>>>>>> So there can be 3 options -
>>>>>>>
>>>>>>> 1. 32KHz sync-timer
>>>>>>> 2. Sys_clock based (e.g 13/19.2/26/38.4 MHz) gptimer
>>>>>>> 3. 32KHz based gptimer.
>>>>>>>
> <Snip>
>>>
>>> You mean to say, on Beagleboard it boots up fine. And same fails on EVM?
>>
>>
>> yes
>>
> 
> I am able to reproduce this issue, and it seems the issue is really weird 
> and I am completely clueless here.
> 
> With below patch/change it always works, 100% success. The moment I add 0x10 
> offset to the ioremaped virtual base address, gone...95% of the time it 
> fails.
> I have observed that, the execution always stays at wfi (default_idle) 
> thread. Really strange behavior...and I am clueless now.
> 
>  - The 32k sync timer address space is part of iotable.
>  - The ioremap() internally masks the addr to page aligned addr and gets pfn,
>    At the end, offset is being added. So I don't really understand how is it
>    different than adding offset before and after ioremap().
> 
> 
> Also, this issue is nothing to do with my patch, it also happens with the 
> original code.
> Just add 0x10 offset after ioremap(), and booooooom.... (95% of the time)
> 
> 
> ----------Patch which works (on top of this patch-series)----------
> 
> diff --git a/arch/arm/plat-omap/counter_32k.c b/arch/arm/plat-omap/counter_32k.c
> index 3e3cdab..b0ef8ce 100644
> --- a/arch/arm/plat-omap/counter_32k.c
> +++ b/arch/arm/plat-omap/counter_32k.c
> @@ -90,6 +90,7 @@ int __init omap_init_clocksource_32k(u32 pbase, unsigned long size)
>          * For this to work we must have a static mapping in io.c
>          * for this area
>          */
> +       pbase = pbase + OMAP2_32KSYNCNT_CR_OFF;
>         base = ioremap(pbase, size);

What is size set to in the failing case on the am37xx device? Any chance
we are not mapping enough space?

Cheers
Jon

  reply	other threads:[~2012-04-26 15:58 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24  9:45 [PATCH-V4 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime Vaibhav Hiremath
2012-04-24  9:45 ` Vaibhav Hiremath
2012-04-24  9:45 ` [PATCH-V4 1/3] ARM: OMAP2/3: Add idle_st bits for ST_32KSYNC timer to prcm-common header Vaibhav Hiremath
2012-04-24  9:45   ` Vaibhav Hiremath
2012-04-24  9:45 ` [PATCH-V4 2/3] ARM: OMAP2/3: hwmod data: Add 32k-sync timer data to hwmod database Vaibhav Hiremath
2012-04-24  9:45   ` Vaibhav Hiremath
2012-04-24  9:45 ` [PATCH-V4 3/3] ARM: OMAP: Make OMAP clocksource source selection using kernel param Vaibhav Hiremath
2012-04-24  9:45   ` Vaibhav Hiremath
2012-04-24 16:20   ` Tony Lindgren
2012-04-24 16:20     ` Tony Lindgren
2012-04-25  8:40     ` Hiremath, Vaibhav
2012-04-25  8:40       ` Hiremath, Vaibhav
2012-04-26  4:36   ` Russ Dill
2012-04-26  4:36     ` Russ Dill
2012-04-26  5:42     ` Hiremath, Vaibhav
2012-04-26  5:42       ` Hiremath, Vaibhav
2012-04-26  5:56       ` Russ Dill
2012-04-26  5:56         ` Russ Dill
2012-04-26  6:23         ` Hiremath, Vaibhav
2012-04-26  6:23           ` Hiremath, Vaibhav
2012-04-26  7:45           ` Russ Dill
2012-04-26  7:45             ` Russ Dill
2012-04-26 13:46             ` Hiremath, Vaibhav
2012-04-26 13:46               ` Hiremath, Vaibhav
2012-04-26 15:58               ` Jon Hunter [this message]
2012-04-26 15:58                 ` Jon Hunter
2012-04-26 16:20                 ` Hiremath, Vaibhav
2012-04-26 16:20                   ` Hiremath, Vaibhav
2012-04-26 18:33   ` Kevin Hilman
2012-04-26 18:33     ` Kevin Hilman
2012-04-26 19:47     ` Kevin Hilman
2012-04-26 19:47       ` Kevin Hilman
2012-04-26 20:43     ` Russ Dill
2012-04-26 20:43       ` Russ Dill
2012-04-27  8:37       ` Hiremath, Vaibhav
2012-04-27  8:37         ` Hiremath, Vaibhav
2012-04-24 10:06 ` [PATCH-V4 0/3] ARM: OMAP: Make OMAP clocksource source selection runtime Shilimkar, Santosh
2012-04-24 10:06   ` Shilimkar, Santosh
2012-04-24 10:33   ` Hiremath, Vaibhav
2012-04-24 10:33     ` 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=4F997097.7010009@ti.com \
    --to=jon-hunter@ti.com \
    --cc=b-cousson@ti.com \
    --cc=balbi@ti.com \
    --cc=hvaibhav@ti.com \
    --cc=khilman@ti.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=paul@pwsan.com \
    --cc=russ.dill@gmail.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: link
Be 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.