diff options
| -rw-r--r-- | drivers/ata/ahci.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index 5f039f191067..ef4b647b3ed2 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
| @@ -60,6 +60,7 @@ enum board_ids { | |||
| 60 | /* board IDs by feature in alphabetical order */ | 60 | /* board IDs by feature in alphabetical order */ |
| 61 | board_ahci, | 61 | board_ahci, |
| 62 | board_ahci_ign_iferr, | 62 | board_ahci_ign_iferr, |
| 63 | board_ahci_nomsi, | ||
| 63 | board_ahci_noncq, | 64 | board_ahci_noncq, |
| 64 | board_ahci_nosntf, | 65 | board_ahci_nosntf, |
| 65 | board_ahci_yes_fbs, | 66 | board_ahci_yes_fbs, |
| @@ -121,6 +122,13 @@ static const struct ata_port_info ahci_port_info[] = { | |||
| 121 | .udma_mask = ATA_UDMA6, | 122 | .udma_mask = ATA_UDMA6, |
| 122 | .port_ops = &ahci_ops, | 123 | .port_ops = &ahci_ops, |
| 123 | }, | 124 | }, |
| 125 | [board_ahci_nomsi] = { | ||
| 126 | AHCI_HFLAGS (AHCI_HFLAG_NO_MSI), | ||
| 127 | .flags = AHCI_FLAG_COMMON, | ||
| 128 | .pio_mask = ATA_PIO4, | ||
| 129 | .udma_mask = ATA_UDMA6, | ||
| 130 | .port_ops = &ahci_ops, | ||
| 131 | }, | ||
| 124 | [board_ahci_noncq] = { | 132 | [board_ahci_noncq] = { |
| 125 | AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ), | 133 | AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ), |
| 126 | .flags = AHCI_FLAG_COMMON, | 134 | .flags = AHCI_FLAG_COMMON, |
| @@ -475,10 +483,10 @@ static const struct pci_device_id ahci_pci_tbl[] = { | |||
| 475 | { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */ | 483 | { PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */ |
| 476 | 484 | ||
| 477 | /* | 485 | /* |
| 478 | * Samsung SSDs found on some macbooks. NCQ times out. | 486 | * Samsung SSDs found on some macbooks. NCQ times out if MSI is |
| 479 | * https://bugzilla.kernel.org/show_bug.cgi?id=60731 | 487 | * enabled. https://bugzilla.kernel.org/show_bug.cgi?id=60731 |
| 480 | */ | 488 | */ |
| 481 | { PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_noncq }, | 489 | { PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_nomsi }, |
| 482 | 490 | ||
| 483 | /* Enmotus */ | 491 | /* Enmotus */ |
| 484 | { PCI_DEVICE(0x1c44, 0x8000), board_ahci }, | 492 | { PCI_DEVICE(0x1c44, 0x8000), board_ahci }, |
