Message ID | 1366910944-3033663-6-git-send-email-arnd@arndb.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
> ARM cannot handle udelay for more than 2 miliseconds, so we > should use mdelay instead for those. ... > @@ -1055,7 +1055,7 @@ static int he_start(struct atm_dev *dev) > he_writel(he_dev, 0x0, RESET_CNTL); > he_writel(he_dev, 0xff, RESET_CNTL); > > - udelay(16*1000); /* 16 ms */ > + mdelay(16); /* 16 ms */ > status = he_readl(he_dev, RESET_CNTL); 16ms seems a long time to spin. I'd have thought a sleep would be more appropriate. Since this looks like timing a hardware reset pulse it can't matter if it is somewhat longer. David
On Fri, 26 Apr 2013 09:21:59 +0100 "David Laight" <David.Laight@ACULAB.COM> wrote: > > ARM cannot handle udelay for more than 2 miliseconds, so we > > should use mdelay instead for those. > ... > > @@ -1055,7 +1055,7 @@ static int he_start(struct atm_dev *dev) > > he_writel(he_dev, 0x0, RESET_CNTL); > > he_writel(he_dev, 0xff, RESET_CNTL); > > > > - udelay(16*1000); /* 16 ms */ > > + mdelay(16); /* 16 ms */ > > status = he_readl(he_dev, RESET_CNTL); > > 16ms seems a long time to spin. > I'd have thought a sleep would be more appropriate. > Since this looks like timing a hardware reset pulse > it can't matter if it is somewhat longer. Yes, I wrote this bit some time ago when I was less wise. The programmer's guide doesn't say how long to sleep, so the value isn't critical. It just has to be "long enough". An msleep() would be fine here.
diff --git a/drivers/atm/he.c b/drivers/atm/he.c index d689126..7700061 100644 --- a/drivers/atm/he.c +++ b/drivers/atm/he.c @@ -1055,7 +1055,7 @@ static int he_start(struct atm_dev *dev) he_writel(he_dev, 0x0, RESET_CNTL); he_writel(he_dev, 0xff, RESET_CNTL); - udelay(16*1000); /* 16 ms */ + mdelay(16); /* 16 ms */ status = he_readl(he_dev, RESET_CNTL); if ((status & BOARD_RST_STATUS) == 0) { hprintk("reset failed\n");
ARM cannot handle udelay for more than 2 miliseconds, so we should use mdelay instead for those. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Chas Williams <chas@cmf.nrl.navy.mil> Cc: linux-atm-general@lists.sourceforge.net Cc: netdev@vger.kernel.org --- drivers/atm/he.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)