aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata/ahci.c
diff options
context:
space:
mode:
authorTejun Heo <htejun@gmail.com>2008-01-23 10:05:14 -0500
committerJeff Garzik <jgarzik@redhat.com>2008-04-17 15:44:16 -0400
commit8cebf274dd1c955a6e03385a85fd6569ce445946 (patch)
treec459cd20ef93413e063826bb99ca0bcaf67ec8d2 /drivers/ata/ahci.c
parent672b2d65ba83a6f3f801fd3d58851aa9c0725a54 (diff)
libata: kill ATA_LFLAG_SKIP_D2H_BSY
Some controllers can't reliably record the initial D2H FIS after SATA link is brought online for whatever reason. Advanced controllers which don't have traditional TF register based interface often have this problem as they don't really have the TF registers to update while the controller and link are being initialized. SKIP_D2H_BSY works around the problem by skipping the wait for device readiness before issuing SRST, so for such controllers libata issues SRST blindly and hopes for the best. Now that libata defaults to hardreset, this workaround is no longer necessary. For controllers which have support for hardreset, SRST is never issued by itself. It is only issued as follow-up SRST for device classification and PMP initialization, so there's no need to wait for it from prereset. Kill ATA_LFLAG_SKIP_D2H_BSY. Signed-off-by: Tejun Heo <htejun@gmail.com>
Diffstat (limited to 'drivers/ata/ahci.c')
-rw-r--r--drivers/ata/ahci.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c
index 66d6c8821087..1bd258e5390f 100644
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -198,7 +198,6 @@ enum {
198 ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA | 198 ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA |
199 ATA_FLAG_ACPI_SATA | ATA_FLAG_AN | 199 ATA_FLAG_ACPI_SATA | ATA_FLAG_AN |
200 ATA_FLAG_IPM, 200 ATA_FLAG_IPM,
201 AHCI_LFLAG_COMMON = ATA_LFLAG_SKIP_D2H_BSY,
202 201
203 ICH_MAP = 0x90, /* ICH MAP register */ 202 ICH_MAP = 0x90, /* ICH MAP register */
204}; 203};
@@ -407,7 +406,6 @@ static const struct ata_port_info ahci_port_info[] = {
407 /* board_ahci */ 406 /* board_ahci */
408 { 407 {
409 .flags = AHCI_FLAG_COMMON, 408 .flags = AHCI_FLAG_COMMON,
410 .link_flags = AHCI_LFLAG_COMMON,
411 .pio_mask = 0x1f, /* pio0-4 */ 409 .pio_mask = 0x1f, /* pio0-4 */
412 .udma_mask = ATA_UDMA6, 410 .udma_mask = ATA_UDMA6,
413 .port_ops = &ahci_ops, 411 .port_ops = &ahci_ops,
@@ -416,7 +414,6 @@ static const struct ata_port_info ahci_port_info[] = {
416 { 414 {
417 AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_PMP), 415 AHCI_HFLAGS (AHCI_HFLAG_NO_NCQ | AHCI_HFLAG_NO_PMP),
418 .flags = AHCI_FLAG_COMMON, 416 .flags = AHCI_FLAG_COMMON,
419 .link_flags = AHCI_LFLAG_COMMON,
420 .pio_mask = 0x1f, /* pio0-4 */ 417 .pio_mask = 0x1f, /* pio0-4 */
421 .udma_mask = ATA_UDMA6, 418 .udma_mask = ATA_UDMA6,
422 .port_ops = &ahci_vt8251_ops, 419 .port_ops = &ahci_vt8251_ops,
@@ -425,7 +422,6 @@ static const struct ata_port_info ahci_port_info[] = {
425 { 422 {
426 AHCI_HFLAGS (AHCI_HFLAG_IGN_IRQ_IF_ERR), 423 AHCI_HFLAGS (AHCI_HFLAG_IGN_IRQ_IF_ERR),
427 .flags = AHCI_FLAG_COMMON, 424 .flags = AHCI_FLAG_COMMON,
428 .link_flags = AHCI_LFLAG_COMMON,
429 .pio_mask = 0x1f, /* pio0-4 */ 425 .pio_mask = 0x1f, /* pio0-4 */
430 .udma_mask = ATA_UDMA6, 426 .udma_mask = ATA_UDMA6,
431 .port_ops = &ahci_ops, 427 .port_ops = &ahci_ops,
@@ -436,7 +432,6 @@ static const struct ata_port_info ahci_port_info[] = {
436 AHCI_HFLAG_32BIT_ONLY | 432 AHCI_HFLAG_32BIT_ONLY |
437 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP), 433 AHCI_HFLAG_SECT255 | AHCI_HFLAG_NO_PMP),
438 .flags = AHCI_FLAG_COMMON, 434 .flags = AHCI_FLAG_COMMON,
439 .link_flags = AHCI_LFLAG_COMMON,
440 .pio_mask = 0x1f, /* pio0-4 */ 435 .pio_mask = 0x1f, /* pio0-4 */
441 .udma_mask = ATA_UDMA6, 436 .udma_mask = ATA_UDMA6,
442 .port_ops = &ahci_ops, 437 .port_ops = &ahci_ops,
@@ -447,7 +442,6 @@ static const struct ata_port_info ahci_port_info[] = {
447 AHCI_HFLAG_MV_PATA), 442 AHCI_HFLAG_MV_PATA),
448 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 443 .flags = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
449 ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA, 444 ATA_FLAG_MMIO | ATA_FLAG_PIO_DMA,
450 .link_flags = AHCI_LFLAG_COMMON,
451 .pio_mask = 0x1f, /* pio0-4 */ 445 .pio_mask = 0x1f, /* pio0-4 */
452 .udma_mask = ATA_UDMA6, 446 .udma_mask = ATA_UDMA6,
453 .port_ops = &ahci_ops, 447 .port_ops = &ahci_ops,
@@ -457,7 +451,6 @@ static const struct ata_port_info ahci_port_info[] = {
457 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL | 451 AHCI_HFLAGS (AHCI_HFLAG_IGN_SERR_INTERNAL |
458 AHCI_HFLAG_NO_PMP), 452 AHCI_HFLAG_NO_PMP),
459 .flags = AHCI_FLAG_COMMON, 453 .flags = AHCI_FLAG_COMMON,
460 .link_flags = AHCI_LFLAG_COMMON,
461 .pio_mask = 0x1f, /* pio0-4 */ 454 .pio_mask = 0x1f, /* pio0-4 */
462 .udma_mask = ATA_UDMA6, 455 .udma_mask = ATA_UDMA6,
463 .port_ops = &ahci_ops, 456 .port_ops = &ahci_ops,