aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/ide/pci/generic.c')
-rw-r--r--drivers/ide/pci/generic.c148
1 files changed, 47 insertions, 101 deletions
diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c
index cce6311b02d..51165832e7f 100644
--- a/drivers/ide/pci/generic.c
+++ b/drivers/ide/pci/generic.c
@@ -65,119 +65,65 @@ static void __devinit init_hwif_generic (ide_hwif_t *hwif)
65 default: 65 default:
66 break; 66 break;
67 } 67 }
68
69 if (!(hwif->dma_base))
70 return;
71
72 hwif->atapi_dma = 1;
73 hwif->ultra_mask = 0x7f;
74 hwif->mwdma_mask = 0x07;
75 hwif->swdma_mask = 0x07;
76} 68}
77 69
78#if 0 70#define DECLARE_GENERIC_PCI_DEV(name_str, dma_setting) \
79 /* Logic to add back later on */ 71 { \
80 72 .name = name_str, \
81 if ((dev->class >> 8) == PCI_CLASS_STORAGE_IDE) { 73 .init_hwif = init_hwif_generic, \
82 ide_pci_device_t *unknown = unknown_chipset; 74 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA | \
83 init_setup_unknown(dev, unknown); 75 dma_setting | \
84 return 1; 76 IDE_HFLAG_BOOTABLE, \
77 .swdma_mask = ATA_SWDMA2, \
78 .mwdma_mask = ATA_MWDMA2, \
79 .udma_mask = ATA_UDMA6, \
85 } 80 }
86 return 0;
87#endif
88 81
89static ide_pci_device_t generic_chipsets[] __devinitdata = { 82static ide_pci_device_t generic_chipsets[] __devinitdata = {
90 { /* 0 */ 83 /* 0 */ DECLARE_GENERIC_PCI_DEV("Unknown", 0),
91 .name = "Unknown", 84
92 .init_hwif = init_hwif_generic, 85 { /* 1 */
93 .autodma = AUTODMA,
94 .bootable = ON_BOARD,
95 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
96 },{ /* 1 */
97 .name = "NS87410", 86 .name = "NS87410",
98 .init_hwif = init_hwif_generic, 87 .init_hwif = init_hwif_generic,
99 .autodma = AUTODMA,
100 .enablebits = {{0x43,0x08,0x08}, {0x47,0x08,0x08}}, 88 .enablebits = {{0x43,0x08,0x08}, {0x47,0x08,0x08}},
101 .bootable = ON_BOARD, 89 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA |
102 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, 90 IDE_HFLAG_BOOTABLE,
103 },{ /* 2 */ 91 .swdma_mask = ATA_SWDMA2,
104 .name = "SAMURAI", 92 .mwdma_mask = ATA_MWDMA2,
105 .init_hwif = init_hwif_generic, 93 .udma_mask = ATA_UDMA6,
106 .autodma = AUTODMA, 94 },
107 .bootable = ON_BOARD, 95
108 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, 96 /* 2 */ DECLARE_GENERIC_PCI_DEV("SAMURAI", 0),
109 },{ /* 3 */ 97 /* 3 */ DECLARE_GENERIC_PCI_DEV("HT6565", 0),
110 .name = "HT6565", 98 /* 4 */ DECLARE_GENERIC_PCI_DEV("UM8673F", IDE_HFLAG_NO_DMA),
111 .init_hwif = init_hwif_generic, 99 /* 5 */ DECLARE_GENERIC_PCI_DEV("UM8886A", IDE_HFLAG_NO_DMA),
112 .autodma = AUTODMA, 100 /* 6 */ DECLARE_GENERIC_PCI_DEV("UM8886BF", IDE_HFLAG_NO_DMA),
113 .bootable = ON_BOARD, 101 /* 7 */ DECLARE_GENERIC_PCI_DEV("HINT_IDE", 0),
114 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, 102 /* 8 */ DECLARE_GENERIC_PCI_DEV("VIA_IDE", IDE_HFLAG_NO_AUTODMA),
115 },{ /* 4 */ 103 /* 9 */ DECLARE_GENERIC_PCI_DEV("OPTI621V", IDE_HFLAG_NO_AUTODMA),
116 .name = "UM8673F", 104
117 .init_hwif = init_hwif_generic, 105 { /* 10 */
118 .autodma = NODMA,
119 .bootable = ON_BOARD,
120 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
121 },{ /* 5 */
122 .name = "UM8886A",
123 .init_hwif = init_hwif_generic,
124 .autodma = NODMA,
125 .bootable = ON_BOARD,
126 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
127 },{ /* 6 */
128 .name = "UM8886BF",
129 .init_hwif = init_hwif_generic,
130 .autodma = NODMA,
131 .bootable = ON_BOARD,
132 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
133 },{ /* 7 */
134 .name = "HINT_IDE",
135 .init_hwif = init_hwif_generic,
136 .autodma = AUTODMA,
137 .bootable = ON_BOARD,
138 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
139 },{ /* 8 */
140 .name = "VIA_IDE",
141 .init_hwif = init_hwif_generic,
142 .autodma = NOAUTODMA,
143 .bootable = ON_BOARD,
144 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
145 },{ /* 9 */
146 .name = "OPTI621V",
147 .init_hwif = init_hwif_generic,
148 .autodma = NOAUTODMA,
149 .bootable = ON_BOARD,
150 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
151 },{ /* 10 */
152 .name = "VIA8237SATA", 106 .name = "VIA8237SATA",
153 .init_hwif = init_hwif_generic, 107 .init_hwif = init_hwif_generic,
154 .autodma = AUTODMA, 108 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA |
155 .bootable = OFF_BOARD, 109 IDE_HFLAG_OFF_BOARD,
156 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, 110 .swdma_mask = ATA_SWDMA2,
157 },{ /* 11 */ 111 .mwdma_mask = ATA_MWDMA2,
158 .name = "Piccolo0102", 112 .udma_mask = ATA_UDMA6,
159 .init_hwif = init_hwif_generic, 113 },
160 .autodma = NOAUTODMA, 114
161 .bootable = ON_BOARD, 115 /* 11 */ DECLARE_GENERIC_PCI_DEV("Piccolo0102", IDE_HFLAG_NO_AUTODMA),
162 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, 116 /* 12 */ DECLARE_GENERIC_PCI_DEV("Piccolo0103", IDE_HFLAG_NO_AUTODMA),
163 },{ /* 12 */ 117 /* 13 */ DECLARE_GENERIC_PCI_DEV("Piccolo0105", IDE_HFLAG_NO_AUTODMA),
164 .name = "Piccolo0103", 118
165 .init_hwif = init_hwif_generic, 119 { /* 14 */
166 .autodma = NOAUTODMA,
167 .bootable = ON_BOARD,
168 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
169 },{ /* 13 */
170 .name = "Piccolo0105",
171 .init_hwif = init_hwif_generic,
172 .autodma = NOAUTODMA,
173 .bootable = ON_BOARD,
174 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA,
175 },{ /* 14 */
176 .name = "Revolution", 120 .name = "Revolution",
177 .init_hwif = init_hwif_generic, 121 .init_hwif = init_hwif_generic,
178 .autodma = AUTODMA, 122 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA |
179 .bootable = OFF_BOARD, 123 IDE_HFLAG_OFF_BOARD,
180 .host_flags = IDE_HFLAG_TRUST_BIOS_FOR_DMA, 124 .swdma_mask = ATA_SWDMA2,
125 .mwdma_mask = ATA_MWDMA2,
126 .udma_mask = ATA_UDMA6,
181 } 127 }
182}; 128};
183 129