Subject: why no Ultra-DMA mode 5 for ServerWorks CSB5 IDE 0x93 with WDC WD600JB-00CRA1 drive?
To: NetBSD-current Discussion List <current-users@NetBSD.ORG>
From: Greg A. Woods <email@example.com>
Date: 04/29/2003 18:44:11
Anyone have any idea why this drive attaches with Ultra-DMA mode 2
instead of Ultra-DMA mode 5?
pciide0 at pci0 dev 15 function 1: ServerWorks CSB5 IDE Controller (rev. 0x93)
pciide0: bus-master DMA support present
pciide0: primary channel configured to compatibility mode
wd0 at pciide0 channel 0 drive 0: <WDC WD600JB-00CRA1>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 57241 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 117231408 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
This appears to be caused by the following code:
1.149 (mycroft 12-Apr-02): /* use Ultra/DMA, check for 80-pin cable */
1.149 (mycroft 12-Apr-02): if (drvp->UDMA_mode > 2 &&
1.149 (mycroft 12-Apr-02): (PCI_PRODUCT(pci_conf_read(sc->sc_pc, sc->sc_tag, PCI_SUBSYS_ID_REG)) & (1 << (14 + channel))) == 0)
1.149 (mycroft 12-Apr-02): drvp->UDMA_mode = 2;
I'm just going to comment it out for now.
We're guessing that maybe the test needs to be different for a 0x93
revision chip, especially since I found an example via google of a
rev. 0x92 chip and some drives running at UDMA-5 in a message containing
OpenBSD-3.2-current dmesg output....
Greg A. Woods
+1 416 218-0098; <firstname.lastname@example.org>; <email@example.com>
Planix, Inc. <firstname.lastname@example.org>; VE3TCP; Secrets of the Weird <email@example.com>