On Mon, 16 Apr 2001, Dan Hollis wrote: > I don't know if anyone noticed, but the supposed udma100 fix has been > posted here: > > http://www.viahardware.com/download/viatweak.shtm > > At the bottom of the page. > > Technical discussion of the workaround (in german): > http://home.tiscalinet.de/au-ja/review-kt133a-4.html > > -Dan Hi Dan, This was sent to me the other day, is this waht you are talking about? Cheers, Andre Hedrick Linux ATA Development ASL Kernel Development ----------------------------------------------------------------------------- ASL, Inc. Toll free: 1-877-ASL-3535 1757 Houret Court Fax: 1-408-941-2071 Milpitas, CA 95035 Web: www.aslab.com
--- linux-2.4.3/drivers/pci/quirks.c.kicker Sun Apr 15 20:38:42 2001 +++ linux-2.4.3/drivers/pci/quirks.c Sun Apr 15 21:20:49 2001 @@ -85,6 +85,29 @@ } /* + * VIA Apollo KT133 needs PCI latency patch + * Made according to a windows driver based patch by George E. Breese + * see PCI Latency Adjust on http://www.viahardware.com/download/viatweak.shtm + */ +static void __init quirk_vialatency(struct pci_dev *dev) +{ + u8 r70; + + printk(KERN_INFO "Applying VIA PCI latency patch.\n"); + /* + * In register 0x70, mask off bit 2 (PCI Master read caching) + * and 1 (Delay Transaction) + */ + pci_read_config_byte(dev, 0x70, &r70); + r70 &= 0xf9; + pci_write_config_byte(dev, 0x70, r70); + /* + * Turn off PCI Latency timeout (set to 0 clocks) + */ + pci_write_config_byte(dev, 0x75, 0x80); +} + +/* * VIA Apollo VP3 needs ETBF on BT848/878 */ @@ -275,6 +298,7 @@ { PCI_FIXUP_FINAL, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443BX_2, quirk_natoma }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5597, quirk_nopcipci }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_496, quirk_nopcipci }, + { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0, + quirk_vialatency }, { PCI_FIXUP_FINAL, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_viaetbf }, { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id }, { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C586_3, quirk_vt82c586_acpi },