Module Name:    src
Committed By:   isaki
Date:           Sat Jan  6 05:31:20 UTC 2024

Modified Files:
        src/sys/arch/x68k/dev: mfp.c
        src/sys/arch/x68k/include: param.h
        src/sys/arch/x68k/x68k: locore.s

Log Message:
x68k: Make _delay() argument to microseconds.
'<< 8' is just a magnification factor and should not be visible
from the outside.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/x68k/dev/mfp.c
cvs rdiff -u -r1.30 -r1.31 src/sys/arch/x68k/include/param.h
cvs rdiff -u -r1.125 -r1.126 src/sys/arch/x68k/x68k/locore.s

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/x68k/dev/mfp.c
diff -u src/sys/arch/x68k/dev/mfp.c:1.31 src/sys/arch/x68k/dev/mfp.c:1.32
--- src/sys/arch/x68k/dev/mfp.c:1.31	Sat Jan  6 05:24:33 2024
+++ src/sys/arch/x68k/dev/mfp.c	Sat Jan  6 05:31:19 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: mfp.c,v 1.31 2024/01/06 05:24:33 isaki Exp $	*/
+/*	$NetBSD: mfp.c,v 1.32 2024/01/06 05:31:19 isaki Exp $	*/
 
 /*-
  * Copyright (c) 1998 NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mfp.c,v 1.31 2024/01/06 05:24:33 isaki Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mfp.c,v 1.32 2024/01/06 05:31:19 isaki Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -165,7 +165,7 @@ mfp_calibrate_delay(void)
 	for (delay_divisor = 140; delay_divisor > 0; delay_divisor--) {
 		mfp_set_tcdr(255-0);
 		mfp_set_tcdcr(0x70); /* 1/200 delay mode */
-		_delay(10000 << 8);
+		_delay(10000);
 		mfp_set_tcdcr(0); /* stop timer */
 		if ((255 - mfp_get_tcdr()) > 200)
 			break;	/* got it! */

Index: src/sys/arch/x68k/include/param.h
diff -u src/sys/arch/x68k/include/param.h:1.30 src/sys/arch/x68k/include/param.h:1.31
--- src/sys/arch/x68k/include/param.h:1.30	Mon May 31 14:38:57 2021
+++ src/sys/arch/x68k/include/param.h	Sat Jan  6 05:31:19 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.30 2021/05/31 14:38:57 simonb Exp $	*/
+/*	$NetBSD: param.h,v 1.31 2024/01/06 05:31:19 isaki Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -74,7 +74,7 @@
 #if defined(_KERNEL) && !defined(_LOCORE)
 #include <machine/intr.h>
 
-#define	delay(us)	_delay((us) << 8)
+#define	delay(us)	_delay(us)
 #define DELAY(us)	delay(us)
 
 void	_delay(u_int);

Index: src/sys/arch/x68k/x68k/locore.s
diff -u src/sys/arch/x68k/x68k/locore.s:1.125 src/sys/arch/x68k/x68k/locore.s:1.126
--- src/sys/arch/x68k/x68k/locore.s:1.125	Wed Dec 27 03:03:42 2023
+++ src/sys/arch/x68k/x68k/locore.s	Sat Jan  6 05:31:19 2024
@@ -1,4 +1,4 @@
-/*	$NetBSD: locore.s,v 1.125 2023/12/27 03:03:42 thorpej Exp $	*/
+/*	$NetBSD: locore.s,v 1.126 2024/01/06 05:31:19 isaki Exp $	*/
 
 /*
  * Copyright (c) 1988 University of Utah.
@@ -852,13 +852,14 @@ LmotommuC:
 /*
  * _delay(u_int N)
  *
- * Delay for at least (N/256) microseconds.
+ * Delay for at least N microseconds.
  * This routine depends on the variable:  delay_divisor
  * which should be set based on the CPU clock rate.
  */
 ENTRY_NOPROFILE(_delay)
-	| %d0 = arg = (usecs << 8)
+	| %d0 = (usecs * a certain magnification factor)
 	movl	%sp@(4),%d0
+	lsll	#8,%d0
 	| %d1 = delay_divisor
 	movl	_C_LABEL(delay_divisor),%d1
 L_delay:

Reply via email to