[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHp75Vc-By8mNzBoMqVSNac_yjX3J_Tv24pSxAw1FEFHTAwFLA@mail.gmail.com>
Date: Wed, 3 Feb 2021 19:08:49 +0200
From: Andy Shevchenko <andy.shevchenko@...il.com>
To: Cezary Rojewski <cezary.rojewski@...el.com>
Cc: dmaengine <dmaengine@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Dan Williams <dan.j.williams@...el.com>,
Andy Shevchenko <andriy.shevchenko@...ux.intel.com>,
viresh kumar <vireshk@...nel.org>,
Vinod Koul <vkoul@...nel.org>
Subject: Re: [PATCH] Revert "dmaengine: dw: Enable runtime PM"
On Wed, Feb 3, 2021 at 7:06 PM Andy Shevchenko
<andy.shevchenko@...il.com> wrote:
>
> On Wed, Feb 3, 2021 at 5:53 PM Cezary Rojewski
> <cezary.rojewski@...el.com> 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
Powered by blists - more mailing lists