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);

Reply via email to