|
@@ -352,10 +352,14 @@ static void mthca_arbel_write_mtt_seg(struct mthca_dev *dev,
|
|
|
|
|
|
BUG_ON(!mtts);
|
|
BUG_ON(!mtts);
|
|
|
|
|
|
|
|
+ dma_sync_single_for_cpu(&dev->pdev->dev, dma_handle,
|
|
|
|
+ list_len * sizeof (u64), DMA_TO_DEVICE);
|
|
|
|
+
|
|
for (i = 0; i < list_len; ++i)
|
|
for (i = 0; i < list_len; ++i)
|
|
mtts[i] = cpu_to_be64(buffer_list[i] | MTHCA_MTT_FLAG_PRESENT);
|
|
mtts[i] = cpu_to_be64(buffer_list[i] | MTHCA_MTT_FLAG_PRESENT);
|
|
|
|
|
|
- dma_sync_single(&dev->pdev->dev, dma_handle, list_len * sizeof (u64), DMA_TO_DEVICE);
|
|
|
|
|
|
+ dma_sync_single_for_device(&dev->pdev->dev, dma_handle,
|
|
|
|
+ list_len * sizeof (u64), DMA_TO_DEVICE);
|
|
}
|
|
}
|
|
|
|
|
|
int mthca_write_mtt(struct mthca_dev *dev, struct mthca_mtt *mtt,
|
|
int mthca_write_mtt(struct mthca_dev *dev, struct mthca_mtt *mtt,
|
|
@@ -803,12 +807,15 @@ int mthca_arbel_map_phys_fmr(struct ib_fmr *ibfmr, u64 *page_list,
|
|
|
|
|
|
wmb();
|
|
wmb();
|
|
|
|
|
|
|
|
+ dma_sync_single_for_cpu(&dev->pdev->dev, fmr->mem.arbel.dma_handle,
|
|
|
|
+ list_len * sizeof(u64), DMA_TO_DEVICE);
|
|
|
|
+
|
|
for (i = 0; i < list_len; ++i)
|
|
for (i = 0; i < list_len; ++i)
|
|
fmr->mem.arbel.mtts[i] = cpu_to_be64(page_list[i] |
|
|
fmr->mem.arbel.mtts[i] = cpu_to_be64(page_list[i] |
|
|
MTHCA_MTT_FLAG_PRESENT);
|
|
MTHCA_MTT_FLAG_PRESENT);
|
|
|
|
|
|
- dma_sync_single(&dev->pdev->dev, fmr->mem.arbel.dma_handle,
|
|
|
|
- list_len * sizeof(u64), DMA_TO_DEVICE);
|
|
|
|
|
|
+ dma_sync_single_for_device(&dev->pdev->dev, fmr->mem.arbel.dma_handle,
|
|
|
|
+ list_len * sizeof(u64), DMA_TO_DEVICE);
|
|
|
|
|
|
fmr->mem.arbel.mpt->key = cpu_to_be32(key);
|
|
fmr->mem.arbel.mpt->key = cpu_to_be32(key);
|
|
fmr->mem.arbel.mpt->lkey = cpu_to_be32(key);
|
|
fmr->mem.arbel.mpt->lkey = cpu_to_be32(key);
|