update atp870u driver to 0.78 from D-Link source
[linux-2.4.git] / drivers / ide / pci / siimage.h
1 #ifndef SIIMAGE_H
2 #define SIIMAGE_H
3
4 #include <linux/config.h>
5 #include <linux/pci.h>
6 #include <linux/ide.h>
7
8 #include <asm/io.h>
9
10 #define DISPLAY_SIIMAGE_TIMINGS
11
12 #undef SIIMAGE_VIRTUAL_DMAPIO
13 #undef SIIMAGE_BUFFERED_TASKFILE
14 #undef SIIMAGE_LARGE_DMA
15
16 #define SII_DEBUG 0
17
18 #if SII_DEBUG
19 #define siiprintk(x...) printk(x)
20 #else
21 #define siiprintk(x...)
22 #endif
23
24
25 #if defined(DISPLAY_SIIMAGE_TIMINGS) && defined(CONFIG_PROC_FS)
26 #include <linux/stat.h>
27 #include <linux/proc_fs.h>
28
29 static char * print_siimage_get_info(char *, struct pci_dev *, int);
30 static int siimage_get_info(char *, char **, off_t, int);
31
32 static u8 siimage_proc;
33
34 static ide_pci_host_proc_t siimage_procs[] __initdata = {
35         {
36                 .name           = "siimage",
37                 .set            = 1,
38                 .get_info       = siimage_get_info,
39                 .parent         = NULL,
40         },
41 };
42 #endif /* DISPLAY_SIIMAGE_TIMINGS && CONFIG_PROC_FS */  
43
44 static unsigned int init_chipset_siimage(struct pci_dev *, const char *);
45 static void init_iops_siimage(ide_hwif_t *);
46 static void init_hwif_siimage(ide_hwif_t *);
47 static void init_dma_siimage(ide_hwif_t *, unsigned long);
48
49 static ide_pci_device_t siimage_chipsets[] __devinitdata = {
50         {       /* 0 */
51                 .vendor         = PCI_VENDOR_ID_CMD,
52                 .device         = PCI_DEVICE_ID_SII_680,
53                 .name           = "SiI680",
54                 .init_chipset   = init_chipset_siimage,
55                 .init_iops      = init_iops_siimage,
56                 .init_hwif      = init_hwif_siimage,
57                 .init_dma       = init_dma_siimage,
58                 .channels       = 2,
59                 .autodma        = AUTODMA,
60                 .enablebits     = {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
61                 .bootable       = ON_BOARD,
62                 .extra          = 0,
63         },{     /* 1 */
64                 .vendor         = PCI_VENDOR_ID_CMD,
65                 .device         = PCI_DEVICE_ID_SII_3112,
66                 .name           = "SiI3112 Serial ATA",
67                 .init_chipset   = init_chipset_siimage,
68                 .init_iops      = init_iops_siimage,
69                 .init_hwif      = init_hwif_siimage,
70                 .init_dma       = init_dma_siimage,
71                 .channels       = 2,
72                 .autodma        = AUTODMA,
73                 .enablebits     = {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
74                 .bootable       = ON_BOARD,
75                 .extra          = 0,
76         },{     /* 2 */
77                 .vendor         = PCI_VENDOR_ID_CMD,
78                 .device         = PCI_DEVICE_ID_SII_1210SA,
79                 .name           = "Adaptec AAR-1210SA",
80                 .init_chipset   = init_chipset_siimage,
81                 .init_iops      = init_iops_siimage,
82                 .init_hwif      = init_hwif_siimage,
83                 .init_dma       = init_dma_siimage,
84                 .channels       = 2,
85                 .autodma        = AUTODMA,
86                 .enablebits     = {{0x00,0x00,0x00}, {0x00,0x00,0x00}},
87                 .bootable       = ON_BOARD,
88                 .extra          = 0,
89         },{
90                 .vendor         = 0,
91                 .device         = 0,
92                 .channels       = 0,
93                 .bootable       = EOL,
94         }
95 };
96
97 #endif /* SIIMAGE_H */