ioat3: disable cacheline-unaligned transfers for raid operations
[firefly-linux-kernel-4.4.55.git] / drivers / dma / ioat / dma_v3.c
index 8b573fac2a2567e68e9f3f591faa557479b78d24..e2a23952172dfa72cb1c2fa339276c4560c1ab09 100644 (file)
@@ -1175,7 +1175,7 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
        if (cap & IOAT_CAP_XOR) {
                is_raid_device = true;
                dma->max_xor = 8;
-               dma->xor_align = 2;
+               dma->xor_align = 6;
 
                dma_cap_set(DMA_XOR, dma->cap_mask);
                dma->device_prep_dma_xor = ioat3_prep_xor;
@@ -1186,7 +1186,7 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
        if (cap & IOAT_CAP_PQ) {
                is_raid_device = true;
                dma_set_maxpq(dma, 8, 0);
-               dma->pq_align = 2;
+               dma->pq_align = 6;
 
                dma_cap_set(DMA_PQ, dma->cap_mask);
                dma->device_prep_dma_pq = ioat3_prep_pq;
@@ -1196,7 +1196,7 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca)
 
                if (!(cap & IOAT_CAP_XOR)) {
                        dma->max_xor = 8;
-                       dma->xor_align = 2;
+                       dma->xor_align = 6;
 
                        dma_cap_set(DMA_XOR, dma->cap_mask);
                        dma->device_prep_dma_xor = ioat3_prep_pqxor;