Subject: DMA on beige G3 internal HD?
To: None <port-macppc@netbsd.org>
From: Amitai Schlair <schmonz@schmonz.com>
List: port-macppc
Date: 09/07/2002 16:03:47
When booting a beige G3 desktop, right before mounting root, DMA to the
internal ATA drive fails and the kernel switches to PIO mode. Should it be
possible for DMA to work with this hardware? If so, what can I try to get it
to work?

dmesg follows (config is GENERIC plus COMPAT_LINUX and OFB_ENABLE_CACHE).

Thanks,

- Amitai

NetBSD 1.6_RC3 (XTINAG3) #0: Thu Sep  5 09:35:30 EDT 2002
 schmonz@xtinag3.home.schmonz.com:/home/schmonz/syssrc/sys/arch/macppc/compi
le/XTINAG3
total memory = 128 MB
avail memory = 110 MB
using 1664 buffers containing 6656 KB of memory
mainbus0 (root)
cpu0 at mainbus0: 750 (Revision 2.2), ID 0 (primary)
cpu0: HID0 8290c0a4<EMCP,ECLK,DOZE,DPM,ICE,DCE,SGE,BTIC,BHT>
cpu0: 237.29 MHz
cpu0: 512KB backside cache
grackle0 at mainbus0
pci0 at grackle0 bus 0
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Motorola MPC106 "Grackle" Host Bridge (rev. 0x40)
ohci0 at pci0 dev 14 function 0: Opti RM861HA (rev. 0x10)
ohci0: interrupting at irq 24
ohci0: OHCI version 1.0, legacy support
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Opti OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
obio0 at pci0 dev 16 function 0: addr 0xf3000000
mesh0 at obio0 offset 0x10000 irq 12: 50MHz, SCSI ID 7
scsibus0 at mesh0: 8 targets, 8 luns per target
bm0 at obio0 offset 0x11000 irq 42,33: address 00:05:02:5e:23:39
zsc0 at obio0 offset 0x13000: irq 15,16
zstty0 at zsc0 channel 0
zstty1 at zsc0 channel 1
davbus at obio0 offset 0x14000 not configured
swim3 at obio0 offset 0x15000 not configured
nvram0 at obio0 offset 0x60000
wdc0 at obio0 offset 0x20000 irq 13: DMA transfer
wd0 at wdc0 channel 0 drive 0: <QUANTUM FIREBALL SE4.3A>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 4110 MB, 14848 cyl, 9 head, 63 sec, 512 bytes/sect x 8418816 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
wd0(wdc0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
wdc1 at obio0 offset 0x21000 irq 14: DMA transfer
atapibus0 at wdc1 channel 0: 2 targets
cd0 at atapibus0 drive 0: <MATSHITA CR-585, , ZS20> type 5 cdrom removable
cd0: drive supports PIO mode 3, DMA mode 1
cd0(wdc1:0:0): using PIO mode 3, DMA mode 1 (using DMA data transfers)
adb0 at obio0 offset 0x16000 irq 18: 2 targets
aed0 at adb0 addr 0: ADB Event device
akbd0 at adb0 addr 2: extended keyboard
wskbd0 at akbd0: console keyboard
ams0 at adb0 addr 3: 1-button, 100 dpi mouse
wsmouse0 at ams0 mux 0
ofb0 at pci0 dev 18 function 0: ATI Technologies 3D Rage I/II
ofb0: 640 x 480, 8bpp
wsdisplay0 at ofb0 kbdmux 1: console (std, vt100 emulation), using wskbd0
wsmux1: connecting to wsdisplay0
scsibus0: waiting 2 seconds for devices to settle...
uhub1 at uhub0 port 1
uhub1: Texas Instruments UT-USB41 hub, class 9/0, rev 1.10/1.10, addr 2
uhub1: 4 ports with 4 removable, self powered
boot device: wd0
root on wd0a dumps on wd0b
wdc0:0:0: lost interrupt
        type: ata tc_bcount: 512 tc_skip: 0
wdc0:0:0: intr with DRQ (st=0x58)
wd0: transfer error, downgrading to PIO mode 4
wd0(wdc0:0:0): using PIO mode 4
wd0c: device timeout reading fsbn 0 (wd0 bn 0; cn 0 tn 0 sn 0), retrying
wd0: soft error (corrected)
root file system type: ffs