[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120913153824.GK28448@n2100.arm.linux.org.uk>
Date: Thu, 13 Sep 2012 16:38:24 +0100
From: Russell King - ARM Linux <linux@....linux.org.uk>
To: Lars-Peter Clausen <lars@...afoo.de>
Cc: Peter Ujfalusi <peter.ujfalusi@...com>,
Mark Brown <broonie@...nsource.wolfsonmicro.com>,
Liam Girdwood <lrg@...com>, Tony Lindgren <tony@...mide.com>,
Vinod Koul <vinod.koul@...el.com>, Dan Williams <djbw@...com>,
Jarkko Nikula <jarkko.nikula@...mer.com>,
alsa-devel@...a-project.org, linux-omap@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Janusz Krzysztofik <jkrzyszt@....icnet.pl>,
Ricardo Neri <ricardo.neri@...com>
Subject: Re: [PATCH v2 03/15] dmaengine: Add no_wakeup parameter to
dmaengine_prep_dma_cyclic()
On Thu, Sep 13, 2012 at 05:27:09PM +0200, Lars-Peter Clausen wrote:
> Hm... Do you think it would work as well if we implement this by setting the
> callback for the descriptor to NULL? If the callback is NULL there is
> nothing to at the end of a transfer/period and the dma engine driver may
> choose to disable interrupts. This would also benefit non cyclic transfers
> where the callback is NULL and we do not need add the new parameter to
> dmaengine_prep_dma_cyclic.
Actually, there's a way to do that already. DMA_PREP_INTERRUPT.
Unfortunately, most DMA engine slave API users don't set it when they
setup their transfer:
* @DMA_PREP_INTERRUPT - trigger an interrupt (callback) upon completion of
* this transaction
if we fixed that, then we could use the lack of it to avoid the interrupt.
However, cyclic transfers don't have the flags parameter used to pass this
bit. Yet another bit of yucky inconsistent design in DMA engine land...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists