diff options
author | Chris Cappuccio <chris@cvs.openbsd.org> | 2000-10-21 05:43:19 +0000 |
---|---|---|
committer | Chris Cappuccio <chris@cvs.openbsd.org> | 2000-10-21 05:43:19 +0000 |
commit | 983628631a206cd5aa0f3f7b07b56d044c17237d (patch) | |
tree | 0886aa5429664183fcc6b49ed5f0d76bf4b2c1ab /sys | |
parent | aaae2596d613a3f155417429e776d114d4f1e2c6 (diff) |
(Temporarily) disable DMA support for OPTi 82C621 and untested 82C568/82D568
because it breaks on two different revisions in two different ways and
is so old and slow anyways that it isn't that much of an advantage to have DMA
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/pci/pciide.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/dev/pci/pciide.c b/sys/dev/pci/pciide.c index 78c2d821d0b..f3608b551d8 100644 --- a/sys/dev/pci/pciide.c +++ b/sys/dev/pci/pciide.c @@ -1,4 +1,4 @@ -/* $OpenBSD: pciide.c,v 1.32 2000/10/16 18:09:56 chris Exp $ */ +/* $OpenBSD: pciide.c,v 1.33 2000/10/21 05:43:18 chris Exp $ */ /* $NetBSD: pciide.c,v 1.48 1999/11/28 20:05:18 bouyer Exp $ */ /* @@ -296,7 +296,9 @@ const struct pciide_product_desc pciide_amd_products[] = { }, }; +#ifdef notyet const struct pciide_product_desc pciide_opti_products[] = { + { PCI_PRODUCT_OPTI_82C621, 0, opti_chip_map @@ -310,6 +312,7 @@ const struct pciide_product_desc pciide_opti_products[] = { opti_chip_map }, }; +#endif const struct pciide_product_desc pciide_cmd_products[] = { { PCI_PRODUCT_CMDTECH_640, /* CMD Technology PCI0640 */ @@ -398,8 +401,10 @@ const struct pciide_vendor_desc pciide_vendors[] = { sizeof(pciide_intel_products)/sizeof(pciide_intel_products[0]) }, { PCI_VENDOR_AMD, pciide_amd_products, sizeof(pciide_amd_products)/sizeof(pciide_amd_products[0]) }, +#ifdef notyet { PCI_VENDOR_OPTI, pciide_opti_products, sizeof(pciide_opti_products)/sizeof(pciide_opti_products[0]) }, +#endif { PCI_VENDOR_CMDTECH, pciide_cmd_products, sizeof(pciide_cmd_products)/sizeof(pciide_cmd_products[0]) }, { PCI_VENDOR_VIATECH, pciide_via_products, @@ -2901,7 +2906,7 @@ opti_chip_map(sc, pa) printf(": DMA"); pciide_mapreg_dma(sc, pa); - sc->sc_wdcdev.cap |= WDC_CAPABILITY_DATA16 | WDC_CAPABILITY_DATA32 | WDC_CAPABILITY_MODE; + sc->sc_wdcdev.cap |= WDC_CAPABILITY_DATA16 | WDC_CAPABILITY_MODE; sc->sc_wdcdev.PIO_cap = 4; if (sc->sc_dma_ok) { sc->sc_wdcdev.cap |= WDC_CAPABILITY_DMA; @@ -2965,8 +2970,7 @@ opti_setup_channel(chp) opti_write_config(chp, OPTI_REG_CONTROL, OPTI_CONTROL_DISABLE); /* Determine the clockrate of the PCIbus the chip is attached to */ - spd = (int) opti_read_config(chp, OPTI_REG_STRAP); - spd &= OPTI_STRAP_PCI_SPEED_MASK; + spd = 2; /* setup DMA if needed */ pciide_channel_dma_setup(cp); |