[PATCH v4 8/8] DMA: Freescale: add suspend resume functions for DMA driver

Shevchenko, Andriy andriy.shevchenko at intel.com
Wed May 7 18:31:34 EST 2014


On Sun, 2014-05-04 at 18:22 +0800, Hongbo Zhang wrote:
> On 05/03/2014 12:46 AM, Vinod Koul wrote:
> > On Fri, Apr 18, 2014 at 04:17:51PM +0800, hongbo.zhang at freescale.com wrote:
> >> From: Hongbo Zhang <hongbo.zhang at freescale.com>
> >>
> >> This patch adds suspend resume functions for Freescale DMA driver.
> >> .prepare callback is used to stop further descriptors from being added into the
> >> pending queue, and also issue pending queues into execution if there is any.
> >> .suspend callback makes sure all the pending jobs are cleaned up and all the
> >> channels are idle, and save the mode registers.
> >> .resume callback re-initializes the channels by restore the mode registers.
> >>
> >> +
> >> +static const struct dev_pm_ops fsldma_pm_ops = {
> >> +	.prepare	= fsldma_prepare,
> >> +	.suspend	= fsldma_suspend,
> >> +	.resume		= fsldma_resume,
> >> +};
> > I think this is not correct. We discussed this sometime back on list. The
> > DMAengine drivers should use late resume and early suspend to ensure they get
> > suspended after clients (who should use normal ones) and resume before them
> >
> OK, will update it like this:
> use .suspend to take place of current .prepare

Could you remove this at all?

Answering to your previous statements I could say that.
Device drivers (DMAc users) that don't implement .suspend callback are
on their own with troubles, you have not to care about them in the DMA
driver.

> use .suspend_late to take place of current .suspend
> use .resume_early to take place of current .resume
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe dmaengine" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


-- 
Andy Shevchenko <andriy.shevchenko at intel.com>
Intel Finland Oy
---------------------------------------------------------------------
Intel Finland Oy
Registered Address: PL 281, 00181 Helsinki 
Business Identity Code: 0357606 - 4 
Domiciled in Helsinki 

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.


More information about the Linuxppc-dev mailing list