aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ata
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2012-02-21 13:38:44 -0500
committerJeff Garzik <jgarzik@redhat.com>2012-03-13 16:36:18 -0400
commitd408e2b14fba4fa214fa5bc24b7baae8a55e563c (patch)
tree25074c867acc318ef5312012f75ca42cb0397fc0 /drivers/ata
parent55d5ec316627b64c3764e4c1b4b8e1988e272c1f (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.c11
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 @@
26enum ahci_type { 26enum 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
31static struct platform_device_id ahci_devtype[] = { 32static 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
61static struct scsi_host_template ahci_platform_sht = { 72static struct scsi_host_template ahci_platform_sht = {