5 #include <linux/config.h>
9 #undef SVWKS_DEBUG_DRIVE_INFO
11 #define SVWKS_CSB5_REVISION_NEW 0x92 /* min PCI_REVISION_ID for UDMA5 (A2.0) */
12 #define SVWKS_CSB6_REVISION 0xa0 /* min PCI_REVISION_ID for UDMA4 (A1.0) */
14 /* Seagate Barracuda ATA IV Family drives in UDMA mode 5
15 * can overrun their FIFOs when used with the CSB5 */
16 static const char *svwks_bad_ata100[] = {
24 static void init_setup_svwks(struct pci_dev *, ide_pci_device_t *);
25 static void init_setup_csb6(struct pci_dev *, ide_pci_device_t *);
26 static unsigned int init_chipset_svwks(struct pci_dev *, const char *);
27 static void init_hwif_svwks(ide_hwif_t *);
28 static void init_dma_svwks(ide_hwif_t *, unsigned long);
30 static ide_pci_device_t serverworks_chipsets[] __devinitdata = {
32 .name = "SvrWks OSB4",
33 .init_setup = init_setup_svwks,
34 .init_chipset = init_chipset_svwks,
35 .init_hwif = init_hwif_svwks,
40 .name = "SvrWks CSB5",
41 .init_setup = init_setup_svwks,
42 .init_chipset = init_chipset_svwks,
43 .init_hwif = init_hwif_svwks,
44 .init_dma = init_dma_svwks,
49 .name = "SvrWks CSB6",
50 .init_setup = init_setup_csb6,
51 .init_chipset = init_chipset_svwks,
52 .init_hwif = init_hwif_svwks,
53 .init_dma = init_dma_svwks,
58 .name = "SvrWks CSB6",
59 .init_setup = init_setup_csb6,
60 .init_chipset = init_chipset_svwks,
61 .init_hwif = init_hwif_svwks,
62 .init_dma = init_dma_svwks,
63 .channels = 1, /* 2 */
69 #endif /* SERVERWORKS_H */