[PATCH v2] dmaengine: sirf: add PM entries for sleep and runtime

Russell King - ARM Linux linux at arm.linux.org.uk
Tue Aug 13 08:18:13 EDT 2013


On Tue, Aug 13, 2013 at 05:02:00PM +0530, Vinod Koul wrote:
> On Tue, Jul 30, 2013 at 05:44:34PM +0800, Barry Song wrote:
> > this patch adds PM ops entries in sirf-dma drivers, so that this
> > driver can support suspend/resume, hibernation and runtime PM.
> > 
> > while suspending, sirf-dma will lose all registers, so we save
> > them at suspend and restore in resume for active channels.
> > 
> > Signed-off-by: Barry Song <Baohua.Song at csr.com>
> > Signed-off-by: Rongjun Ying <Rongjun.Ying at csr.com>
> Applied, thanks
> 
> Although putting runtime_get/put in submit and callback would be much more
> better than alloc/free implementation

When the prepare/submit is called from non-process context, the runtime
API tends to complain, so it's not that easy.

Also you can end up in situations which cause lockdep to complain,
especially when some of the runtime stuff calls out to an i2c controller
which then uses the dmaengine, but the dma engine also calls out to the
runtime api.  (I don't rememeber the exact details, I just remember having
to drop the runtime API from such places in the past.)



More information about the linux-arm-kernel mailing list