dmaengine: ioatdma: Set non RAID channels to be private capable
authorDave Jiang <dave.jiang@intel.com>
Wed, 24 Jun 2015 17:49:59 +0000 (10:49 -0700)
committerVinod Koul <vinod.koul@intel.com>
Tue, 7 Jul 2015 04:24:32 +0000 (09:54 +0530)
This allows claiming of non-RAID channels as a private channel. This
prevents breakage of MDRAID using the IOATDMA channels via
async_tx but also allows agents such as NTB to claim channels
exclusively for its usages.

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
drivers/dma/ioat/dma_v3.c

index 64790a45ef5d8aed5bf8abbaa14a7b276f89e2de..8fbffd038113cf8ae5fd1ad114f4380cffc709b1 100644 (file)
@@ -1694,6 +1694,9 @@ int ioat3_dma_probe(struct ioatdma_device *device, int dca)
                }
        }
 
+       if (!(device->cap & (IOAT_CAP_XOR | IOAT_CAP_PQ)))
+               dma_cap_set(DMA_PRIVATE, dma->cap_mask);
+
        err = ioat_probe(device);
        if (err)
                return err;