[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Which SiS 5513 does what UDMA ?
According to comments in the pciide.c code, revision 0xd0 and above of the
SiS 5513 EIDE controller will do UDMA 2.
On my Asus CUSI-M mothboards, with the 630E chipset, they are rates to UDMA
4 (ATA/66). Normally, I wouldn't care but with some new IBM 120GB 7200RPM
disks there *is* a difference in transfer rates. These disks can actually
sustain > 16MB/sec.
So, I changed pciide.c with this simple patch:
RCS file: /cvs/src/sys/dev/pci/pciide.c,v
retrieving revision 1.87
diff -u -r1.87 pciide.c
--- pciide.c 2002/07/10 11:01:01 1.87
+++ pciide.c 2002/07/12 07:33:53
@@ -2947,7 +2947,7 @@
sc->sc_wdcdev.PIO_cap = 4;
sc->sc_wdcdev.DMA_cap = 2;
if (sc->sc_wdcdev.cap & WDC_CAPABILITY_UDMA)
- sc->sc_wdcdev.UDMA_cap = 2;
+ sc->sc_wdcdev.UDMA_cap = 4;
sc->sc_wdcdev.set_modes = sis_setup_channel;
sc->sc_wdcdev.channels = sc->wdc_chanarray;
Now, this is *not* ideal, since while I understand that if you try to speak
at to high a setting a drive, you will get downgraded as the CRC errors come
in. What happens when the controller capabilities are too high ?
Also, anyone looked at SiS chipsets enough to be able to categorically
identify while 5513 under which bridge will do what UDMA ? We could then
just write a switch statement to set the right one.
Peter