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: