diff options
-rw-r--r-- | drivers/ide/Kconfig | 1 | ||||
-rw-r--r-- | drivers/ide/ide-floppy.c | 2 | ||||
-rw-r--r-- | drivers/ide/pci/generic.c | 7 | ||||
-rw-r--r-- | drivers/ide/pci/serverworks.c | 23 | ||||
-rw-r--r-- | drivers/ide/ppc/pmac.c | 2 | ||||
-rw-r--r-- | drivers/ide/setup-pci.c | 1 | ||||
-rw-r--r-- | include/linux/pci_ids.h | 6 |
7 files changed, 39 insertions, 3 deletions
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig index 5f33df47aa74..1cadd2c3cadd 100644 --- a/drivers/ide/Kconfig +++ b/drivers/ide/Kconfig | |||
@@ -764,6 +764,7 @@ config BLK_DEV_IDE_PMAC_ATA100FIRST | |||
764 | config BLK_DEV_IDEDMA_PMAC | 764 | config BLK_DEV_IDEDMA_PMAC |
765 | bool "PowerMac IDE DMA support" | 765 | bool "PowerMac IDE DMA support" |
766 | depends on BLK_DEV_IDE_PMAC | 766 | depends on BLK_DEV_IDE_PMAC |
767 | select BLK_DEV_IDEDMA_PCI | ||
767 | help | 768 | help |
768 | This option allows the driver for the built-in IDE controller on | 769 | This option allows the driver for the built-in IDE controller on |
769 | Power Macintoshes and PowerBooks to use DMA (direct memory access) | 770 | Power Macintoshes and PowerBooks to use DMA (direct memory access) |
diff --git a/drivers/ide/ide-floppy.c b/drivers/ide/ide-floppy.c index 9eab6426148e..29c22fc278c6 100644 --- a/drivers/ide/ide-floppy.c +++ b/drivers/ide/ide-floppy.c | |||
@@ -317,7 +317,7 @@ typedef struct ide_floppy_obj { | |||
317 | unsigned long flags; | 317 | unsigned long flags; |
318 | } idefloppy_floppy_t; | 318 | } idefloppy_floppy_t; |
319 | 319 | ||
320 | #define IDEFLOPPY_TICKS_DELAY 3 /* default delay for ZIP 100 */ | 320 | #define IDEFLOPPY_TICKS_DELAY HZ/20 /* default delay for ZIP 100 (50ms) */ |
321 | 321 | ||
322 | /* | 322 | /* |
323 | * Floppy flag bits values. | 323 | * Floppy flag bits values. |
diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index da46577380f3..6e3ab0c38c4d 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c | |||
@@ -173,6 +173,12 @@ static ide_pci_device_t generic_chipsets[] __devinitdata = { | |||
173 | .channels = 2, | 173 | .channels = 2, |
174 | .autodma = NOAUTODMA, | 174 | .autodma = NOAUTODMA, |
175 | .bootable = ON_BOARD, | 175 | .bootable = ON_BOARD, |
176 | },{ /* 14 */ | ||
177 | .name = "Revolution", | ||
178 | .init_hwif = init_hwif_generic, | ||
179 | .channels = 2, | ||
180 | .autodma = AUTODMA, | ||
181 | .bootable = OFF_BOARD, | ||
176 | } | 182 | } |
177 | }; | 183 | }; |
178 | 184 | ||
@@ -231,6 +237,7 @@ static struct pci_device_id generic_pci_tbl[] = { | |||
231 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11}, | 237 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 11}, |
232 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, | 238 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, |
233 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, | 239 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, |
240 | { PCI_VENDOR_ID_NETCELL,PCI_DEVICE_ID_REVOLUTION, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14}, | ||
234 | /* Must come last. If you add entries adjust this table appropriately and the init_one code */ | 241 | /* Must come last. If you add entries adjust this table appropriately and the init_one code */ |
235 | { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0}, | 242 | { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0}, |
236 | { 0, }, | 243 | { 0, }, |
diff --git a/drivers/ide/pci/serverworks.c b/drivers/ide/pci/serverworks.c index c6f5fa4b4ca6..ff2e217a8c84 100644 --- a/drivers/ide/pci/serverworks.c +++ b/drivers/ide/pci/serverworks.c | |||
@@ -21,6 +21,9 @@ | |||
21 | * | 21 | * |
22 | * CSB6: `Champion South Bridge' IDE Interface (optional: third channel) | 22 | * CSB6: `Champion South Bridge' IDE Interface (optional: third channel) |
23 | * | 23 | * |
24 | * HT1000: AKA BCM5785 - Hypertransport Southbridge for Opteron systems. IDE | ||
25 | * controller same as the CSB6. Single channel ATA100 only. | ||
26 | * | ||
24 | * Documentation: | 27 | * Documentation: |
25 | * Available under NDA only. Errata info very hard to get. | 28 | * Available under NDA only. Errata info very hard to get. |
26 | * | 29 | * |
@@ -71,6 +74,8 @@ static u8 svwks_ratemask (ide_drive_t *drive) | |||
71 | if (!svwks_revision) | 74 | if (!svwks_revision) |
72 | pci_read_config_byte(dev, PCI_REVISION_ID, &svwks_revision); | 75 | pci_read_config_byte(dev, PCI_REVISION_ID, &svwks_revision); |
73 | 76 | ||
77 | if (dev->device == PCI_DEVICE_ID_SERVERWORKS_HT1000IDE) | ||
78 | return 2; | ||
74 | if (dev->device == PCI_DEVICE_ID_SERVERWORKS_OSB4IDE) { | 79 | if (dev->device == PCI_DEVICE_ID_SERVERWORKS_OSB4IDE) { |
75 | u32 reg = 0; | 80 | u32 reg = 0; |
76 | if (isa_dev) | 81 | if (isa_dev) |
@@ -109,6 +114,7 @@ static u8 svwks_csb_check (struct pci_dev *dev) | |||
109 | case PCI_DEVICE_ID_SERVERWORKS_CSB5IDE: | 114 | case PCI_DEVICE_ID_SERVERWORKS_CSB5IDE: |
110 | case PCI_DEVICE_ID_SERVERWORKS_CSB6IDE: | 115 | case PCI_DEVICE_ID_SERVERWORKS_CSB6IDE: |
111 | case PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2: | 116 | case PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2: |
117 | case PCI_DEVICE_ID_SERVERWORKS_HT1000IDE: | ||
112 | return 1; | 118 | return 1; |
113 | default: | 119 | default: |
114 | break; | 120 | break; |
@@ -438,6 +444,13 @@ static unsigned int __devinit init_chipset_svwks (struct pci_dev *dev, const cha | |||
438 | btr |= (svwks_revision >= SVWKS_CSB5_REVISION_NEW) ? 0x3 : 0x2; | 444 | btr |= (svwks_revision >= SVWKS_CSB5_REVISION_NEW) ? 0x3 : 0x2; |
439 | pci_write_config_byte(dev, 0x5A, btr); | 445 | pci_write_config_byte(dev, 0x5A, btr); |
440 | } | 446 | } |
447 | /* Setup HT1000 SouthBridge Controller - Single Channel Only */ | ||
448 | else if (dev->device == PCI_DEVICE_ID_SERVERWORKS_HT1000IDE) { | ||
449 | pci_read_config_byte(dev, 0x5A, &btr); | ||
450 | btr &= ~0x40; | ||
451 | btr |= 0x3; | ||
452 | pci_write_config_byte(dev, 0x5A, btr); | ||
453 | } | ||
441 | 454 | ||
442 | return (dev->irq) ? dev->irq : 0; | 455 | return (dev->irq) ? dev->irq : 0; |
443 | } | 456 | } |
@@ -629,6 +642,15 @@ static ide_pci_device_t serverworks_chipsets[] __devinitdata = { | |||
629 | .channels = 1, /* 2 */ | 642 | .channels = 1, /* 2 */ |
630 | .autodma = AUTODMA, | 643 | .autodma = AUTODMA, |
631 | .bootable = ON_BOARD, | 644 | .bootable = ON_BOARD, |
645 | },{ /* 4 */ | ||
646 | .name = "SvrWks HT1000", | ||
647 | .init_setup = init_setup_svwks, | ||
648 | .init_chipset = init_chipset_svwks, | ||
649 | .init_hwif = init_hwif_svwks, | ||
650 | .init_dma = init_dma_svwks, | ||
651 | .channels = 1, /* 2 */ | ||
652 | .autodma = AUTODMA, | ||
653 | .bootable = ON_BOARD, | ||
632 | } | 654 | } |
633 | }; | 655 | }; |
634 | 656 | ||
@@ -653,6 +675,7 @@ static struct pci_device_id svwks_pci_tbl[] = { | |||
653 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, | 675 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB5IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1}, |
654 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, | 676 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 2}, |
655 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, | 677 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 3}, |
678 | { PCI_VENDOR_ID_SERVERWORKS, PCI_DEVICE_ID_SERVERWORKS_HT1000IDE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 4}, | ||
656 | { 0, }, | 679 | { 0, }, |
657 | }; | 680 | }; |
658 | MODULE_DEVICE_TABLE(pci, svwks_pci_tbl); | 681 | MODULE_DEVICE_TABLE(pci, svwks_pci_tbl); |
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index be0fcc8f4b15..ea65b070a367 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -1664,7 +1664,7 @@ static struct macio_driver pmac_ide_macio_driver = | |||
1664 | }; | 1664 | }; |
1665 | 1665 | ||
1666 | static struct pci_device_id pmac_ide_pci_match[] = { | 1666 | static struct pci_device_id pmac_ide_pci_match[] = { |
1667 | { PCI_VENDOR_ID_APPLE, PCI_DEVIEC_ID_APPLE_UNI_N_ATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 1667 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_UNI_N_ATA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
1668 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 1668 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_IPID_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
1669 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 1669 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_K2_ATA100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
1670 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_ATA, | 1670 | { PCI_VENDOR_ID_APPLE, PCI_DEVICE_ID_APPLE_SH_ATA, |
diff --git a/drivers/ide/setup-pci.c b/drivers/ide/setup-pci.c index 77da827b2898..18ed7765417c 100644 --- a/drivers/ide/setup-pci.c +++ b/drivers/ide/setup-pci.c | |||
@@ -229,6 +229,7 @@ second_chance_to_dma: | |||
229 | case PCI_DEVICE_ID_AMD_VIPER_7409: | 229 | case PCI_DEVICE_ID_AMD_VIPER_7409: |
230 | case PCI_DEVICE_ID_CMD_643: | 230 | case PCI_DEVICE_ID_CMD_643: |
231 | case PCI_DEVICE_ID_SERVERWORKS_CSB5IDE: | 231 | case PCI_DEVICE_ID_SERVERWORKS_CSB5IDE: |
232 | case PCI_DEVICE_ID_REVOLUTION: | ||
232 | simplex_stat = hwif->INB(dma_base + 2); | 233 | simplex_stat = hwif->INB(dma_base + 2); |
233 | hwif->OUTB((simplex_stat&0x60),(dma_base + 2)); | 234 | hwif->OUTB((simplex_stat&0x60),(dma_base + 2)); |
234 | simplex_stat = hwif->INB(dma_base + 2); | 235 | simplex_stat = hwif->INB(dma_base + 2); |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 51e61e96051c..927ed487630d 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
@@ -881,7 +881,7 @@ | |||
881 | #define PCI_DEVICE_ID_APPLE_UNI_N_PCI15 0x002e | 881 | #define PCI_DEVICE_ID_APPLE_UNI_N_PCI15 0x002e |
882 | #define PCI_DEVICE_ID_APPLE_UNI_N_FW2 0x0030 | 882 | #define PCI_DEVICE_ID_APPLE_UNI_N_FW2 0x0030 |
883 | #define PCI_DEVICE_ID_APPLE_UNI_N_GMAC2 0x0032 | 883 | #define PCI_DEVICE_ID_APPLE_UNI_N_GMAC2 0x0032 |
884 | #define PCI_DEVIEC_ID_APPLE_UNI_N_ATA 0x0033 | 884 | #define PCI_DEVICE_ID_APPLE_UNI_N_ATA 0x0033 |
885 | #define PCI_DEVICE_ID_APPLE_UNI_N_AGP2 0x0034 | 885 | #define PCI_DEVICE_ID_APPLE_UNI_N_AGP2 0x0034 |
886 | #define PCI_DEVICE_ID_APPLE_IPID_ATA100 0x003b | 886 | #define PCI_DEVICE_ID_APPLE_IPID_ATA100 0x003b |
887 | #define PCI_DEVICE_ID_APPLE_KEYLARGO_I 0x003e | 887 | #define PCI_DEVICE_ID_APPLE_KEYLARGO_I 0x003e |
@@ -1580,6 +1580,7 @@ | |||
1580 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 0x0211 | 1580 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4IDE 0x0211 |
1581 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 0x0212 | 1581 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5IDE 0x0212 |
1582 | #define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE 0x0213 | 1582 | #define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE 0x0213 |
1583 | #define PCI_DEVICE_ID_SERVERWORKS_HT1000IDE 0x0214 | ||
1583 | #define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2 0x0217 | 1584 | #define PCI_DEVICE_ID_SERVERWORKS_CSB6IDE2 0x0217 |
1584 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 0x0220 | 1585 | #define PCI_DEVICE_ID_SERVERWORKS_OSB4USB 0x0220 |
1585 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5USB PCI_DEVICE_ID_SERVERWORKS_OSB4USB | 1586 | #define PCI_DEVICE_ID_SERVERWORKS_CSB5USB PCI_DEVICE_ID_SERVERWORKS_OSB4USB |
@@ -2184,6 +2185,9 @@ | |||
2184 | #define PCI_VENDOR_ID_SIBYTE 0x166d | 2185 | #define PCI_VENDOR_ID_SIBYTE 0x166d |
2185 | #define PCI_DEVICE_ID_BCM1250_HT 0x0002 | 2186 | #define PCI_DEVICE_ID_BCM1250_HT 0x0002 |
2186 | 2187 | ||
2188 | #define PCI_VENDOR_ID_NETCELL 0x169c | ||
2189 | #define PCI_DEVICE_ID_REVOLUTION 0x0044 | ||
2190 | |||
2187 | #define PCI_VENDOR_ID_LINKSYS 0x1737 | 2191 | #define PCI_VENDOR_ID_LINKSYS 0x1737 |
2188 | #define PCI_DEVICE_ID_LINKSYS_EG1032 0x1032 | 2192 | #define PCI_DEVICE_ID_LINKSYS_EG1032 0x1032 |
2189 | #define PCI_DEVICE_ID_LINKSYS_EG1064 0x1064 | 2193 | #define PCI_DEVICE_ID_LINKSYS_EG1064 0x1064 |