linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] mpc5200/gpt: tiny fix for gpt period limitation
@ 2009-11-11  8:49 Albrecht Dreß
  2009-11-12 21:15 ` Grant Likely
  0 siblings, 1 reply; 7+ messages in thread
From: Albrecht Dreß @ 2009-11-11  8:49 UTC (permalink / raw)
  To: grant.likely; +Cc: linuxppc-dev

This patch fixes a limitation of the 5200's period.

Signed-off-by: Albrecht Dre=DF <albrecht.dress@arcor.de>
---

 arch/powerpc/include/asm/mpc52xx.h        |    2 +-
 arch/powerpc/platforms/52xx/mpc52xx_gpt.c |    6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/include/asm/mpc52xx.h b/arch/powerpc/include/asm/=
mpc52xx.h
index 707ab75..933fb8f 100644
--- a/arch/powerpc/include/asm/mpc52xx.h
+++ b/arch/powerpc/include/asm/mpc52xx.h
@@ -279,7 +279,7 @@ extern void mpc52xx_restart(char *cmd);
 /* mpc52xx_gpt.c */
 struct mpc52xx_gpt_priv;
 extern struct mpc52xx_gpt_priv *mpc52xx_gpt_from_irq(int irq);
-extern int mpc52xx_gpt_start_timer(struct mpc52xx_gpt_priv *gpt, int perio=
d,
+extern int mpc52xx_gpt_start_timer(struct mpc52xx_gpt_priv *gpt, u64 perio=
d,
                             int continuous);
 extern void mpc52xx_gpt_stop_timer(struct mpc52xx_gpt_priv *gpt);
=20
diff --git a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c b/arch/powerpc/platf=
orms/52xx/mpc52xx_gpt.c
index 2c3fa13..77572ab 100644
--- a/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_gpt.c
@@ -378,12 +378,12 @@ EXPORT_SYMBOL(mpc52xx_gpt_from_irq);
 /**
  * mpc52xx_gpt_start_timer - Set and enable the GPT timer
  * @gpt: Pointer to gpt private data structure
- * @period: period of timer
+ * @period: period of timer in ns; max. ~130s @ 33MHz IPB clock
  * @continuous: set to 1 to make timer continuous free running
  *
  * An interrupt will be generated every time the timer fires
  */
-int mpc52xx_gpt_start_timer(struct mpc52xx_gpt_priv *gpt, int period,
+int mpc52xx_gpt_start_timer(struct mpc52xx_gpt_priv *gpt, u64 period,
                             int continuous)
 {
        u32 clear, set;
@@ -400,7 +400,7 @@ int mpc52xx_gpt_start_timer(struct mpc52xx_gpt_priv *gp=
t, int period,
         * arithmatic is done here to preserve the precision until the valu=
e
         * is scaled back down into the u32 range.  Period is in 'ns', bus
         * frequency is in Hz. */
-       clocks =3D (u64)period * (u64)gpt->ipb_freq;
+       clocks =3D period * (u64)gpt->ipb_freq;
        do_div(clocks, 1000000000); /* Scale it down to ns range */
=20
        /* This device cannot handle a clock count greater than 32 bits */


Jetzt NEU: Do it youself E-Cards bei Arcor.de!
Stellen Sie Ihr eigenes Unikat zusammen und machen Sie dem Empf=E4nger eine=
 ganz pers=F6nliche Freude!
E-Card Marke Eigenbau: HIER KLICKEN: http://www.arcor.de/rd/footer.ecard

^ permalink raw reply related	[flat|nested] 7+ messages in thread
* Re: [PATCH] mpc5200/gpt: tiny fix for gpt period limitation
@ 2009-11-13  9:24 Albrecht Dreß
  0 siblings, 0 replies; 7+ messages in thread
From: Albrecht Dreß @ 2009-11-13  9:24 UTC (permalink / raw)
  To: grant.likely; +Cc: linuxppc-dev

Hi Grant:

Thanks a lot for pushing the stuff to 'test'.

> up patch 3.  BUT, you're on my shit list.  Patch 2 in your series
> conflicts with this patch.  I had to fix it up by hand.  This patch

I'm sorry for that confusion!  I actually merged this patch into <http://li=
sts.ozlabs.org/pipermail/linuxppc-dev/2009-November/077715.html>:

<quote>
Note: The patch does also include the tiny GPT api changes from
<http://lists.ozlabs.org/pipermail/linuxppc-dev/2009-November/077647.html>.
</quote>

Actually, this was not *really* the truth...

> should have been part of the series, or at least base the series on
> this patch.  Take a look in my -test branch and make sure I fixed it
> right.

...because I now see the following diff between your test branch and my loc=
al version:

<snip>
adress@pc-adr2:/opt/eldk-4.2/usr/src/linux-2.6-secretlab$ diff -uBb arch/po=
werpc/platforms/52xx/mpc52xx_gpt.c ../linux-2.6-secretlab__/arch/powerpc/pl=
atforms/52xx/mpc52xx_gpt.c
--- arch/powerpc/platforms/52xx/mpc52xx_gpt.c   2009-11-13 09:31:40.0000000=
00 +0100
+++ ../linux-2.6-secretlab__/arch/powerpc/platforms/52xx/mpc52xx_gpt.c  200=
9-11-12 14:37:39.000000000 +0100
@@ -414,9 +414,10 @@
        /* Determine the number of clocks in the requested period.  64 bit
         * arithmatic is done here to preserve the precision until the valu=
e
         * is scaled back down into the u32 range.  Period is in 'ns', bus
-        * frequency is in Hz. */
+        * frequency is in Hz.  The maximum timeout @33MHz IPB clock is ~13=
0
+        * seconds*/
        clocks =3D period * (u64)gpt->ipb_freq;
-       do_div(clocks, 1000000000); /* Scale it down to ns range */
+       do_div(clocks, 1000000000ULL); /* Scale it down to ns range */
=20
        /* This device cannot handle a clock count greater than 32 bits */
        if (clocks > 0xffffffff)
@@ -460,7 +461,7 @@
 /**
  * mpc52xx_gpt_start_timer - Set and enable the GPT timer
  * @gpt: Pointer to gpt private data structure
- * @period: period of timer in ns; max. ~130s @ 33MHz IPB clock
+ * @period: period of timer in ns
  * @continuous: set to 1 to make timer continuous free running
  *
  * An interrupt will be generated every time the timer fires
</snip>

Again, I'm really sorry for the chaos!  Apparently, submitting patches afte=
r two glasses of red wine is a questionable idea... :-/

Thanks, Albrecht.

Jetzt NEU: Do it youself E-Cards bei Arcor.de!
Stellen Sie Ihr eigenes Unikat zusammen und machen Sie dem Empf=E4nger eine=
 ganz pers=F6nliche Freude!
E-Card Marke Eigenbau: HIER KLICKEN: http://www.arcor.de/rd/footer.ecard

^ permalink raw reply	[flat|nested] 7+ messages in thread
* [PATCH] mpc5200/gpt: tiny fix for gpt period limitation
@ 2009-11-11  8:47 Albrecht Dreß
  0 siblings, 0 replies; 7+ messages in thread
From: Albrecht Dreß @ 2009-11-11  8:47 UTC (permalink / raw)
  To: grant.likely; +Cc: linuxppc-dev



Jetzt NEU: Do it youself E-Cards bei Arcor.de!
Stellen Sie Ihr eigenes Unikat zusammen und machen Sie dem Empf=E4nger eine=
 ganz pers=F6nliche Freude!
E-Card Marke Eigenbau: HIER KLICKEN: http://www.arcor.de/rd/footer.ecard

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-11-13  9:26 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-11  8:49 [PATCH] mpc5200/gpt: tiny fix for gpt period limitation Albrecht Dreß
2009-11-12 21:15 ` Grant Likely
2009-11-12 21:44   ` Wolfram Sang
2009-11-13  0:21     ` Grant Likely
2009-11-13  9:25   ` Albrecht Dreß
  -- strict thread matches above, loose matches on Subject: below --
2009-11-13  9:24 Albrecht Dreß
2009-11-11  8:47 Albrecht Dreß

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).