summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Jiang <dave.jiang@intel.com>2015-06-24 10:49:59 -0700
committerVinod Koul <vinod.koul@intel.com>2015-07-07 09:54:32 +0530
commit7618d0359c167d89d7e904a00487be4945c10a65 (patch)
tree65b21e58d2622d55a91e243ce5657d20c9d4758d
parent4483320e241c5f6b63caa912343eb73c8b1dfd18 (diff)
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>
-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;