Module Name: src
Committed By: tsutsui
Date: Tue Jul 7 15:37:03 UTC 2009
Modified Files:
src/sys/arch/atari/atari: atari_init.c
src/sys/arch/atari/dev: clock.c
Added Files:
src/sys/arch/atari/dev: clockvar.h
Log Message:
Explicitly initialize the MFP Timer-B for delay(9) from atari_hwinit()
rather than using if(!atari_realconfig) in clockmatch().
(I doubt the latter one has actually been called..)
To generate a diff of this commit:
cvs rdiff -u -r1.81 -r1.82 src/sys/arch/atari/atari/atari_init.c
cvs rdiff -u -r1.47 -r1.48 src/sys/arch/atari/dev/clock.c
cvs rdiff -u -r0 -r1.1 src/sys/arch/atari/dev/clockvar.h
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/atari/atari/atari_init.c
diff -u src/sys/arch/atari/atari/atari_init.c:1.81 src/sys/arch/atari/atari/atari_init.c:1.82
--- src/sys/arch/atari/atari/atari_init.c:1.81 Mon Jul 6 12:55:24 2009
+++ src/sys/arch/atari/atari/atari_init.c Tue Jul 7 15:37:02 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: atari_init.c,v 1.81 2009/07/06 12:55:24 tsutsui Exp $ */
+/* $NetBSD: atari_init.c,v 1.82 2009/07/07 15:37:02 tsutsui Exp $ */
/*
* Copyright (c) 1995 Leo Weppelman
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: atari_init.c,v 1.81 2009/07/06 12:55:24 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: atari_init.c,v 1.82 2009/07/07 15:37:02 tsutsui Exp $");
#include "opt_ddb.h"
#include "opt_mbtype.h"
@@ -74,6 +74,7 @@
#include <atari/atari/intr.h>
#include <atari/atari/stalloc.h>
+#include <atari/dev/clockvar.h>
#include <atari/dev/ym2149reg.h>
#include "pci.h"
@@ -707,6 +708,11 @@
}
#endif /* defined(_ATARIHW_) */
+ /*
+ * Initialize a timer for delay(9).
+ */
+ init_delay();
+
#if NPCI > 0
if (machineid & (ATARI_HADES|ATARI_MILAN)) {
/*
Index: src/sys/arch/atari/dev/clock.c
diff -u src/sys/arch/atari/dev/clock.c:1.47 src/sys/arch/atari/dev/clock.c:1.48
--- src/sys/arch/atari/dev/clock.c:1.47 Tue Jul 7 15:15:08 2009
+++ src/sys/arch/atari/dev/clock.c Tue Jul 7 15:37:02 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: clock.c,v 1.47 2009/07/07 15:15:08 tsutsui Exp $ */
+/* $NetBSD: clock.c,v 1.48 2009/07/07 15:37:02 tsutsui Exp $ */
/*
* Copyright (c) 1982, 1990 The Regents of the University of California.
@@ -77,7 +77,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.47 2009/07/07 15:15:08 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: clock.c,v 1.48 2009/07/07 15:37:02 tsutsui Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -96,6 +96,7 @@
#include <machine/iomap.h>
#include <machine/mfp.h>
#include <atari/dev/clockreg.h>
+#include <atari/dev/clockvar.h>
#include <atari/atari/device.h>
#if defined(GPROF) && defined(PROFTIMER)
@@ -186,21 +187,6 @@
int
clockmatch(struct device *pdp, struct cfdata *cfp, void *auxp)
{
- if (!atari_realconfig) {
- /*
- * Initialize Timer-B in the ST-MFP. This timer is used by
- * the 'delay' function below. This timer is setup to be
- * continueously counting from 255 back to zero at a
- * frequency of 614400Hz. We do this *early* in the
- * initialisation process.
- */
- MFP->mf_tbcr = 0; /* Stop timer */
- MFP->mf_iera &= ~IA_TIMB; /* Disable timer interrupts */
- MFP->mf_tbdr = 0;
- MFP->mf_tbcr = T_Q004; /* Start timer */
-
- return 0;
- }
if(!strcmp("clock", auxp))
return(1);
return(0);
@@ -342,6 +328,23 @@
#define TIMB_FREQ 614400
#define TIMB_LIMIT 256
+void
+init_delay(void)
+{
+
+ /*
+ * Initialize Timer-B in the ST-MFP. This timer is used by
+ * the 'delay' function below. This timer is setup to be
+ * continueously counting from 255 back to zero at a
+ * frequency of 614400Hz. We do this *early* in the
+ * initialisation process.
+ */
+ MFP->mf_tbcr = 0; /* Stop timer */
+ MFP->mf_iera &= ~IA_TIMB; /* Disable timer interrupts */
+ MFP->mf_tbdr = 0;
+ MFP->mf_tbcr = T_Q004; /* Start timer */
+}
+
/*
* Wait "n" microseconds.
* Relies on MFP-Timer B counting down from TIMB_LIMIT at TIMB_FREQ Hz.
Added files:
Index: src/sys/arch/atari/dev/clockvar.h
diff -u /dev/null src/sys/arch/atari/dev/clockvar.h:1.1
--- /dev/null Tue Jul 7 15:37:03 2009
+++ src/sys/arch/atari/dev/clockvar.h Tue Jul 7 15:37:02 2009
@@ -0,0 +1,3 @@
+/* $NetBSD: clockvar.h,v 1.1 2009/07/07 15:37:02 tsutsui Exp $ */
+
+void init_delay(void);