dmaengine: xilinx_dma: Set max segment size
authorThomas Gessler <thomas.gessler@brueckmann-gmbh.de>
Fri, 14 Mar 2025 13:47:15 +0000 (14:47 +0100)
committerVinod Koul <vkoul@kernel.org>
Thu, 17 Apr 2025 15:15:20 +0000 (20:45 +0530)
Set the maximumg DMA segment size from the actual core configuration
value. Without this setting, the default value of 64 KiB is reported,
and larger sizes cannot be used for IIO DMAEngine buffers.

Signed-off-by: Thomas Gessler <thomas.gessler@brueckmann-gmbh.de>
Tested-by: Folker Schwesinger <dev@folker-schwesinger.de>
Link: https://lore.kernel.org/r/20250314134717.703287-1-thomas.gessler@brueckmann-gmbh.de
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/xilinx/xilinx_dma.c

index 3ad44afd0e74ee6432d81ad56b4357ce31be84c4..cf4cd2f36e345658757a882ca89a61bcd82e8fd4 100644 (file)
@@ -3115,6 +3115,8 @@ static int xilinx_dma_probe(struct platform_device *pdev)
                }
        }
 
+       dma_set_max_seg_size(xdev->dev, xdev->max_buffer_len);
+
        if (xdev->dma_config->dmatype == XDMA_TYPE_AXIDMA) {
                xdev->has_axistream_connected =
                        of_property_read_bool(node, "xlnx,axistream-connected");