caps->cmd_pause = false;
        caps->cmd_terminate = true;
 
-       /*
-        * This is the limit for transfers with a buswidth of 1, larger
-        * buswidths will have larger limits.
-        */
-       caps->max_sg_len = 1900800;
-       caps->max_sg_nr = 0;
-
        return 0;
 }
 
                        "unable to register DMA to the generic DT DMA helpers\n");
                }
        }
+       /*
+        * This is the limit for transfers with a buswidth of 1, larger
+        * buswidths will have larger limits.
+        */
+       ret = dma_set_max_seg_size(&adev->dev, 1900800);
+       if (ret)
+               dev_err(&adev->dev, "unable to set the seg size\n");
+
 
        dev_info(&adev->dev,
                "Loaded driver for PL330 DMAC-%d\n", adev->periphid);