aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/ahci.c2
-rw-r--r--drivers/ata/libata-pmp.c16
-rw-r--r--drivers/ata/sata_nv.c5
-rw-r--r--drivers/ata/sata_sil.c5
-rw-r--r--include/linux/libata.h1
5 files changed, 1 insertions, 28 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index f6bbd52b1547..66d6c8821087 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -416,7 +416,7 @@ static const struct ata_port_info ahci_port_info[] = {
416 { 416 {
417 AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_PMP), 417 AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_PMP),
418 .flags = AHCI_FLAG_COMMON, 418 .flags = AHCI_FLAG_COMMON,
419 .link_flags = AHCI_LFLAG_COMMON | ATA_LFLAG_HRST_TO_RESUME, 419 .link_flags = AHCI_LFLAG_COMMON,
420 .pio_mask = 0x1f, /* pio0-4 */ 420 .pio_mask = 0x1f, /* pio0-4 */
421 .udma_mask = ATA_UDMA6, 421 .udma_mask = ATA_UDMA6,
422 .port_ops = &ahci_vt8251_ops, 422 .port_ops = &ahci_vt8251_ops,
diff --git a/drivers/ata/libata-pmp.c b/drivers/ata/libata-pmp.c
index 8439fc8efdd6..7f8bcffa81ad 100644
--- a/drivers/ata/libata-pmp.c
+++ b/drivers/ata/libata-pmp.c
@@ -453,9 +453,6 @@ static void sata_pmp_quirks(struct ata_port *ap)
453 if (vendor == 0x1095 && devid == 0x3726) { 453 if (vendor == 0x1095 && devid == 0x3726) {
454 /* sil3726 quirks */ 454 /* sil3726 quirks */
455 ata_port_for_each_link(link, ap) { 455 ata_port_for_each_link(link, ap) {
456 /* SError.N need a kick in the ass to get working */
457 link->flags |= ATA_LFLAG_HRST_TO_RESUME;
458
459 /* class code report is unreliable */ 456 /* class code report is unreliable */
460 if (link->pmp < 5) 457 if (link->pmp < 5)
461 link->flags |= ATA_LFLAG_ASSUME_ATA; 458 link->flags |= ATA_LFLAG_ASSUME_ATA;
@@ -468,9 +465,6 @@ static void sata_pmp_quirks(struct ata_port *ap)
468 } else if (vendor == 0x1095 && devid == 0x4723) { 465 } else if (vendor == 0x1095 && devid == 0x4723) {
469 /* sil4723 quirks */ 466 /* sil4723 quirks */
470 ata_port_for_each_link(link, ap) { 467 ata_port_for_each_link(link, ap) {
471 /* SError.N need a kick in the ass to get working */
472 link->flags |= ATA_LFLAG_HRST_TO_RESUME;
473
474 /* class code report is unreliable */ 468 /* class code report is unreliable */
475 if (link->pmp < 2) 469 if (link->pmp < 2)
476 link->flags |= ATA_LFLAG_ASSUME_ATA; 470 link->flags |= ATA_LFLAG_ASSUME_ATA;
@@ -483,9 +477,6 @@ static void sata_pmp_quirks(struct ata_port *ap)
483 } else if (vendor == 0x1095 && devid == 0x4726) { 477 } else if (vendor == 0x1095 && devid == 0x4726) {
484 /* sil4726 quirks */ 478 /* sil4726 quirks */
485 ata_port_for_each_link(link, ap) { 479 ata_port_for_each_link(link, ap) {
486 /* SError.N need a kick in the ass to get working */
487 link->flags |= ATA_LFLAG_HRST_TO_RESUME;
488
489 /* Class code report is unreliable and SRST 480 /* Class code report is unreliable and SRST
490 * times out under certain configurations. 481 * times out under certain configurations.
491 * Config device can be at port 0 or 5 and 482 * Config device can be at port 0 or 5 and
@@ -513,13 +504,6 @@ static void sata_pmp_quirks(struct ata_port *ap)
513 * otherwise. Don't try hard to recover it. 504 * otherwise. Don't try hard to recover it.
514 */ 505 */
515 ap->pmp_link[ap->nr_pmp_links - 1].flags |= ATA_LFLAG_NO_RETRY; 506 ap->pmp_link[ap->nr_pmp_links - 1].flags |= ATA_LFLAG_NO_RETRY;
516 } else if (vendor == 0x11ab && devid == 0x4140) {
517 /* Marvell 88SM4140 quirks. Fan-out ports require PHY
518 * reset to work; other than that, it behaves very
519 * nicely.
520 */
521 ata_port_for_each_link(link, ap)
522 link->flags |= ATA_LFLAG_HRST_TO_RESUME;
523 } 507 }
524} 508}
525 509
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c
index ce02e15c857c..75b76535c720 100644
--- a/drivers/ata/sata_nv.c
+++ b/drivers/ata/sata_nv.c
@@ -579,7 +579,6 @@ static const struct ata_port_info nv_port_info[] = {
579 { 579 {
580 .sht = &nv_sht, 580 .sht = &nv_sht,
581 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, 581 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY,
582 .link_flags = ATA_LFLAG_HRST_TO_RESUME,
583 .pio_mask = NV_PIO_MASK, 582 .pio_mask = NV_PIO_MASK,
584 .mwdma_mask = NV_MWDMA_MASK, 583 .mwdma_mask = NV_MWDMA_MASK,
585 .udma_mask = NV_UDMA_MASK, 584 .udma_mask = NV_UDMA_MASK,
@@ -590,7 +589,6 @@ static const struct ata_port_info nv_port_info[] = {
590 { 589 {
591 .sht = &nv_sht, 590 .sht = &nv_sht,
592 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, 591 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY,
593 .link_flags = ATA_LFLAG_HRST_TO_RESUME,
594 .pio_mask = NV_PIO_MASK, 592 .pio_mask = NV_PIO_MASK,
595 .mwdma_mask = NV_MWDMA_MASK, 593 .mwdma_mask = NV_MWDMA_MASK,
596 .udma_mask = NV_UDMA_MASK, 594 .udma_mask = NV_UDMA_MASK,
@@ -601,7 +599,6 @@ static const struct ata_port_info nv_port_info[] = {
601 { 599 {
602 .sht = &nv_sht, 600 .sht = &nv_sht,
603 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY, 601 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY,
604 .link_flags = ATA_LFLAG_HRST_TO_RESUME,
605 .pio_mask = NV_PIO_MASK, 602 .pio_mask = NV_PIO_MASK,
606 .mwdma_mask = NV_MWDMA_MASK, 603 .mwdma_mask = NV_MWDMA_MASK,
607 .udma_mask = NV_UDMA_MASK, 604 .udma_mask = NV_UDMA_MASK,
@@ -613,7 +610,6 @@ static const struct ata_port_info nv_port_info[] = {
613 .sht = &nv_adma_sht, 610 .sht = &nv_adma_sht,
614 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 611 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
615 ATA_FLAG_MMIO | ATA_FLAG_NCQ, 612 ATA_FLAG_MMIO | ATA_FLAG_NCQ,
616 .link_flags = ATA_LFLAG_HRST_TO_RESUME,
617 .pio_mask = NV_PIO_MASK, 613 .pio_mask = NV_PIO_MASK,
618 .mwdma_mask = NV_MWDMA_MASK, 614 .mwdma_mask = NV_MWDMA_MASK,
619 .udma_mask = NV_UDMA_MASK, 615 .udma_mask = NV_UDMA_MASK,
@@ -625,7 +621,6 @@ static const struct ata_port_info nv_port_info[] = {
625 .sht = &nv_swncq_sht, 621 .sht = &nv_swncq_sht,
626 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 622 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
627 ATA_FLAG_NCQ, 623 ATA_FLAG_NCQ,
628 .link_flags = ATA_LFLAG_HRST_TO_RESUME,
629 .pio_mask = NV_PIO_MASK, 624 .pio_mask = NV_PIO_MASK,
630 .mwdma_mask = NV_MWDMA_MASK, 625 .mwdma_mask = NV_MWDMA_MASK,
631 .udma_mask = NV_UDMA_MASK, 626 .udma_mask = NV_UDMA_MASK,
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c
index 0b8191b52f97..7052915a31b6 100644
--- a/drivers/ata/sata_sil.c
+++ b/drivers/ata/sata_sil.c
@@ -60,7 +60,6 @@ enum {
60 60
61 SIL_DFL_PORT_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 61 SIL_DFL_PORT_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
62 ATA_FLAG_MMIO, 62 ATA_FLAG_MMIO,
63 SIL_DFL_LINK_FLAGS = ATA_LFLAG_HRST_TO_RESUME,
64 63
65 /* 64 /*
66 * Controller IDs 65 * Controller IDs
@@ -215,7 +214,6 @@ static const struct ata_port_info sil_port_info[] = {
215 /* sil_3112 */ 214 /* sil_3112 */
216 { 215 {
217 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_MOD15WRITE, 216 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_MOD15WRITE,
218 .link_flags = SIL_DFL_LINK_FLAGS,
219 .pio_mask = 0x1f, /* pio0-4 */ 217 .pio_mask = 0x1f, /* pio0-4 */
220 .mwdma_mask = 0x07, /* mwdma0-2 */ 218 .mwdma_mask = 0x07, /* mwdma0-2 */
221 .udma_mask = ATA_UDMA5, 219 .udma_mask = ATA_UDMA5,
@@ -225,7 +223,6 @@ static const struct ata_port_info sil_port_info[] = {
225 { 223 {
226 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_MOD15WRITE | 224 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_MOD15WRITE |
227 SIL_FLAG_NO_SATA_IRQ, 225 SIL_FLAG_NO_SATA_IRQ,
228 .link_flags = SIL_DFL_LINK_FLAGS,
229 .pio_mask = 0x1f, /* pio0-4 */ 226 .pio_mask = 0x1f, /* pio0-4 */
230 .mwdma_mask = 0x07, /* mwdma0-2 */ 227 .mwdma_mask = 0x07, /* mwdma0-2 */
231 .udma_mask = ATA_UDMA5, 228 .udma_mask = ATA_UDMA5,
@@ -234,7 +231,6 @@ static const struct ata_port_info sil_port_info[] = {
234 /* sil_3512 */ 231 /* sil_3512 */
235 { 232 {
236 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_RERR_ON_DMA_ACT, 233 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_RERR_ON_DMA_ACT,
237 .link_flags = SIL_DFL_LINK_FLAGS,
238 .pio_mask = 0x1f, /* pio0-4 */ 234 .pio_mask = 0x1f, /* pio0-4 */
239 .mwdma_mask = 0x07, /* mwdma0-2 */ 235 .mwdma_mask = 0x07, /* mwdma0-2 */
240 .udma_mask = ATA_UDMA5, 236 .udma_mask = ATA_UDMA5,
@@ -243,7 +239,6 @@ static const struct ata_port_info sil_port_info[] = {
243 /* sil_3114 */ 239 /* sil_3114 */
244 { 240 {
245 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_RERR_ON_DMA_ACT, 241 .flags = SIL_DFL_PORT_FLAGS | SIL_FLAG_RERR_ON_DMA_ACT,
246 .link_flags = SIL_DFL_LINK_FLAGS,
247 .pio_mask = 0x1f, /* pio0-4 */ 242 .pio_mask = 0x1f, /* pio0-4 */
248 .mwdma_mask = 0x07, /* mwdma0-2 */ 243 .mwdma_mask = 0x07, /* mwdma0-2 */
249 .udma_mask = ATA_UDMA5, 244 .udma_mask = ATA_UDMA5,
diff --git a/include/linux/libata.h b/include/linux/libata.h
index c63cfb3b222b..1524af6f018b 100644
--- a/include/linux/libata.h
+++ b/include/linux/libata.h
@@ -163,7 +163,6 @@ enum {
163 ATA_DEV_NONE = 9, /* no device */ 163 ATA_DEV_NONE = 9, /* no device */
164 164
165 /* struct ata_link flags */ 165 /* struct ata_link flags */
166 ATA_LFLAG_HRST_TO_RESUME = (1 << 0), /* hardreset to resume link */
167 ATA_LFLAG_SKIP_D2H_BSY = (1 << 1), /* can't wait for the first D2H 166 ATA_LFLAG_SKIP_D2H_BSY = (1 << 1), /* can't wait for the first D2H
168 * Register FIS clearing BSY */ 167 * Register FIS clearing BSY */
169 ATA_LFLAG_NO_SRST = (1 << 2), /* avoid softreset */ 168 ATA_LFLAG_NO_SRST = (1 << 2), /* avoid softreset */