summaryrefslogtreecommitdiffstats
path: root/drivers/dma/ioat
diff options
context:
space:
mode:
authorDave Jiang2015-06-24 19:49:59 +0200
committerVinod Koul2015-07-07 06:24:32 +0200
commit7618d0359c167d89d7e904a00487be4945c10a65 (patch)
tree65b21e58d2622d55a91e243ce5657d20c9d4758d /drivers/dma/ioat
parentdmaengine: Use Pointer xt after NULL check. (diff)
downloadkernel-qcow2-linux-7618d0359c167d89d7e904a00487be4945c10a65.tar.gz
kernel-qcow2-linux-7618d0359c167d89d7e904a00487be4945c10a65.tar.xz
kernel-qcow2-linux-7618d0359c167d89d7e904a00487be4945c10a65.zip
dmaengine: ioatdma: Set non RAID channels to be private capable
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>
Diffstat (limited to 'drivers/dma/ioat')
-rw-r--r--drivers/dma/ioat/dma_v3.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c
index 64790a45ef5d..8fbffd038113 100644
--- a/drivers/dma/ioat/dma_v3.c
+++ b/drivers/dma/ioat/dma_v3.c
@@ -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;