All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roger Quadros <rogerq@ti.com>
To: Robert Abel <rabel@cit-ec.uni-bielefeld.de>
Cc: khilman@deeprootsystems.com, Tony Lindgren <tony@atomide.com>,
	linux@arm.linux.org.uk, linux-omap@vger.kernel.org,
	Linux Kernel Maling List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug
Date: Tue, 17 Feb 2015 15:56:56 +0200	[thread overview]
Message-ID: <54E348A8.4040504@ti.com> (raw)
In-Reply-To: <CAMdRc4GkmqqbrBQHWvYTySWLvdz0wROfhGBsBe5iqnq2QdhQRg@mail.gmail.com>

On 17/02/15 15:48, Robert Abel wrote:
> Hi Roger,
> 
> On Tue, Feb 17, 2015 at 10:27 AM, Roger Quadros <rogerq@ti.com> wrote:
>>
>> Can you please point out which DT had used this pre-divided workaround? We will have to
>> fix those then.
> 
> I didn't check. A cursory glance reveals all DTS in arch/arm/boot/dts
> to use a value of 0.
> 
>>
>> Can you please rebase your patches on top of v3.19?
>> gpmc.c has been moved to drivers/memory/omap-gpmc.c
> 
> 
> Will do.
> 
>>
>> So all the below occurrences of "unsigned int clk_sel" become "enum gpmc_clksel".
> 
> Yes, I should have opted for a cleaner solution from the start.
> 
>>> +static unsigned int gpmc_ns_to_clk_ticks(unsigned int time_ns, int cs, unsigned int clk_sel)
>>>  {
>>>       unsigned long tick_ps;
>>>
>>>       /* Calculate in picosecs to yield more exact results */
>>> -     tick_ps = gpmc_get_fclk_period();
>>> +     tick_ps = gpmc_get_clk_period(cs, clk_sel);
>>>
>>>       return (time_ns * 1000 + tick_ps - 1) / tick_ps;
>>>  }
>>>
>>> +static unsigned int gpmc_ns_to_ticks(unsigned int time_ns)
>>> +{
>>> +     return gpmc_ns_to_clk_ticks(time_ns, 0, GPMC_FCLK);
>>
>> This function should have been unchanged since we're dealing with GPMC_FCLK
>> and it was using gpmc_get_fclk_period().
> 
> 
> Which function? gpmc_ns_to_ticks? It still uses FCLK. I merely did not
> want to have the picosecond formula in two places. I don't see a good
> reason to do so now either...

Agree with you. I missed to see earlier that it was getting rid of the
picosecond formula.

> 
>>
>> Let's call this GPMC_SET_ONE_CLKSEL()
> 
> 
> Will do.
> 
> 
>>
>> You will also need to correct gpmc_cs_show_timings() to show the
>> correct timing for "wait-monitoring-ns" based on GPMC_CLK.
> 
> 
> I was working off 3.14, checked if it worked for 3.17, so both didn't
> have gpmc_cs_show_timings. I'll take a look.
> 
Thanks.

cheers,
-roger


WARNING: multiple messages have this Message-ID (diff)
From: Roger Quadros <rogerq@ti.com>
To: Robert Abel <rabel@cit-ec.uni-bielefeld.de>
Cc: <khilman@deeprootsystems.com>, Tony Lindgren <tony@atomide.com>,
	<linux@arm.linux.org.uk>, <linux-omap@vger.kernel.org>,
	Linux Kernel Maling List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 3/4] ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug
Date: Tue, 17 Feb 2015 15:56:56 +0200	[thread overview]
Message-ID: <54E348A8.4040504@ti.com> (raw)
In-Reply-To: <CAMdRc4GkmqqbrBQHWvYTySWLvdz0wROfhGBsBe5iqnq2QdhQRg@mail.gmail.com>

On 17/02/15 15:48, Robert Abel wrote:
> Hi Roger,
> 
> On Tue, Feb 17, 2015 at 10:27 AM, Roger Quadros <rogerq@ti.com> wrote:
>>
>> Can you please point out which DT had used this pre-divided workaround? We will have to
>> fix those then.
> 
> I didn't check. A cursory glance reveals all DTS in arch/arm/boot/dts
> to use a value of 0.
> 
>>
>> Can you please rebase your patches on top of v3.19?
>> gpmc.c has been moved to drivers/memory/omap-gpmc.c
> 
> 
> Will do.
> 
>>
>> So all the below occurrences of "unsigned int clk_sel" become "enum gpmc_clksel".
> 
> Yes, I should have opted for a cleaner solution from the start.
> 
>>> +static unsigned int gpmc_ns_to_clk_ticks(unsigned int time_ns, int cs, unsigned int clk_sel)
>>>  {
>>>       unsigned long tick_ps;
>>>
>>>       /* Calculate in picosecs to yield more exact results */
>>> -     tick_ps = gpmc_get_fclk_period();
>>> +     tick_ps = gpmc_get_clk_period(cs, clk_sel);
>>>
>>>       return (time_ns * 1000 + tick_ps - 1) / tick_ps;
>>>  }
>>>
>>> +static unsigned int gpmc_ns_to_ticks(unsigned int time_ns)
>>> +{
>>> +     return gpmc_ns_to_clk_ticks(time_ns, 0, GPMC_FCLK);
>>
>> This function should have been unchanged since we're dealing with GPMC_FCLK
>> and it was using gpmc_get_fclk_period().
> 
> 
> Which function? gpmc_ns_to_ticks? It still uses FCLK. I merely did not
> want to have the picosecond formula in two places. I don't see a good
> reason to do so now either...

Agree with you. I missed to see earlier that it was getting rid of the
picosecond formula.

> 
>>
>> Let's call this GPMC_SET_ONE_CLKSEL()
> 
> 
> Will do.
> 
> 
>>
>> You will also need to correct gpmc_cs_show_timings() to show the
>> correct timing for "wait-monitoring-ns" based on GPMC_CLK.
> 
> 
> I was working off 3.14, checked if it worked for 3.17, so both didn't
> have gpmc_cs_show_timings. I'll take a look.
> 
Thanks.

cheers,
-roger


  reply	other threads:[~2015-02-17 13:57 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-16 15:48 [PATCH 0/4] ARM OMAP2+ GPMC: various fixes and bus children Robert ABEL
2015-02-16 15:48 ` [PATCH 1/4] ARM OMAP2+ GPMC: fix debug output alignment Robert ABEL
2015-02-16 15:48   ` [PATCH 2/4] ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER Robert ABEL
2015-02-16 15:49     ` [PATCH 3/4] ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug Robert ABEL
2015-02-16 15:49       ` [PATCH 4/4] ARM OMAP2+ GPMC: add bus children Robert ABEL
2015-02-17  9:41         ` Roger Quadros
2015-02-17  9:41           ` Roger Quadros
2015-02-17 13:57           ` Robert Abel
2015-02-17 14:15             ` Roger Quadros
2015-02-17 14:15               ` Roger Quadros
2015-02-17  9:27       ` [PATCH 3/4] ARM OMAP2+ GPMC: fix WAITMONITORINGTIME divider bug Roger Quadros
2015-02-17  9:27         ` Roger Quadros
2015-02-17 13:48         ` Robert Abel
2015-02-17 13:56           ` Roger Quadros [this message]
2015-02-17 13:56             ` Roger Quadros
2015-02-16 17:10     ` [PATCH 2/4] ARM OMAP2+ GPMC: always program GPMCFCLKDIVIDER Tony Lindgren
2015-02-16 20:09       ` Robert Abel
2015-02-17  8:12     ` Roger Quadros
2015-02-17  8:12       ` Roger Quadros
2015-02-17 13:47       ` Robert Abel
     [not found]       ` <CAMdRc4F9B0ft-ExgQ1vHqwXMiONwWKn3FPCRDyHsjgGe1Dn_1w@mail.gmail.com>
2015-02-17 13:52         ` Roger Quadros
2015-02-17 13:52           ` Roger Quadros
2015-02-17 14:06           ` Robert Abel
2015-02-17 14:25             ` Roger Quadros
2015-02-17 14:25               ` Roger Quadros
2015-02-23 21:38               ` Robert Abel
2015-02-23 22:03                 ` Tony Lindgren
2015-02-24 11:53                 ` Roger Quadros
2015-02-24 11:53                   ` Roger Quadros

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=54E348A8.4040504@ti.com \
    --to=rogerq@ti.com \
    --cc=khilman@deeprootsystems.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=rabel@cit-ec.uni-bielefeld.de \
    --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.