fpga: versal: Add support for 44-bit DMA operations
authorNava kishore Manne <nava.kishore.manne@amd.com>
Tue, 3 Oct 2023 07:14:09 +0000 (12:44 +0530)
committerXu Yilun <yilun.xu@linux.intel.com>
Mon, 16 Oct 2023 02:32:00 +0000 (10:32 +0800)
The existing implementation support only 32-bit DMA operation.
So, it fails to load the bitstream for the high DDR designs(Beyond 4GB).
To fix this issue update the DMA mask handling logic to support 44-bit
DMA operations.

Signed-off-by: Nava kishore Manne <nava.kishore.manne@amd.com>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
Acked-by: Xu Yilun <yilun.xu@intel.com>
Link: https://lore.kernel.org/r/20231003071409.4165149-1-nava.kishore.manne@amd.com
Signed-off-by: Xu Yilun <yilun.xu@linux.intel.com>
drivers/fpga/versal-fpga.c

index e1601b3a345b7792934902337b424bc5774a10de..3710e8f01be25de67e79338a963cc825ab2fea5f 100644 (file)
@@ -48,7 +48,7 @@ static int versal_fpga_probe(struct platform_device *pdev)
        struct fpga_manager *mgr;
        int ret;
 
-       ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(32));
+       ret = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(44));
        if (ret < 0) {
                dev_err(dev, "no usable DMA configuration\n");
                return ret;