diff options
Diffstat (limited to 'drivers/ide/pci/generic.c')
-rw-r--r-- | drivers/ide/pci/generic.c | 148 |
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 | ||
89 | static ide_pci_device_t generic_chipsets[] __devinitdata = { | 82 | static 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 | ||