Re: [RFC 04/34] dmaengine: PL08x: remove runtime PM support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

On Thu, May 31, 2012 at 08:46:28AM +0800, Linus Walleij wrote:
> On Tue, May 29, 2012 at 5:36 PM, Russell King
> <rmk+kernel@xxxxxxxxxxxxxxxx> wrote:
> > The runtime PM support conflicts with the generic AMBA bus PM, and also
> > causes a potential deadlock with the PL011 driver as it results in
> > interrupts being enabled beneath a spinlock.
> >
> > I don't presently see any solution to this other than by removing the
> > runtime PM support entirely from the DMA engine driver.  Alternative
> > suggestions welcome.
> I took a look again and cannot see any simple way to do this.
> It basically looks like we need to have job submission put stuff
> in a queue and kick a worker or kthread to have that do the
> get_sync() operation and proceed to submit the descriptors,
> lest we always run the risk of being in irq context.
> Perfectly doable, but can be done at some other time.

It becomes a lot easier towards the end of this series where we end up
separating the completion tasklet from the general management of the
DMA engine (through use of the virt-dma stuff.)

However, please realise that a lot of these problems aren't specific to
one DMA engine implementation, so we _really_ should be thinking about
how to provide libraries for DMA engine implementations to use.

linux-arm-kernel mailing list

[Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [PDAs]     [Linux]     [Linux MIPS]     [Yosemite Campsites]     [Photos]

Add to Google Follow linuxarm on Twitter