diff options
author | Ralf Baechle <ralf@linux-mips.org> | 2000-03-23 02:25:38 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2000-03-23 02:25:38 +0000 |
commit | 16b5d462f73eb29d1f67fa01cc1ea66afdc72569 (patch) | |
tree | 5407bd573f4840e473ea27cbe61e5c7a07131fcd /drivers/ide | |
parent | ce8a076e11e7e5ee36007f9a3eee5bb3744cb8f6 (diff) |
Merge with Linux 2.3.99-pre2.
Diffstat (limited to 'drivers/ide')
-rw-r--r-- | drivers/ide/Config.in | 23 | ||||
-rw-r--r-- | drivers/ide/cmd64x.c | 38 | ||||
-rw-r--r-- | drivers/ide/ide-geometry.c | 4 | ||||
-rw-r--r-- | drivers/ide/ide-probe.c | 2 | ||||
-rw-r--r-- | drivers/ide/piix.c | 24 | ||||
-rw-r--r-- | drivers/ide/via82cxxx.c | 3 |
6 files changed, 47 insertions, 47 deletions
diff --git a/drivers/ide/Config.in b/drivers/ide/Config.in index bcd17994b..2d4d2228c 100644 --- a/drivers/ide/Config.in +++ b/drivers/ide/Config.in @@ -32,7 +32,6 @@ if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; then bool ' Boot off-board chipsets first support' CONFIG_BLK_DEV_OFFBOARD dep_bool ' Use PCI DMA by default when available' CONFIG_IDEDMA_PCI_AUTO $CONFIG_BLK_DEV_IDEDMA_PCI define_bool CONFIG_BLK_DEV_IDEDMA $CONFIG_BLK_DEV_IDEDMA_PCI - define_bool CONFIG_IDEDMA_AUTO $CONFIG_IDEDMA_PCI_AUTO define_bool CONFIG_IDEDMA_PCI_EXPERIMENTAL $CONFIG_EXPERIMENTAL dep_bool ' ATA Work(s) In Progress (EXPERIMENTAL)' CONFIG_IDEDMA_PCI_WIP $CONFIG_BLK_DEV_IDEDMA_PCI $CONFIG_EXPERIMENTAL dep_bool ' Good-Bad DMA Model-Firmware (WIP)' CONFIG_IDEDMA_NEW_DRIVE_LISTINGS $CONFIG_IDEDMA_PCI_WIP @@ -72,14 +71,12 @@ if [ "$CONFIG_BLK_DEV_IDE" != "n" ]; then dep_bool ' PowerMac IDE DMA support' CONFIG_BLK_DEV_IDEDMA_PMAC $CONFIG_BLK_DEV_IDE_PMAC dep_bool ' Use DMA by default' CONFIG_IDEDMA_PMAC_AUTO $CONFIG_BLK_DEV_IDEDMA_PMAC define_bool CONFIG_BLK_DEV_IDEDMA $CONFIG_BLK_DEV_IDEDMA_PMAC - define_bool CONFIG_IDEDMA_AUTO $CONFIG_IDEDMA_PMAC_AUTO fi if [ "$CONFIG_ARCH_ACORN" = "y" ]; then dep_bool ' ICS IDE interface support' CONFIG_BLK_DEV_IDE_ICSIDE $CONFIG_ARCH_ACORN dep_bool ' ICS DMA support' CONFIG_BLK_DEV_IDEDMA_ICS $CONFIG_BLK_DEV_IDE_ICSIDE dep_bool ' Use ICS DMA by default' CONFIG_IDEDMA_ICS_AUTO $CONFIG_BLK_DEV_IDEDMA_ICS define_bool CONFIG_BLK_DEV_IDEDMA $CONFIG_BLK_DEV_IDEDMA_ICS - define_bool CONFIG_IDEDMA_AUTO $CONFIG_IDEDMA_ICS_AUTO dep_bool ' RapIDE interface support' CONFIG_BLK_DEV_IDE_RAPIDE $CONFIG_ARCH_ACORN fi if [ "$CONFIG_AMIGA" = "y" ]; then @@ -115,19 +112,13 @@ else define_bool CONFIG_BLK_DEV_HD $CONFIG_BLK_DEV_HD_ONLY fi -# if [ "$CONFIG_BLK_DEV_IDEDMA_PCI" = "y" -o \ -# "$CONFIG_BLK_DEV_IDEDMA_PMAC" = "y" -o \ -# "$CONFIG_BLK_DEV_IDEDMA_ICS" = "y" ]; then -# define_bool CONFIG_BLK_DEV_IDEDMA y -# if [ "$CONFIG_IDEDMA_PCI_AUTO" = "y" -o \ -# "$CONFIG_IDEDMA_PMAC_AUTO" = "y" -o \ -# "$CONFIG_IDEDMA_ICS_AUTO" = "y" ]; then -# define_bool CONFIG_IDEDMA_AUTO y -# fi -# else -# define_bool CONFIG_BLK_DEV_IDEDMA n -# define_bool CONFIG_IDEDMA_AUTO n -# fi +if [ "$CONFIG_IDEDMA_PCI_AUTO" = "y" -o \ + "$CONFIG_IDEDMA_PMAC_AUTO" = "y" -o \ + "$CONFIG_IDEDMA_ICS_AUTO" = "y" ]; then + define_bool CONFIG_IDEDMA_AUTO y +else + define_bool CONFIG_IDEDMA_AUTO n +fi if [ "$CONFIG_IDE_CHIPSETS" = "y" -o \ "$CONFIG_BLK_DEV_AEC6210" = "y" -o \ diff --git a/drivers/ide/cmd64x.c b/drivers/ide/cmd64x.c index 542ad44a1..b2ae2e6b8 100644 --- a/drivers/ide/cmd64x.c +++ b/drivers/ide/cmd64x.c @@ -68,7 +68,7 @@ #define UDIDETCR1 0x7B #define DTPR1 0x7C -#undef DISPLAY_CMD64X_TIMINGS +#define DISPLAY_CMD64X_TIMINGS #if defined(DISPLAY_CMD64X_TIMINGS) && defined(CONFIG_PROC_FS) #include <linux/stat.h> @@ -116,22 +116,22 @@ static int cmd64x_get_info (char *buffer, char **addr, off_t offset, int count) p += sprintf(p, "--------------- Primary Channel ---------------- Secondary Channel -------------\n"); p += sprintf(p, " %sabled %sabled\n", - (reg72&0x80) ? "dis" : " en", (reg7a&0x80) ? "dis" : " en"); + (reg72&0x80) ? "dis" : " en", (reg7a&0x80) ? "dis" : " en"); p += sprintf(p, "--------------- drive0 --------- drive1 -------- drive0 ---------- drive1 ------\n"); p += sprintf(p, "DMA enabled: %s %s %s %s\n", - (reg72&0x20) ? "yes" : "no ", (reg72&0x40) ? "yes" : "no ", (reg7a&0x20) ? "yes" : "no ", (reg7a&0x40) ? "yes" : "no " ); - p += sprintf(p, "UDMA enabled: %s %s %s %s\n", - (reg73&0x01) ? "yes" : "no ", (reg73&0x02) ? "yes" : "no ", (reg7b&0x01) ? "yes" : "no ", (reg7b&0x02) ? "yes" : "no " ); - p += sprintf(p, "UDMA enabled: %s %s %s %s\n", - (reg73&0x15) ? "4" : (reg73&0x25) ? "3" : (reg73&0x11) ? "2" : (reg73&0x21) ? "1" : (reg73&0x31) ? "0" : "X", - (reg73&0x4A) ? "4" : (reg73&0x8A) ? "3" : (reg73&0x42) ? "2" : (reg73&0x82) ? "1" : (reg73&0xC2) ? "0" : "X", - (reg7b&0x15) ? "4" : (reg7b&0x25) ? "3" : (reg7b&0x11) ? "2" : (reg7b&0x21) ? "1" : (reg7b&0x31) ? "0" : "X", - (reg7b&0x4A) ? "4" : (reg7b&0x8A) ? "3" : (reg7b&0x42) ? "2" : (reg7b&0x82) ? "1" : (reg7b&0xC2) ? "0" : "X" ); - p += sprintf(p, "DMA enabled: %s %s %s %s\n", - (reg73&0x10) ? "2" : (reg73&0x20) ? "1" : (reg73&0x30) ? "0" : "X", - (reg73&0x40) ? "2" : (reg73&0x80) ? "1" : (reg73&0xC0) ? "0" : "X", - (reg7b&0x10) ? "2" : (reg7b&0x20) ? "1" : (reg7b&0x30) ? "0" : "X", - (reg7b&0x40) ? "2" : (reg7b&0x80) ? "1" : (reg7b&0xC0) ? "0" : "X" ); + (reg72&0x20) ? "yes" : "no ", (reg72&0x40) ? "yes" : "no ", (reg7a&0x20) ? "yes" : "no ", (reg7a&0x40) ? "yes" : "no " ); + p += sprintf(p, "DMA Mode: %s(%s) %s(%s) %s(%s) %s(%s)\n", + (reg72&0x20)?((reg73&0x01)?"UDMA":" DMA"):" PIO", + (reg72&0x20)?(((reg73&0x15)==0x15)?"4":((reg73&0x25)==0x25)?"3":((reg73&0x10)==0x10)?"2":((reg73&0x20)==0x20)?"1":((reg73&0x30)==0x30)?"0":"X"):"?", + (reg72&0x40)?((reg73&0x02)?"UDMA":" DMA"):" PIO", + (reg72&0x40)?(((reg73&0x4A)==0x4A)?"4":((reg73&0x8A)==0x8A)?"3":((reg73&0x40)==0x40)?"2":((reg73&0x80)==0x80)?"1":((reg73&0xC0)==0xC0)?"0":"X"):"?", + (reg7a&0x20)?((reg7b&0x01)?"UDMA":" DMA"):" PIO", + (reg7a&0x20)?(((reg7b&0x15)==0x15)?"4":((reg7b&0x25)==0x25)?"3":((reg7b&0x10)==0x10)?"2":((reg7b&0x20)==0x20)?"1":((reg7b&0x30)==0x30)?"0":"X"):"?", + (reg7a&0x40)?((reg7b&0x02)?"UDMA":" DMA"):" PIO", + (reg7a&0x40)?(((reg7b&0x4A)==0x4A)?"4":((reg7b&0x8A)==0x8A)?"3":((reg7b&0x40)==0x40)?"2":((reg7b&0x80)==0x80)?"1":((reg7b&0xC0)==0xC0)?"0":"X"):"?" ); + p += sprintf(p, "PIO Mode: %s %s %s %s\n", + "?", "?", "?", "?"); + p += sprintf(p, "PIO\n"); SPLIT_BYTE(reg53, hi_byte, lo_byte); @@ -668,9 +668,11 @@ unsigned int __init pci_init_cmd64x (struct pci_dev *dev, const char *name) (void) pci_write_config_byte(dev, DRWTIM3, 0x3f); #if defined(DISPLAY_CMD64X_TIMINGS) && defined(CONFIG_PROC_FS) - cmd64x_proc = 1; - bmide_dev = dev; - cmd64x_display_info = &cmd64x_get_info; + if (!cmd64x_proc) { + cmd64x_proc = 1; + bmide_dev = dev; + cmd64x_display_info = &cmd64x_get_info; + } #endif /* DISPLAY_CMD64X_TIMINGS && CONFIG_PROC_FS */ return 0; diff --git a/drivers/ide/ide-geometry.c b/drivers/ide/ide-geometry.c index 6ebf20fe1..4c67d0911 100644 --- a/drivers/ide/ide-geometry.c +++ b/drivers/ide/ide-geometry.c @@ -3,7 +3,7 @@ */ #include <linux/config.h> -#ifdef CONFIG_BLK_DEV_IDE +#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE) #include <linux/ide.h> #include <asm/io.h> @@ -211,4 +211,4 @@ int ide_xlate_1024 (kdev_t i_rdev, int xparm, int ptheads, const char *msg) drive->bios_cyl, drive->bios_head, drive->bios_sect); return ret; } -#endif /* CONFIG_BLK_DEV_IDE */ +#endif /* (CONFIG_BLK_DEV_IDE) || (CONFIG_BLK_DEV_IDE_MODULE) */ diff --git a/drivers/ide/ide-probe.c b/drivers/ide/ide-probe.c index 311bcfa25..0e617216d 100644 --- a/drivers/ide/ide-probe.c +++ b/drivers/ide/ide-probe.c @@ -470,11 +470,13 @@ static void probe_hwif (ide_hwif_t *hwif) if (hwif->noprobe) return; +#ifdef CONFIG_BLK_DEV_IDE if (hwif->io_ports[IDE_DATA_OFFSET] == HD_DATA) { extern void probe_cmos_for_drives(ide_hwif_t *); probe_cmos_for_drives (hwif); } +#endif if ((hwif->chipset != ide_4drives || !hwif->mate->present) && #if CONFIG_BLK_DEV_PDC4030 diff --git a/drivers/ide/piix.c b/drivers/ide/piix.c index 97e57fa55..93f20566d 100644 --- a/drivers/ide/piix.c +++ b/drivers/ide/piix.c @@ -417,18 +417,22 @@ unsigned int __init ata66_piix (ide_hwif_t *hwif) void __init ide_init_piix (ide_hwif_t *hwif) { + if (!hwif->irq) + hwif->irq = hwif->channel ? 15 : 14; + hwif->tuneproc = &piix_tune_drive; + hwif->drives[0].autotune = 1; + hwif->drives[1].autotune = 1; + + if (!hwif->dma_base) + return; - if (hwif->dma_base) { #ifdef CONFIG_PIIX_TUNING - hwif->dmaproc = &piix_dmaproc; + hwif->autodma = 1; + hwif->dmaproc = &piix_dmaproc; +#else + if (hwif->autodma) + hwif->autodma = 0; + #endif /* CONFIG_PIIX_TUNING */ - hwif->drives[0].autotune = 0; - hwif->drives[1].autotune = 0; - } else { - hwif->drives[0].autotune = 1; - hwif->drives[1].autotune = 1; - } - if (!hwif->irq) - hwif->irq = hwif->channel ? 15 : 14; } diff --git a/drivers/ide/via82cxxx.c b/drivers/ide/via82cxxx.c index c2ec24d39..afa1cc5b6 100644 --- a/drivers/ide/via82cxxx.c +++ b/drivers/ide/via82cxxx.c @@ -104,6 +104,7 @@ static const struct { { "VT 82C595 Apollo VP2", PCI_DEVICE_ID_VIA_82C595, }, { "VT 82C597 Apollo VP3", PCI_DEVICE_ID_VIA_82C597_0, }, { "VT 82C598 Apollo MVP3", PCI_DEVICE_ID_VIA_82C598_0, }, + { "VT 82C598 Apollo MVP3", PCI_DEVICE_ID_VIA_82C598_0, }, { "VT 82C680 Apollo P6", PCI_DEVICE_ID_VIA_82C680, }, { "VT 82C691 Apollo Pro", PCI_DEVICE_ID_VIA_82C691, }, { "VT 82C693 Apollo Pro Plus", PCI_DEVICE_ID_VIA_82C693, }, @@ -127,7 +128,7 @@ static const struct { { PCI_DEVICE_ID_VIA_82C598_0, PCI_DEVICE_ID_VIA_82C586_1, VIA_FLAG_CHECK_REV }, { PCI_DEVICE_ID_VIA_82C598_0, PCI_DEVICE_ID_VIA_82C596, 0 }, { PCI_DEVICE_ID_VIA_82C680, PCI_DEVICE_ID_VIA_82C586_1, VIA_FLAG_CHECK_REV }, - { PCI_DEVICE_ID_VIA_82C691, PCI_DEVICE_ID_VIA_82C596, 0 }, + { PCI_DEVICE_ID_VIA_82C691, PCI_DEVICE_ID_VIA_82C596, VIA_FLAG_ATA_66 }, { PCI_DEVICE_ID_VIA_82C693, PCI_DEVICE_ID_VIA_82C596, 0 }, { PCI_DEVICE_ID_VIA_8501_0, PCI_DEVICE_ID_VIA_82C686, VIA_FLAG_ATA_66 }, { PCI_DEVICE_ID_VIA_8371_0, PCI_DEVICE_ID_VIA_82C686, VIA_FLAG_ATA_66 }, |