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 const char *svwks_bad_ata100
[] = {
24 #define DISPLAY_SVWKS_TIMINGS 1
26 static void init_setup_svwks(struct pci_dev
*, ide_pci_device_t
*);
27 static void init_setup_csb6(struct pci_dev
*, ide_pci_device_t
*);
28 static unsigned int init_chipset_svwks(struct pci_dev
*, const char *);
29 static void init_hwif_svwks(ide_hwif_t
*);
30 static void init_dma_svwks(ide_hwif_t
*, unsigned long);
32 static ide_pci_device_t serverworks_chipsets
[] __devinitdata
= {
34 .name
= "SvrWks OSB4",
35 .init_setup
= init_setup_svwks
,
36 .init_chipset
= init_chipset_svwks
,
37 .init_hwif
= init_hwif_svwks
,
42 .name
= "SvrWks CSB5",
43 .init_setup
= init_setup_svwks
,
44 .init_chipset
= init_chipset_svwks
,
45 .init_hwif
= init_hwif_svwks
,
46 .init_dma
= init_dma_svwks
,
51 .name
= "SvrWks CSB6",
52 .init_setup
= init_setup_csb6
,
53 .init_chipset
= init_chipset_svwks
,
54 .init_hwif
= init_hwif_svwks
,
55 .init_dma
= init_dma_svwks
,
60 .name
= "SvrWks CSB6",
61 .init_setup
= init_setup_csb6
,
62 .init_chipset
= init_chipset_svwks
,
63 .init_hwif
= init_hwif_svwks
,
64 .init_dma
= init_dma_svwks
,
65 .channels
= 1, /* 2 */
71 #endif /* SERVERWORKS_H */