[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <5dd21b4c-2159-5a79-f33f-f199cf352db4@intel.com>
Date: Wed, 3 Feb 2021 20:23:01 +0100
From: Cezary Rojewski <cezary.rojewski@...el.com>
To: Andy Shevchenko <andy.shevchenko@...il.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 2021-02-03 6:08 PM, Andy Shevchenko wrote:
> 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).
This is an area I haven't touched yet. Will definitely check it out.
Thanks for the recommendations, Andy. Much appreciated.
Regards,
Czarek
Powered by blists - more mailing lists