Thread (53 messages) 53 messages, 7 authors, 2016-05-12

[PATCH 03/18] dmaengine: st_fdma: Add STMicroelectronics FDMA engine driver support

From: Vinod Koul <hidden>
Date: 2016-05-02 09:24:22
Also in: linux-devicetree, lkml

On Wed, Apr 27, 2016 at 01:59:23PM +0100, Peter Griffin wrote:
quoted
bunch of this seems similar to cyclic case, can you create common setup
routine for these, anyway cyclic is a special cases of slave_sg
In v4 I've made a st_fdma_prep_common() which abstracts out all the common
checks at the beginning of the *_prep*() functions.

In v3 fill_fw_node() is already (from one of your previous reviews)
abstracting out all the common parts from these loops. So everything
that is now left is actually differences between the two setups.

Is that Ok?
Sounds better
quoted
and you irq is still enabled and tasklets can be scheduled!!
Eeek! Very good point. Also looking at some other drivers we
should be doing a of_dma_controller_free() and
dma_async_device_unregister().

So something like this: -

  st_fdma_disable(); /*disables irqs*/
  of_dma_controller_free(pdev->dev.of_node);
  dma_async_device_unregister(&priv->slave);
  st_fdma_clk_disable(fdev);
you can call devm_free_irq() explictyly, that will syncronize irq and
free it up. Also you should kill the tasklet afterwards.

-- 
~Vinod
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help