diff options
Diffstat (limited to 'drivers/ata/ata_piix.c')
-rw-r--r-- | drivers/ata/ata_piix.c | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 4fad8d2382ca..8385387c49cd 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
@@ -126,8 +126,7 @@ enum { | |||
126 | ich6_sata = 7, | 126 | ich6_sata = 7, |
127 | ich6_sata_ahci = 8, | 127 | ich6_sata_ahci = 8, |
128 | ich6m_sata_ahci = 9, | 128 | ich6m_sata_ahci = 9, |
129 | ich7m_sata_ahci = 10, | 129 | ich8_sata_ahci = 10, |
130 | ich8_sata_ahci = 11, | ||
131 | 130 | ||
132 | /* constants for mapping table */ | 131 | /* constants for mapping table */ |
133 | P0 = 0, /* port 0 */ | 132 | P0 = 0, /* port 0 */ |
@@ -228,7 +227,7 @@ static const struct pci_device_id piix_pci_tbl[] = { | |||
228 | /* 82801GB/GR/GH (ICH7, identical to ICH6) */ | 227 | /* 82801GB/GR/GH (ICH7, identical to ICH6) */ |
229 | { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, | 228 | { 0x8086, 0x27c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
230 | /* 2801GBM/GHM (ICH7M, identical to ICH6M) */ | 229 | /* 2801GBM/GHM (ICH7M, identical to ICH6M) */ |
231 | { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich7m_sata_ahci }, | 230 | { 0x8086, 0x27c4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6m_sata_ahci }, |
232 | /* Enterprise Southbridge 2 (where's the datasheet?) */ | 231 | /* Enterprise Southbridge 2 (where's the datasheet?) */ |
233 | { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, | 232 | { 0x8086, 0x2680, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich6_sata_ahci }, |
234 | /* SATA Controller 1 IDE (ICH8, no datasheet yet) */ | 233 | /* SATA Controller 1 IDE (ICH8, no datasheet yet) */ |
@@ -400,23 +399,10 @@ static const struct piix_map_db ich6m_map_db = { | |||
400 | .mask = 0x3, | 399 | .mask = 0x3, |
401 | .port_enable = 0x5, | 400 | .port_enable = 0x5, |
402 | .present_shift = 4, | 401 | .present_shift = 4, |
403 | .map = { | ||
404 | /* PM PS SM SS MAP */ | ||
405 | { P0, P2, RV, RV }, /* 00b */ | ||
406 | { RV, RV, RV, RV }, | ||
407 | { P0, P2, IDE, IDE }, /* 10b */ | ||
408 | { RV, RV, RV, RV }, | ||
409 | }, | ||
410 | }; | ||
411 | |||
412 | static const struct piix_map_db ich7m_map_db = { | ||
413 | .mask = 0x3, | ||
414 | .port_enable = 0x5, | ||
415 | .present_shift = 4, | ||
416 | 402 | ||
417 | /* Map 01b isn't specified in the doc but some notebooks use | 403 | /* Map 01b isn't specified in the doc but some notebooks use |
418 | * it anyway. ATM, the only case spotted carries subsystem ID | 404 | * it anyway. MAP 01b have been spotted on both ICH6M and |
419 | * 1025:0107. This is the only difference from ich6m. | 405 | * ICH7M. |
420 | */ | 406 | */ |
421 | .map = { | 407 | .map = { |
422 | /* PM PS SM SS MAP */ | 408 | /* PM PS SM SS MAP */ |
@@ -446,7 +432,6 @@ static const struct piix_map_db *piix_map_db_table[] = { | |||
446 | [ich6_sata] = &ich6_map_db, | 432 | [ich6_sata] = &ich6_map_db, |
447 | [ich6_sata_ahci] = &ich6_map_db, | 433 | [ich6_sata_ahci] = &ich6_map_db, |
448 | [ich6m_sata_ahci] = &ich6m_map_db, | 434 | [ich6m_sata_ahci] = &ich6m_map_db, |
449 | [ich7m_sata_ahci] = &ich7m_map_db, | ||
450 | [ich8_sata_ahci] = &ich8_map_db, | 435 | [ich8_sata_ahci] = &ich8_map_db, |
451 | }; | 436 | }; |
452 | 437 | ||
@@ -557,19 +542,7 @@ static struct ata_port_info piix_port_info[] = { | |||
557 | .port_ops = &piix_sata_ops, | 542 | .port_ops = &piix_sata_ops, |
558 | }, | 543 | }, |
559 | 544 | ||
560 | /* ich7m_sata_ahci: 10 */ | 545 | /* ich8_sata_ahci: 10 */ |
561 | { | ||
562 | .sht = &piix_sht, | ||
563 | .flags = ATA_FLAG_SATA | | ||
564 | PIIX_FLAG_CHECKINTR | PIIX_FLAG_SCR | | ||
565 | PIIX_FLAG_AHCI, | ||
566 | .pio_mask = 0x1f, /* pio0-4 */ | ||
567 | .mwdma_mask = 0x07, /* mwdma0-2 */ | ||
568 | .udma_mask = 0x7f, /* udma0-6 */ | ||
569 | .port_ops = &piix_sata_ops, | ||
570 | }, | ||
571 | |||
572 | /* ich8_sata_ahci: 11 */ | ||
573 | { | 546 | { |
574 | .sht = &piix_sht, | 547 | .sht = &piix_sht, |
575 | .flags = ATA_FLAG_SATA | | 548 | .flags = ATA_FLAG_SATA | |