|
@@ -26,6 +26,7 @@
|
|
|
enum ahci_type {
|
|
|
AHCI, /* standard platform ahci */
|
|
|
IMX53_AHCI, /* ahci on i.mx53 */
|
|
|
+ STRICT_AHCI, /* delayed DMA engine start */
|
|
|
};
|
|
|
|
|
|
static struct platform_device_id ahci_devtype[] = {
|
|
@@ -35,6 +36,9 @@ static struct platform_device_id ahci_devtype[] = {
|
|
|
}, {
|
|
|
.name = "imx53-ahci",
|
|
|
.driver_data = IMX53_AHCI,
|
|
|
+ }, {
|
|
|
+ .name = "strict-ahci",
|
|
|
+ .driver_data = STRICT_AHCI,
|
|
|
}, {
|
|
|
/* sentinel */
|
|
|
}
|
|
@@ -56,6 +60,13 @@ static const struct ata_port_info ahci_port_info[] = {
|
|
|
.udma_mask = ATA_UDMA6,
|
|
|
.port_ops = &ahci_pmp_retry_srst_ops,
|
|
|
},
|
|
|
+ [STRICT_AHCI] = {
|
|
|
+ AHCI_HFLAGS (AHCI_HFLAG_DELAY_ENGINE),
|
|
|
+ .flags = AHCI_FLAG_COMMON,
|
|
|
+ .pio_mask = ATA_PIO4,
|
|
|
+ .udma_mask = ATA_UDMA6,
|
|
|
+ .port_ops = &ahci_ops,
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static struct scsi_host_template ahci_platform_sht = {
|