aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2006-02-24 23:52:30 -0500
committerJeff Garzik <jeff@garzik.org>2006-02-25 16:52:31 -0500
commit0ee304d5802dc62746f13f12d4cb4ec4ed285f66 (patch)
treef3f7924305c78b714e671e8525de5c1eb02dd268 /drivers
parenta0124d780d06db711e8a92135d774940588a27da (diff)
[PATCH] sata_sil: add board ID for 3512
3512 is slightly different from 3112 errata-wise. Differentiate it. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/scsi/sata_sil.c21
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);
90static const struct pci_device_id sil_pci_tbl[] = { 91static 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 |