All of lore.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 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.