]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'for-4.4' into for-next
authorTejun Heo <tj@kernel.org>
Sat, 31 Oct 2015 00:52:23 +0000 (09:52 +0900)
committerTejun Heo <tj@kernel.org>
Sat, 31 Oct 2015 00:52:23 +0000 (09:52 +0900)
Documentation/devicetree/bindings/ata/ahci-fsl-qoriq.txt
drivers/ata/ahci_qoriq.c

index b614e3b1008b93b6222cde29ace488e34a82e1fa..032a7606b86259be64ddc87109b318fb6e37e57d 100644 (file)
@@ -3,13 +3,13 @@ Binding for Freescale QorIQ AHCI SATA Controller
 Required properties:
   - reg: Physical base address and size of the controller's register area.
   - compatible: Compatibility string. Must be 'fsl,<chip>-ahci', where
-    chip could be ls1021a, ls2085a, ls1043a etc.
+    chip could be ls1021a, ls2080a, ls1043a etc.
   - clocks: Input clock specifier. Refer to common clock bindings.
   - interrupts: Interrupt specifier. Refer to interrupt binding.
 
 Optional properties:
-  - dma-coherent: Enable ACHI coherency DMA operation.
-  - reg-names: register area names when there are more then 1 regster area.
+  - dma-coherent: Enable AHCI coherent DMA operation.
+  - reg-names: register area names when there are more than 1 register area.
 
 Examples:
        sata@3200000 {
index 58c1a94b9a41631537b9b05fd8cc35e9cdb8143f..d0f9de96e4ea626a44b30506b239105869fb2eb5 100644 (file)
@@ -45,7 +45,7 @@
 enum ahci_qoriq_type {
        AHCI_LS1021A,
        AHCI_LS1043A,
-       AHCI_LS2085A,
+       AHCI_LS2080A,
 };
 
 struct ahci_qoriq_priv {
@@ -57,7 +57,7 @@ struct ahci_qoriq_priv {
 static const struct of_device_id ahci_qoriq_of_match[] = {
        { .compatible = "fsl,ls1021a-ahci", .data = (void *)AHCI_LS1021A},
        { .compatible = "fsl,ls1043a-ahci", .data = (void *)AHCI_LS1043A},
-       { .compatible = "fsl,ls2085a-ahci", .data = (void *)AHCI_LS2085A},
+       { .compatible = "fsl,ls2080a-ahci", .data = (void *)AHCI_LS2080A},
        {},
 };
 MODULE_DEVICE_TABLE(of, ahci_qoriq_of_match);
@@ -131,7 +131,7 @@ static struct ata_port_operations ahci_qoriq_ops = {
        .hardreset      = ahci_qoriq_hardreset,
 };
 
-static const struct ata_port_info ahci_qoriq_port_info = {
+static struct ata_port_info ahci_qoriq_port_info = {
        .flags          = AHCI_FLAG_COMMON | ATA_FLAG_NCQ,
        .pio_mask       = ATA_PIO4,
        .udma_mask      = ATA_UDMA6,
@@ -159,7 +159,7 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv)
                break;
 
        case AHCI_LS1043A:
-       case AHCI_LS2085A:
+       case AHCI_LS2080A:
                writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1);
                break;
        }
@@ -208,6 +208,12 @@ static int ahci_qoriq_probe(struct platform_device *pdev)
        if (rc)
                goto disable_resources;
 
+       /* Workaround for ls2080a */
+       if (qoriq_priv->type == AHCI_LS2080A) {
+               hpriv->flags |= AHCI_HFLAG_NO_NCQ;
+               ahci_qoriq_port_info.flags &= ~ATA_FLAG_NCQ;
+       }
+
        rc = ahci_platform_init_host(pdev, hpriv, &ahci_qoriq_port_info,
                                     &ahci_qoriq_sht);
        if (rc)