diff options
author | Brian Norris <computersforpeace@gmail.com> | 2012-02-21 13:38:44 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2012-03-13 16:36:18 -0400 |
commit | d408e2b14fba4fa214fa5bc24b7baae8a55e563c (patch) | |
tree | 25074c867acc318ef5312012f75ca42cb0397fc0 /drivers/ata | |
parent | 55d5ec316627b64c3764e4c1b4b8e1988e272c1f (diff) |
ahci_platform: add STRICT_AHCI platform type
Some platforms need to make use of the AHCI_HFLAG_DELAY_ENGINE flag.
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Cc: stable@kernel.org
Diffstat (limited to 'drivers/ata')
-rw-r--r-- | drivers/ata/ahci_platform.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c index 48be4e189163..0c86c77764bc 100644 --- a/drivers/ata/ahci_platform.c +++ b/drivers/ata/ahci_platform.c | |||
@@ -26,6 +26,7 @@ | |||
26 | enum ahci_type { | 26 | enum ahci_type { |
27 | AHCI, /* standard platform ahci */ | 27 | AHCI, /* standard platform ahci */ |
28 | IMX53_AHCI, /* ahci on i.mx53 */ | 28 | IMX53_AHCI, /* ahci on i.mx53 */ |
29 | STRICT_AHCI, /* delayed DMA engine start */ | ||
29 | }; | 30 | }; |
30 | 31 | ||
31 | static struct platform_device_id ahci_devtype[] = { | 32 | static struct platform_device_id ahci_devtype[] = { |
@@ -36,6 +37,9 @@ static struct platform_device_id ahci_devtype[] = { | |||
36 | .name = "imx53-ahci", | 37 | .name = "imx53-ahci", |
37 | .driver_data = IMX53_AHCI, | 38 | .driver_data = IMX53_AHCI, |
38 | }, { | 39 | }, { |
40 | .name = "strict-ahci", | ||
41 | .driver_data = STRICT_AHCI, | ||
42 | }, { | ||
39 | /* sentinel */ | 43 | /* sentinel */ |
40 | } | 44 | } |
41 | }; | 45 | }; |
@@ -56,6 +60,13 @@ static const struct ata_port_info ahci_port_info[] = { | |||
56 | .udma_mask = ATA_UDMA6, | 60 | .udma_mask = ATA_UDMA6, |
57 | .port_ops = &ahci_pmp_retry_srst_ops, | 61 | .port_ops = &ahci_pmp_retry_srst_ops, |
58 | }, | 62 | }, |
63 | [STRICT_AHCI] = { | ||
64 | AHCI_HFLAGS (AHCI_HFLAG_DELAY_ENGINE), | ||
65 | .flags = AHCI_FLAG_COMMON, | ||
66 | .pio_mask = ATA_PIO4, | ||
67 | .udma_mask = ATA_UDMA6, | ||
68 | .port_ops = &ahci_ops, | ||
69 | }, | ||
59 | }; | 70 | }; |
60 | 71 | ||
61 | static struct scsi_host_template ahci_platform_sht = { | 72 | static struct scsi_host_template ahci_platform_sht = { |