|
@@ -120,14 +120,15 @@ enum {
|
|
|
MV_FLAG_IRQ_COALESCE = (1 << 29), /* IRQ coalescing capability */
|
|
|
|
|
|
MV_COMMON_FLAGS = ATA_FLAG_SATA | ATA_FLAG_NO_LEGACY |
|
|
|
- ATA_FLAG_MMIO | ATA_FLAG_NO_ATAPI |
|
|
|
- ATA_FLAG_PIO_POLLING,
|
|
|
+ ATA_FLAG_MMIO | ATA_FLAG_PIO_POLLING,
|
|
|
|
|
|
- MV_6XXX_FLAGS = MV_FLAG_IRQ_COALESCE,
|
|
|
+ MV_GEN_I_FLAGS = MV_COMMON_FLAGS | ATA_FLAG_NO_ATAPI,
|
|
|
|
|
|
- MV_GENIIE_FLAGS = MV_COMMON_FLAGS | MV_6XXX_FLAGS |
|
|
|
+ MV_GEN_II_FLAGS = MV_COMMON_FLAGS | MV_FLAG_IRQ_COALESCE |
|
|
|
ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA |
|
|
|
- ATA_FLAG_NCQ | ATA_FLAG_AN,
|
|
|
+ ATA_FLAG_NCQ | ATA_FLAG_NO_ATAPI,
|
|
|
+
|
|
|
+ MV_GEN_IIE_FLAGS = MV_GEN_II_FLAGS | ATA_FLAG_AN,
|
|
|
|
|
|
CRQB_FLAG_READ = (1 << 0),
|
|
|
CRQB_TAG_SHIFT = 1,
|
|
@@ -603,53 +604,49 @@ static struct ata_port_operations mv_iie_ops = {
|
|
|
|
|
|
static const struct ata_port_info mv_port_info[] = {
|
|
|
{ /* chip_504x */
|
|
|
- .flags = MV_COMMON_FLAGS,
|
|
|
+ .flags = MV_GEN_I_FLAGS,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv5_ops,
|
|
|
},
|
|
|
{ /* chip_508x */
|
|
|
- .flags = MV_COMMON_FLAGS | MV_FLAG_DUAL_HC,
|
|
|
+ .flags = MV_GEN_I_FLAGS | MV_FLAG_DUAL_HC,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv5_ops,
|
|
|
},
|
|
|
{ /* chip_5080 */
|
|
|
- .flags = MV_COMMON_FLAGS | MV_FLAG_DUAL_HC,
|
|
|
+ .flags = MV_GEN_I_FLAGS | MV_FLAG_DUAL_HC,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv5_ops,
|
|
|
},
|
|
|
{ /* chip_604x */
|
|
|
- .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS |
|
|
|
- ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA |
|
|
|
- ATA_FLAG_NCQ,
|
|
|
+ .flags = MV_GEN_II_FLAGS,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv6_ops,
|
|
|
},
|
|
|
{ /* chip_608x */
|
|
|
- .flags = MV_COMMON_FLAGS | MV_6XXX_FLAGS |
|
|
|
- ATA_FLAG_PMP | ATA_FLAG_ACPI_SATA |
|
|
|
- ATA_FLAG_NCQ | MV_FLAG_DUAL_HC,
|
|
|
+ .flags = MV_GEN_II_FLAGS | MV_FLAG_DUAL_HC,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv6_ops,
|
|
|
},
|
|
|
{ /* chip_6042 */
|
|
|
- .flags = MV_GENIIE_FLAGS,
|
|
|
+ .flags = MV_GEN_IIE_FLAGS,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv_iie_ops,
|
|
|
},
|
|
|
{ /* chip_7042 */
|
|
|
- .flags = MV_GENIIE_FLAGS,
|
|
|
+ .flags = MV_GEN_IIE_FLAGS,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv_iie_ops,
|
|
|
},
|
|
|
{ /* chip_soc */
|
|
|
- .flags = MV_GENIIE_FLAGS,
|
|
|
+ .flags = MV_GEN_IIE_FLAGS,
|
|
|
.pio_mask = 0x1f, /* pio0-4 */
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &mv_iie_ops,
|