Re: [PATCH] Revert "dmaengine: dw: Enable runtime PM"

From: Andy Shevchenko
Date: Wed Feb 03 2021 - 12:10:10 EST


On Wed, Feb 3, 2021 at 7:06 PM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
>
> On Wed, Feb 3, 2021 at 5:53 PM Cezary Rojewski
> <cezary.rojewski@xxxxxxxxx> wrote:
> >
> > This reverts commit 842067940a3e3fc008a60fee388e000219b32632.
> > For some solutions e.g. sound/soc/intel/catpt, DW DMA is part of a
> > compound device (in that very example, domains: ADSP, SSP0, SSP1, DMA0
> > and DMA1 are part of a single entity) rather than being a standalone
> > one. Driver for said device may enlist DMA to transfer data during
> > suspend or resume sequences.
> >
> > Manipulating RPM explicitly in dw's DMA request and release channel
> > functions causes suspend() to also invoke resume() for the exact same
> > device. Similar situation occurs for resume() sequence. Effectively
> > renders device dysfunctional after first suspend() attempt. Revert the
> > change to address the problem.
>
> I kinda had the mixed feelings about this, thanks for the report.

Side note: the better solution in general seems to have a specific
power domain for the ASoC multi-function devices (if ever you move to
use auxiliary bus, it may be done easier I think).

--
With Best Regards,
Andy Shevchenko