dmaengine i.MX SDMA: set firmware scripts addresses to negative value initially
If we do not have a firmare script for a given transfer, the setup of this channel must fail. For this the script addresses have to be < 0 initially, not 0. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
This commit is contained in:
parent
73eab978ad
commit
36e2f21ab4
|
@ -1281,6 +1281,7 @@ static int __init sdma_probe(struct platform_device *pdev)
|
||||||
struct sdma_platform_data *pdata = pdev->dev.platform_data;
|
struct sdma_platform_data *pdata = pdev->dev.platform_data;
|
||||||
int i;
|
int i;
|
||||||
struct sdma_engine *sdma;
|
struct sdma_engine *sdma;
|
||||||
|
s32 *saddr_arr;
|
||||||
|
|
||||||
sdma = kzalloc(sizeof(*sdma), GFP_KERNEL);
|
sdma = kzalloc(sizeof(*sdma), GFP_KERNEL);
|
||||||
if (!sdma)
|
if (!sdma)
|
||||||
|
@ -1324,6 +1325,11 @@ static int __init sdma_probe(struct platform_device *pdev)
|
||||||
goto err_alloc;
|
goto err_alloc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* initially no scripts available */
|
||||||
|
saddr_arr = (s32 *)sdma->script_addrs;
|
||||||
|
for (i = 0; i < SDMA_SCRIPT_ADDRS_ARRAY_SIZE_V1; i++)
|
||||||
|
saddr_arr[i] = -EINVAL;
|
||||||
|
|
||||||
if (of_id)
|
if (of_id)
|
||||||
pdev->id_entry = of_id->data;
|
pdev->id_entry = of_id->data;
|
||||||
sdma->devtype = pdev->id_entry->driver_data;
|
sdma->devtype = pdev->id_entry->driver_data;
|
||||||
|
|
Loading…
Reference in New Issue