aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/ata/sata_mv.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 74b1080d116d..3dc35543fb3d 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -120,14 +120,15 @@ enum {
120 MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */ 120 MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */
121 121
122 MV_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY | 122 MV_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
123 ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI | 123 ATA_FLAG_MMIO | ATA_FLAG_PIO_POLLING,
124 ATA_FLAG_PIO_POLLING,
125 124
126 MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE, 125 MV_GEN_I_FLAGS = MV_COMMON_FLAGS | ATA_FLAG_NO_ATAPI,
127 126
128 MV_GENIIE_FLAGS = MV_COMMON_FLAGS | MV_6XXX_FLAGS | 127 MV_GEN_II_FLAGS = MV_COMMON_FLAGS | MV_FLAG_IRQ_COALESCE |
129 ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA | 128 ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA |
130 ATA_FLAG_NCQ | ATA_FLAG_AN, 129 ATA_FLAG_NCQ | ATA_FLAG_NO_ATAPI,
130
131 MV_GEN_IIE_FLAGS = MV_GEN_II_FLAGS | ATA_FLAG_AN,
131 132
132 CRQB_FLAG_READ = (1 << 0), 133 CRQB_FLAG_READ = (1 << 0),
133 CRQB_TAG_SHIFT = 1, 134 CRQB_TAG_SHIFT = 1,
@@ -603,53 +604,49 @@ static struct ata_port_operations mv_iie_ops = {
603 604
604static const struct ata_port_info mv_port_info[] = { 605static const struct ata_port_info mv_port_info[] = {
605 { /* chip_504x */ 606 { /* chip_504x */
606 .flags = MV_COMMON_FLAGS, 607 .flags = MV_GEN_I_FLAGS,
607 .pio_mask = 0x1f, /* pio0-4 */ 608 .pio_mask = 0x1f, /* pio0-4 */
608 .udma_mask = ATA_UDMA6, 609 .udma_mask = ATA_UDMA6,
609 .port_ops = &mv5_ops, 610 .port_ops = &mv5_ops,
610 }, 611 },
611 { /* chip_508x */ 612 { /* chip_508x */
612 .flags = MV_COMMON_FLAGS | MV_FLAG_DUAL_HC, 613 .flags = MV_GEN_I_FLAGS | MV_FLAG_DUAL_HC,
613 .pio_mask = 0x1f, /* pio0-4 */ 614 .pio_mask = 0x1f, /* pio0-4 */
614 .udma_mask = ATA_UDMA6, 615 .udma_mask = ATA_UDMA6,
615 .port_ops = &mv5_ops, 616 .port_ops = &mv5_ops,
616 }, 617 },
617 { /* chip_5080 */ 618 { /* chip_5080 */
618 .flags = MV_COMMON_FLAGS | MV_FLAG_DUAL_HC, 619 .flags = MV_GEN_I_FLAGS | MV_FLAG_DUAL_HC,
619 .pio_mask = 0x1f, /* pio0-4 */ 620 .pio_mask = 0x1f, /* pio0-4 */
620 .udma_mask = ATA_UDMA6, 621 .udma_mask = ATA_UDMA6,
621 .port_ops = &mv5_ops, 622 .port_ops = &mv5_ops,
622 }, 623 },
623 { /* chip_604x */ 624 { /* chip_604x */
624 .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS | 625 .flags = MV_GEN_II_FLAGS,
625 ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA |
626 ATA_FLAG_NCQ,
627 .pio_mask = 0x1f, /* pio0-4 */ 626 .pio_mask = 0x1f, /* pio0-4 */
628 .udma_mask = ATA_UDMA6, 627 .udma_mask = ATA_UDMA6,
629 .port_ops = &mv6_ops, 628 .port_ops = &mv6_ops,
630 }, 629 },
631 { /* chip_608x */ 630 { /* chip_608x */
632 .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS | 631 .flags = MV_GEN_II_FLAGS | MV_FLAG_DUAL_HC,
633 ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA |
634 ATA_FLAG_NCQ | MV_FLAG_DUAL_HC,
635 .pio_mask = 0x1f, /* pio0-4 */ 632 .pio_mask = 0x1f, /* pio0-4 */
636 .udma_mask = ATA_UDMA6, 633 .udma_mask = ATA_UDMA6,
637 .port_ops = &mv6_ops, 634 .port_ops = &mv6_ops,
638 }, 635 },
639 { /* chip_6042 */ 636 { /* chip_6042 */
640 .flags = MV_GENIIE_FLAGS, 637 .flags = MV_GEN_IIE_FLAGS,
641 .pio_mask = 0x1f, /* pio0-4 */ 638 .pio_mask = 0x1f, /* pio0-4 */
642 .udma_mask = ATA_UDMA6, 639 .udma_mask = ATA_UDMA6,
643 .port_ops = &mv_iie_ops, 640 .port_ops = &mv_iie_ops,
644 }, 641 },
645 { /* chip_7042 */ 642 { /* chip_7042 */
646 .flags = MV_GENIIE_FLAGS, 643 .flags = MV_GEN_IIE_FLAGS,
647 .pio_mask = 0x1f, /* pio0-4 */ 644 .pio_mask = 0x1f, /* pio0-4 */
648 .udma_mask = ATA_UDMA6, 645 .udma_mask = ATA_UDMA6,
649 .port_ops = &mv_iie_ops, 646 .port_ops = &mv_iie_ops,
650 }, 647 },
651 { /* chip_soc */ 648 { /* chip_soc */
652 .flags = MV_GENIIE_FLAGS, 649 .flags = MV_GEN_IIE_FLAGS,
653 .pio_mask = 0x1f, /* pio0-4 */ 650 .pio_mask = 0x1f, /* pio0-4 */
654 .udma_mask = ATA_UDMA6, 651 .udma_mask = ATA_UDMA6,
655 .port_ops = &mv_iie_ops, 652 .port_ops = &mv_iie_ops,