[PATCHv4 2/6] dmaengine: mv_xor: add suspend/resume support
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Wed Jul 29 02:34:05 PDT 2015
Vinod,
On Wed, 22 Jul 2015 10:40:11 +0530, Vinod Koul wrote:
> > +static int mv_xor_suspend(struct platform_device *pdev, pm_message_t state)
> > +{
> > + struct mv_xor_device *xordev = platform_get_drvdata(pdev);
> > + int i;
> > +
> > + for (i = 0; i < MV_XOR_MAX_CHANNELS; i++) {
> > + struct mv_xor_chan *mv_chan = xordev->channels[i];
> > +
> > + if (!mv_chan)
> > + continue;
> > +
> > + mv_chan->saved_config_reg =
> > + readl_relaxed(XOR_CONFIG(mv_chan));
> > + mv_chan->saved_int_mask_reg =
> > + readl_relaxed(XOR_INTR_MASK(mv_chan));
> this sound fine, but I am missing the suspension of the channel. If a
> transfer was active while suspend was invoked then how would this work?
There are indeed no provisions to handle this problem. Does the
dmaengine framework provide any helpers to ease with this? I have
quickly looked at other dmaengine drivers, and I haven't seen any of
them taking care of this problem. Do you have a pointer to a driver
handling this problem?
Thanks,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
More information about the linux-arm-kernel
mailing list