Messages in this thread | | | Subject | Re: [PATCH] dma: dw: Add suspend and resume handling for PCI mode DW_DMAC. | From | Andy Shevchenko <> | Date | Thu, 19 Dec 2013 12:51:29 +0200 |
| |
On Wed, 2013-12-18 at 21:19 +0530, Vinod Koul wrote: > On Mon, Dec 16, 2013 at 01:51:47PM +0530, Chew, Chiau Ee wrote:
> > As mentioned by Andy, we are using *_noirq verion of suspend/resume PM > > callback whereby the callbacks would be executed after IRQ handlers have been > > disabled. If using SET_SYSTEM_SLEEP_PM_OPS, it would be the normal > > suspend/resume PM callback. Looking at the Desginware DMAC platform code > > (drivers/dma/dw/platform.c), it is using the *_noirq suspend/resume PM > > callback. Is it advisable to use the normal suspend/resume PM callback instead > > of *_noirq suspend/PM callback? > > i dont see a reason why we need the noirq versions
Okay. I imagine the following use case.
For example we have compiled in DMA driver (dw_dmac) along with, for example, SPI driver.
System was scheduled to go sleep.
An order of calling IIUC might be DMA first, then SPI (since they are not in parent / child relations).
What was happened when SPI would like to do a DMA transfer and DMA is going to sleep? I'm trying to understand if this is a case.
> > > How about SET_SYSTEM_SLEEP_PM_OPS instead? > > > > So, we are using *_noirq versions of the functions here. What happened when we switch to normal ones? Any side effects?
-- Andy Shevchenko <andriy.shevchenko@linux.intel.com> Intel Finland Oy
| |