|
@@ -61,6 +61,7 @@ enum board_ids {
|
|
/* board IDs by feature in alphabetical order */
|
|
/* board IDs by feature in alphabetical order */
|
|
board_ahci,
|
|
board_ahci,
|
|
board_ahci_ign_iferr,
|
|
board_ahci_ign_iferr,
|
|
|
|
+ board_ahci_noncq,
|
|
board_ahci_nosntf,
|
|
board_ahci_nosntf,
|
|
board_ahci_yes_fbs,
|
|
board_ahci_yes_fbs,
|
|
|
|
|
|
@@ -121,6 +122,13 @@ static const struct ata_port_info ahci_port_info[] = {
|
|
.udma_mask = ATA_UDMA6,
|
|
.udma_mask = ATA_UDMA6,
|
|
.port_ops = &ahci_ops,
|
|
.port_ops = &ahci_ops,
|
|
},
|
|
},
|
|
|
|
+ [board_ahci_noncq] = {
|
|
|
|
+ AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ),
|
|
|
|
+ .flags = AHCI_FLAG_COMMON,
|
|
|
|
+ .pio_mask = ATA_PIO4,
|
|
|
|
+ .udma_mask = ATA_UDMA6,
|
|
|
|
+ .port_ops = &ahci_ops,
|
|
|
|
+ },
|
|
[board_ahci_nosntf] = {
|
|
[board_ahci_nosntf] = {
|
|
AHCI_HFLAGS (AHCI_HFLAG_NO_SNTF),
|
|
AHCI_HFLAGS (AHCI_HFLAG_NO_SNTF),
|
|
.flags = AHCI_FLAG_COMMON,
|
|
.flags = AHCI_FLAG_COMMON,
|
|
@@ -452,6 +460,12 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
|
{ PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */
|
|
{ PCI_VDEVICE(ASMEDIA, 0x0611), board_ahci }, /* ASM1061 */
|
|
{ PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */
|
|
{ PCI_VDEVICE(ASMEDIA, 0x0612), board_ahci }, /* ASM1062 */
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Samsung SSDs found on some macbooks. NCQ times out.
|
|
|
|
+ * https://bugzilla.kernel.org/show_bug.cgi?id=60731
|
|
|
|
+ */
|
|
|
|
+ { PCI_VDEVICE(SAMSUNG, 0x1600), board_ahci_noncq },
|
|
|
|
+
|
|
/* Enmotus */
|
|
/* Enmotus */
|
|
{ PCI_DEVICE(0x1c44, 0x8000), board_ahci },
|
|
{ PCI_DEVICE(0x1c44, 0x8000), board_ahci },
|
|
|
|
|