dmaengine: zynqmp_dma: Sync DMA and coherent masks
authorHarini Katakam <harini.katakam@amd.com>
Thu, 16 Mar 2023 09:33:18 +0000 (15:03 +0530)
committerVinod Koul <vkoul@kernel.org>
Fri, 31 Mar 2023 12:24:02 +0000 (17:54 +0530)
Align ZDMA DMA as well as coherent memory masks to 44 bit. This is
required when using >32 bit memory regions.

Signed-off-by: Harini Katakam <harini.katakam@amd.com>
Acked-by: Michal Simek <michal.simek@amd.com>
Link: https://lore.kernel.org/r/20230316093318.6722-1-harini.katakam@amd.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/xilinx/zynqmp_dma.c

index ce35905..9360f43 100644 (file)
@@ -1060,7 +1060,11 @@ static int zynqmp_dma_probe(struct platform_device *pdev)
        zdev->dev = &pdev->dev;
        INIT_LIST_HEAD(&zdev->common.channels);
 
-       dma_set_mask(&pdev->dev, DMA_BIT_MASK(44));
+       ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44));
+       if (ret) {
+               dev_err(&pdev->dev, "DMA not available for address range\n");
+               return ret;
+       }
        dma_cap_set(DMA_MEMCPY, zdev->common.cap_mask);
 
        p = &zdev->common;