Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 2000 17:26:16 -0700
From:      Peter Wemm <peter@netplex.com.au>
To:        alpha@freebsd.org
Subject:   fdc driver problem on the Alpha (PC164SX) - anyone else?
Message-ID:  <20000629002616.BDAA41CDF@overcee.netplex.com.au>

next in thread | raw e-mail | index | archive | help
I'm getting a hang during boot now under -current:

...
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> on isa0
sc0: VGA <16 virtual consoles, flags=0x0>
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd0: interrupting at ISA irq 1
mcclock0: <MC146818A real time clock> at port 0x70-0x71 on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: interrupting at ISA irq 6
<hang here>

Normally it looks like this:

...
mcclock0: <MC146818A real time clock> at port 0x70-0x71 on isa0
fdc0: <NEC 72065B or clone> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0
fdc0: interrupting at ISA irq 6
fdc0: FIFO enabled, 8 bytes threshold
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
atkbd0: interrupting at ISA irq 1

First, is anybody else seeing this?  Anybody else using fdc under the latest
-current?  The fdc code hasn't changed since the last time I built and ran
a kernel.  I don't see why the config(8) changes should affect just this
driver.

The thing that I am most suspicious of right now is this commit to the alpha
isa_dma.c:

revision 1.4
date: 2000/06/19 18:41:27;  author: gallatin;  state: Exp;  lines: +29 -4
Support bounce buffers for ISA DMA on the alpha.  This is required for the
irongate chipset (used in the UP1000) which does not support scatter/gather
DMA.  We'll still use scatter gather if the core logic chipset supports it.

It has one line in there that is not described in the commit message:

@@ -105,6 +106,7 @@
                 * Reset the DMA hardware.
                 */
                outb(DMA1_RESET, 0);
+               outb((IO_DMA1 + 1*14), 0);
                outb(DMA2_RESET, 0);
                isa_dmacascade(4);

I'm wondering if this could be related somehow.  The driver seems to be
hanging in a way that might be consistant with a dma initialization
problem.

Cheers,
-Peter
--
Peter Wemm - peter@FreeBSD.org; peter@yahoo-inc.com; peter@netplex.com.au
"All of this is for nothing if we don't go to the stars" - JMS/B5



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000629002616.BDAA41CDF>