libata: Add H2D FIS "auxiliary" port flag
authorMarc Carino <marc.ceeeee@gmail.com>
Sun, 25 Aug 2013 06:22:49 +0000 (23:22 -0700)
committerTejun Heo <tj@kernel.org>
Sun, 25 Aug 2013 13:39:12 +0000 (09:39 -0400)
Add a new port flag, ATA_FLAG_FPDMA_AUX, used to indicate
support for transmission of the H2D FIS 'auxiliary' field.

Signed-off-by: Marc Carino <marc.ceeeee@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
drivers/ata/ahci.c
include/linux/libata.h

index 5064f3ea20f1b6f362928bd7a5b3cce39894b259..8d41c57fd9693e090a961f01a4529892d83ff2f5 100644 (file)
@@ -1288,6 +1288,14 @@ static int ahci_init_one(struct pci_dev *pdev, const struct pci_device_id *ent)
                 */
                if (!(hpriv->flags & AHCI_HFLAG_NO_FPDMA_AA))
                        pi.flags |= ATA_FLAG_FPDMA_AA;
+
+               /*
+                * All AHCI controllers should be forward-compatible
+                * with the new auxiliary field. This code should be
+                * conditionalized if any buggy AHCI controllers are
+                * encountered.
+                */
+               pi.flags |= ATA_FLAG_FPDMA_AUX;
        }
 
        if (hpriv->cap & HOST_CAP_PMP)
index 9b6ba196179f688562a9ff9c6cc6f2adaf51e575..578f98c3ff57eda0c0494585a2434bbe622e4ec9 100644 (file)
@@ -223,6 +223,7 @@ enum {
        ATA_FLAG_ACPI_SATA      = (1 << 17), /* need native SATA ACPI layout */
        ATA_FLAG_AN             = (1 << 18), /* controller supports AN */
        ATA_FLAG_PMP            = (1 << 19), /* controller supports PMP */
+       ATA_FLAG_FPDMA_AUX      = (1 << 20), /* controller supports H2DFIS aux field */
        ATA_FLAG_EM             = (1 << 21), /* driver supports enclosure
                                              * management */
        ATA_FLAG_SW_ACTIVITY    = (1 << 22), /* driver supports sw activity