Currently VIA Apollo IDE controller in the new ata driver handled as "Generic UDMA" controller, but AFAIK this controller was designed to be fully compatible with the Intel PIIX4 chip. To test if I'm right I made a minor change in dma initialisation code to initialise it exactly as PIIX4 controller and made some benchmarks using bonnie disk benchmarking program. I found that while transfer rates changes insignificantly (probably my HDD imposes limit here - Quantum FB 2.1ST is not a very fast one) but CPU utilisation drops drastically. Maybe it would make sense to initialise VIA Apollo like PIIX4 at least until someone will write "native" code? Any opinions? You can find my benchmarks at: http://homepages.go.com/~sobomax/piix4_vs_generic.pdf Sincerely, Maxim -- "We believe in the Power and the Might!" (Manowar, 1996) ---------------------------------------- Maxim V. Sobolev, Financial Analyst, Vega International Capital Phone: +380-(44)-246-6396 Fax: +380-(44)-220-8715 E-mail: [EMAIL PROTECTED] ICQ: #42290709 ----------------------------------------
--- ata-dma.c.orig Wed Jul 21 15:59:34 1999 +++ ata-dma.c Wed Jul 21 15:58:11 1999 @@ -83,6 +83,8 @@ type = pci_get_devid(scp->dev); switch(type) { + case 0x05711106: + printf("ata%d: %s\n", scp->lun, "VIA Apolo IDE controller (PIIX4 mode)"); case 0x71118086: /* Intel PIIX4 */ if (udmamode >= 2) { --- ata-all.c.orig Wed Jul 21 15:59:23 1999 +++ ata-all.c Wed Jul 21 15:58:12 1999 @@ -186,9 +186,9 @@ return "Promise Ultra/33 IDE controller"; case 0x522910b9: return "AcerLabs Aladdin IDE controller"; -#if 0 case 0x05711106: return "VIA Apollo IDE controller"; +#if 0 case 0x06401095: return "CMD 640 IDE controller"; case 0x06461095: