mirror of
https://github.com/torvalds/linux.git
synced 2026-10-07 05:31:08 -04:00
dmaengine: jz4780: Work around hardware bug on JZ4760 SoCs
The JZ4760 SoC has a hardware problem with chan0 not enabling properly if it's enabled before chan1, after a reset (works fine afterwards). This is worked around in the probe function by just enabling then disabling chan1. Signed-off-by: Paul Cercueil <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Vinod Koul <[email protected]>
This commit is contained in:
1 parent
dafa79a10e
commit
b72cbb1ab2
1 file changed
+8
@@ -938,6 +938,14 @@ static int jz4780_dma_probe(struct platform_device *pdev)
|
||||
jzchan->vchan.desc_free = jz4780_dma_desc_free;
|
||||
}
|
||||
|
||||
/*
|
||||
* On JZ4760, chan0 won't enable properly the first time.
|
||||
* Enabling then disabling chan1 will magically make chan0 work
|
||||
* correctly.
|
||||
*/
|
||||
jz4780_dma_chan_enable(jzdma, 1);
|
||||
jz4780_dma_chan_disable(jzdma, 1);
|
||||
|
||||
ret = platform_get_irq(pdev, 0);
|
||||
if (ret < 0)
|
||||
goto err_disable_clk;
|
||||
|
||||
Reference in new issue
Block a user