diff options
-rw-r--r-- | drivers/scsi/sata_sil.c | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/drivers/scsi/sata_sil.c b/drivers/scsi/sata_sil.c index 17f74d3c10e7..510c2e0bd90e 100644 --- a/drivers/scsi/sata_sil.c +++ b/drivers/scsi/sata_sil.c | |||
@@ -53,7 +53,8 @@ enum { | |||
53 | 53 | ||
54 | sil_3112 = 0, | 54 | sil_3112 = 0, |
55 | sil_3112_m15w = 1, | 55 | sil_3112_m15w = 1, |
56 | sil_3114 = 2, | 56 | sil_3512 = 2, |
57 | sil_3114 = 3, | ||
57 | 58 | ||
58 | SIL_FIFO_R0 = 0x40, | 59 | SIL_FIFO_R0 = 0x40, |
59 | SIL_FIFO_W0 = 0x41, | 60 | SIL_FIFO_W0 = 0x41, |
@@ -90,7 +91,7 @@ static void sil_post_set_mode (struct ata_port *ap); | |||
90 | static const struct pci_device_id sil_pci_tbl[] = { | 91 | static const struct pci_device_id sil_pci_tbl[] = { |
91 | { 0x1095, 0x3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, | 92 | { 0x1095, 0x3112, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, |
92 | { 0x1095, 0x0240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, | 93 | { 0x1095, 0x0240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, |
93 | { 0x1095, 0x3512, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112 }, | 94 | { 0x1095, 0x3512, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3512 }, |
94 | { 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 }, | 95 | { 0x1095, 0x3114, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3114 }, |
95 | { 0x1002, 0x436e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, | 96 | { 0x1002, 0x436e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, |
96 | { 0x1002, 0x4379, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, | 97 | { 0x1002, 0x4379, PCI_ANY_ID, PCI_ANY_ID, 0, 0, sil_3112_m15w }, |
@@ -185,7 +186,8 @@ static const struct ata_port_info sil_port_info[] = { | |||
185 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 186 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
186 | .udma_mask = 0x3f, /* udma0-5 */ | 187 | .udma_mask = 0x3f, /* udma0-5 */ |
187 | .port_ops = &sil_ops, | 188 | .port_ops = &sil_ops, |
188 | }, /* sil_3112_15w - keep it sync'd w/ sil_3112 */ | 189 | }, |
190 | /* sil_3112_15w - keep it sync'd w/ sil_3112 */ | ||
189 | { | 191 | { |
190 | .sht = &sil_sht, | 192 | .sht = &sil_sht, |
191 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 193 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |
@@ -195,7 +197,18 @@ static const struct ata_port_info sil_port_info[] = { | |||
195 | .mwdma_mask = 0x07, /* mwdma0-2 */ | 197 | .mwdma_mask = 0x07, /* mwdma0-2 */ |
196 | .udma_mask = 0x3f, /* udma0-5 */ | 198 | .udma_mask = 0x3f, /* udma0-5 */ |
197 | .port_ops = &sil_ops, | 199 | .port_ops = &sil_ops, |
198 | }, /* sil_3114 */ | 200 | }, |
201 | /* sil_3512 */ | ||
202 | { | ||
203 | .sht = &sil_sht, | ||
204 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | ||
205 | ATA_FLAG_SRST | ATA_FLAG_MMIO, | ||
206 | .pio_mask = 0x1f, /* pio0-4 */ | ||
207 | .mwdma_mask = 0x07, /* mwdma0-2 */ | ||
208 | .udma_mask = 0x3f, /* udma0-5 */ | ||
209 | .port_ops = &sil_ops, | ||
210 | }, | ||
211 | /* sil_3114 */ | ||
199 | { | 212 | { |
200 | .sht = &sil_sht, | 213 | .sht = &sil_sht, |
201 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | | 214 | .host_flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | |