dmaengine: ioatdma: disable DCA enabling on IOATDMA v3.4
authorDave Jiang <dave.jiang@intel.com>
Fri, 22 Feb 2019 16:59:59 +0000 (09:59 -0700)
committerVinod Koul <vkoul@kernel.org>
Mon, 25 Feb 2019 06:48:38 +0000 (12:18 +0530)
IOATDMA v3.4 does not support DCA. Disable

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/ioat/hw.h
drivers/dma/ioat/init.c

index 3e38877..781c94d 100644 (file)
@@ -73,6 +73,7 @@
 #define IOAT_VER_3_0            0x30    /* Version 3.0 */
 #define IOAT_VER_3_2            0x32    /* Version 3.2 */
 #define IOAT_VER_3_3            0x33    /* Version 3.3 */
+#define IOAT_VER_3_4           0x34    /* Version 3.4 */
 
 
 int system_has_dca_enabled(struct pci_dev *pdev);
index 3161dfb..58dd1bf 100644 (file)
@@ -1353,6 +1353,8 @@ static int ioat_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        pci_set_drvdata(pdev, device);
 
        device->version = readb(device->reg_base + IOAT_VER_OFFSET);
+       if (device->version >= IOAT_VER_3_4)
+               ioat_dca_enabled = 0;
        if (device->version >= IOAT_VER_3_0) {
                if (is_skx_ioat(pdev))
                        device->version = IOAT_VER_3_2;