public inbox for linux-omap@vger.kernel.org
 help / color / mirror / Atom feed
From: Nishanth Menon <nm@ti.com>
To: "DebBarma, Tarun Kanti" <tarun.kanti@ti.com>
Cc: "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
	"R, Sricharan" <r.sricharan@ti.com>
Subject: Re: [PATCH v2] OMAP:GPTIMER:1ms tick generation correction
Date: Mon, 21 Jun 2010 08:26:09 -0500	[thread overview]
Message-ID: <4C1F6871.2030807@ti.com> (raw)
In-Reply-To: <5A47E75E594F054BAF48C5E4FC4B92AB032358ED1B@dbde02.ent.ti.com>

DebBarma, Tarun Kanti had written, on 06/21/2010 08:19 AM, the following:
[...]
>>>>> ---
>>>>>   arch/arm/plat-omap/dmtimer.c              |  131
>>>> +++++++++++++++++++++--------
>>>>>   arch/arm/plat-omap/include/plat/dmtimer.h |    1 +
>>>>>   2 files changed, 96 insertions(+), 36 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm/plat-omap/dmtimer.c b/arch/arm/plat-
>> omap/dmtimer.c
>>>>> index c64875f..42344a7
>>>>> --- a/arch/arm/plat-omap/dmtimer.c
>>>>> +++ b/arch/arm/plat-omap/dmtimer.c
>>>>> @@ -160,6 +160,9 @@ struct omap_dm_timer {
>>>>>           unsigned reserved:1;
>>>>>           unsigned enabled:1;
>>>>>           unsigned posted:1;
>>>>> +#ifdef CONFIG_ARCH_OMAP2PLUS
>>>>> + unsigned ms_correction:1;
>>>>> +#endif
>>>>>   };
>>>>>
>>>>>   static int dm_timer_count;
>>>>> @@ -185,18 +188,30 @@ static const int omap1_dm_timer_count =
>>>> ARRAY_SIZE(omap1_dm_timers);
>>>>>   #ifdef CONFIG_ARCH_OMAP2
>>>>>   static struct omap_dm_timer omap2_dm_timers[] = {
>>>>> - { .phys_base = 0x48028000, .irq = INT_24XX_GPTIMER1 },
>>>>> - { .phys_base = 0x4802a000, .irq = INT_24XX_GPTIMER2 },
>>>>> - { .phys_base = 0x48078000, .irq = INT_24XX_GPTIMER3 },
>>>>> - { .phys_base = 0x4807a000, .irq = INT_24XX_GPTIMER4 },
>>>>> - { .phys_base = 0x4807c000, .irq = INT_24XX_GPTIMER5 },
>>>>> - { .phys_base = 0x4807e000, .irq = INT_24XX_GPTIMER6 },
>>>>> - { .phys_base = 0x48080000, .irq = INT_24XX_GPTIMER7 },
>>>>> - { .phys_base = 0x48082000, .irq = INT_24XX_GPTIMER8 },
>>>>> - { .phys_base = 0x48084000, .irq = INT_24XX_GPTIMER9 },
>>>>> - { .phys_base = 0x48086000, .irq = INT_24XX_GPTIMER10 },
>>>>> - { .phys_base = 0x48088000, .irq = INT_24XX_GPTIMER11 },
>>>>> - { .phys_base = 0x4808a000, .irq = INT_24XX_GPTIMER12 },
>>>>> + { .phys_base = 0x48028000, .irq = INT_24XX_GPTIMER1,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x4802a000, .irq = INT_24XX_GPTIMER2,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x48078000, .irq = INT_24XX_GPTIMER3,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x4807a000, .irq = INT_24XX_GPTIMER4,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x4807c000, .irq = INT_24XX_GPTIMER5,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x4807e000, .irq = INT_24XX_GPTIMER6,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x48080000, .irq = INT_24XX_GPTIMER7,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x48082000, .irq = INT_24XX_GPTIMER8,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x48084000, .irq = INT_24XX_GPTIMER9,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x48086000, .irq = INT_24XX_GPTIMER10,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x48088000, .irq = INT_24XX_GPTIMER11,
>>>>> +                                         .ms_correction = 0 },
>>>>> + { .phys_base = 0x4808a000, .irq = INT_24XX_GPTIMER12,
>>>>> +                                         .ms_correction = 0 },
>>>> ignore of previous comments on .ms_correction initialization.
>>>> try the output of the following code:
>>>> struct b {
>>>>          unsigned char z:1;
>>>>          unsigned char a:1;
>>>> };
>>>>
>>>> static struct b b1[2]={
>>>>          {.z =1},
>>>>          {.a = 1},
>>>> };
>>>>
>>>> unsigned int main()
>>>> {
>>>>          int i;
>>>>          for (i=0; i<2; i++)
>>>>          printf("%d: %d %d\n", i, b1[i].z, b1[i].a);
>>>> }
>>> This comment is not clear to me.
>>> Are you suggesting to make the initialization of ms_correction variable
>>> in a separate function instead of doing the present way?
>> no. my suggestion is this:
>> you dont need to do .ms_correction = 0
>> when the variable is static - by C standards static variables are
>> initialized to 0. so, .ms_correction = 1 alone is needed in the specific
>> GPTimer cases where this is needed.
>>
>> the example i posted shows that it works :).
>>
> OK.
> But in this case I have to re-design / re-structure the other bit fields
> Viz. reserved, enabled, posted. Then we have to decide what to name the structure, etc. If you feel this is the right direction then I can go ahead.
My only complaint is with the unwanted initialization.

[...]

-- 
Regards,
Nishanth Menon

  reply	other threads:[~2010-06-21 13:26 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-06-21 20:23 [PATCH v2] OMAP:GPTIMER:1ms tick generation correction Tarun Kanti DebBarma
2010-06-21 10:44 ` Nishanth Menon
2010-06-21 12:51   ` DebBarma, Tarun Kanti
2010-06-21 12:56     ` Nishanth Menon
2010-06-21 13:19       ` DebBarma, Tarun Kanti
2010-06-21 13:26         ` Nishanth Menon [this message]
2010-06-21 13:33           ` DebBarma, Tarun Kanti
2010-06-21 14:21   ` David Brownell
2010-06-21 14:30     ` DebBarma, Tarun Kanti
2010-06-21 15:54 ` Kevin Hilman
2010-06-22  3:38   ` DebBarma, Tarun Kanti

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=4C1F6871.2030807@ti.com \
    --to=nm@ti.com \
    --cc=linux-omap@vger.kernel.org \
    --cc=r.sricharan@ti.com \
    --cc=tarun.kanti@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