sparc64: magma(4): timeout_add(9) -> timeout_add_msec(9)

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

sparc64: magma(4): timeout_add(9) -> timeout_add_msec(9)

Scott Cheloha
Another sbus(4) device driver.

This code converts between milliseconds and ticks.  If we strip out
the conversions we can just use milliseconds directly with
timeout_add_msec(9) and delete the conversion code, too.

This is only built for sparc64.  It ought to compile but I'm not sure.

Assuming it compiles, ok?

Index: magma.c
===================================================================
RCS file: /cvs/src/sys/dev/sbus/magma.c,v
retrieving revision 1.30
diff -u -p -r1.30 magma.c
--- magma.c 31 Dec 2019 10:05:33 -0000 1.30
+++ magma.c 10 Feb 2020 23:34:49 -0000
@@ -1410,8 +1410,8 @@ mbppopen(dev_t dev, int flags, int mode,
 
  /* set defaults */
  mp->mp_burst = BPP_BURST;
- mp->mp_timeout = mbpp_mstohz(BPP_TIMEOUT);
- mp->mp_delay = mbpp_mstohz(BPP_DELAY);
+ mp->mp_timeout = BPP_TIMEOUT;
+ mp->mp_delay = BPP_DELAY;
 
  /* init chips */
  if (mp->mp_cd1400) { /* CD1400 */
@@ -1482,15 +1482,15 @@ mbppioctl(dev_t dev, u_long cmd, caddr_t
  error = EINVAL;
  } else {
  mp->mp_burst = bp->bp_burst;
- mp->mp_timeout = mbpp_mstohz(bp->bp_timeout);
- mp->mp_delay = mbpp_mstohz(bp->bp_delay);
+ mp->mp_timeout = bp->bp_timeout;
+ mp->mp_delay = bp->bp_delay;
  }
  break;
  case BPPIOCGPARAM:
  bp = (struct bpp_param *)data;
  bp->bp_burst = mp->mp_burst;
- bp->bp_timeout = mbpp_hztoms(mp->mp_timeout);
- bp->bp_delay = mbpp_hztoms(mp->mp_delay);
+ bp->bp_timeout = mp->mp_timeout;
+ bp->bp_delay = mp->mp_delay;
  break;
  case BPPIOCGSTAT:
  /* XXX make this more generic */
@@ -1540,7 +1540,7 @@ mbpp_rw(dev_t dev, struct uio *uio)
  */
  if (mp->mp_timeout > 0) {
  SET(mp->mp_flags, MBPPF_TIMEOUT);
- timeout_add(&mp->mp_timeout_tmo, mp->mp_timeout);
+ timeout_add_msec(&mp->mp_timeout_tmo, mp->mp_timeout);
  }
 
  len = cnt = 0;
@@ -1588,7 +1588,7 @@ mbpp_rw(dev_t dev, struct uio *uio)
  if (mp->mp_delay > 0) {
  s = spltty(); /* XXX */
  SET(mp->mp_flags, MBPPF_DELAY);
- timeout_add(&mp->mp_start_tmo, mp->mp_delay);
+ timeout_add_msec(&mp->mp_start_tmo, mp->mp_delay);
  error = tsleep_nsec(mp, PCATCH | PZERO, "mbppdelay",
     INFSLP);
  splx(s);
@@ -1739,27 +1739,4 @@ mbpp_recv(struct mbpp_port *mp, caddr_t
 
  /* return number of chars received */
  return (len - mp->mp_cnt);
-}
-
-int
-mbpp_hztoms(int h)
-{
- int m = h;
-
- if (m > 0)
- m = m * 1000 / hz;
- return (m);
-}
-
-int
-mbpp_mstohz(int m)
-{
- int h = m;
-
- if (h > 0) {
- h = h * hz / 1000;
- if (h == 0)
- h = 1000 / hz;
- }
- return (h);
 }
Index: magmareg.h
===================================================================
RCS file: /cvs/src/sys/dev/sbus/magmareg.h,v
retrieving revision 1.9
diff -u -p -r1.9 magmareg.h
--- magmareg.h 29 Nov 2008 01:55:06 -0000 1.9
+++ magmareg.h 10 Feb 2020 23:34:49 -0000
@@ -220,8 +220,6 @@ void mbpp_timeout(void *);
 void mbpp_start(void *);
 int mbpp_send(struct mbpp_port *, caddr_t, int);
 int mbpp_recv(struct mbpp_port *, caddr_t, int);
-int mbpp_hztoms(int);
-int mbpp_mstohz(int);
 
 #define CD1400_REGMAPSIZE 0x80
 #define CD1190_REGMAPSIZE 0x20

Reply | Threaded
Open this post in threaded view
|

Re: sparc64: magma(4): timeout_add(9) -> timeout_add_msec(9)

Klemens Nanni-2
On Mon, Feb 10, 2020 at 05:37:04PM -0600, Scott Cheloha wrote:
> This code converts between milliseconds and ticks.  If we strip out
> the conversions we can just use milliseconds directly with
> timeout_add_msec(9) and delete the conversion code, too.
I agree.

> This is only built for sparc64.  It ought to compile but I'm not sure.
>
> Assuming it compiles, ok?
Builds fine, but I don't have the hardware.

OK kn