From: Dmitry Osipenko <digetx@gmail.com>
To: "Jon Hunter" <jonathanh@nvidia.com>,
"Laxman Dewangan" <ldewangan@nvidia.com>,
"Vinod Koul" <vkoul@kernel.org>,
"Dan Williams" <dan.j.williams@intel.com>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Michał Mirosław" <mirq-linux@rere.qmqm.pl>
Cc: dmaengine@vger.kernel.org, linux-tegra@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v6 12/16] dmaengine: tegra-apb: Clean up suspend-resume
Date: Thu, 30 Jan 2020 21:06:54 +0300 [thread overview]
Message-ID: <ffd9dbd0-be74-7bb4-9ca9-a97ee8023fc2@gmail.com> (raw)
In-Reply-To: <394014f3-011a-d6b6-b5f2-f8c86834ec70@gmail.com>
30.01.2020 19:08, Dmitry Osipenko пишет:
> 30.01.2020 17:09, Jon Hunter пишет:
>>
>> On 30/01/2020 04:38, Dmitry Osipenko wrote:
>>> It is enough to check whether hardware is busy on suspend and to reset
>>> it across of suspend-resume because channel's configuration is fully
>>> re-programmed on each DMA transaction anyways and because save-restore
>>> of an active channel won't end up well without pausing transfer prior to
>>> saving of the state (note that all channels shall be idling at the time of
>>> suspend, so save-restore is not needed at all).
>>
>> I guess if we ever wanted to support SNDRV_PCM_INFO_PAUSE for audio and
>> support the pause callback, then saving and restoring the channels could
>> be needed. Right now I believe that it will just terminate_all transfers
>> for audio on entering suspend. Any value in keeping this?
>
> Indeed, looks like [1] pauses DMA during suspend if SNDRV_PCM_INFO_PAUSE
> is supported.
>
> [1]
> https://elixir.bootlin.com/linux/v5.5/source/sound/core/pcm_dmaengine.c#L199
>
> So we'll need to save-restore context only if DMA is in a paused state
> during suspend, I'll adjust this patch to do that and will see if
> enabling SNDRV_PCM_INFO_PAUSE works.
I started to look at it and found that the .device_pause() hook isn't
implemented by the driver. So, it's fine to remove the context's
save-restore for now.
Jon, what about to keep this patch as-is? Later on I'll take a look at
implementing the proper pausing functionality and try to cleanup code a
bit further (remove the free list usage, etc).
next prev parent reply other threads:[~2020-01-30 18:07 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-30 4:37 [PATCH v6 00/16] NVIDIA Tegra APB DMA driver fixes and improvements Dmitry Osipenko
2020-01-30 4:37 ` Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 01/16] dmaengine: tegra-apb: Fix use-after-free Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 02/16] dmaengine: tegra-apb: Prevent race conditions of tasklet vs free list Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 03/16] dmaengine: tegra-apb: Implement synchronization hook Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 04/16] dmaengine: tegra-apb: Prevent race conditions on channel's freeing Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 05/16] dmaengine: tegra-apb: Clean up tasklet releasing Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 06/16] dmaengine: tegra-apb: Use devm_platform_ioremap_resource Dmitry Osipenko
2020-01-30 4:37 ` Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 07/16] dmaengine: tegra-apb: Use devm_request_irq Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 08/16] dmaengine: tegra-apb: Fix coding style problems Dmitry Osipenko
2020-01-30 14:08 ` Jon Hunter
2020-01-30 14:08 ` Jon Hunter
2020-01-30 4:37 ` [PATCH v6 09/16] dmaengine: tegra-apb: Remove unneeded initialization of tdc->config_init Dmitry Osipenko
2020-01-30 4:37 ` Dmitry Osipenko
2020-01-30 14:08 ` Jon Hunter
2020-01-30 14:08 ` Jon Hunter
2020-01-30 4:37 ` [PATCH v6 10/16] dmaengine: tegra-apb: Remove assumptions about unavailable runtime PM Dmitry Osipenko
2020-01-30 14:09 ` Jon Hunter
2020-01-30 14:09 ` Jon Hunter
2020-01-30 16:09 ` Dmitry Osipenko
2020-01-30 4:37 ` [PATCH v6 11/16] dmaengine: tegra-apb: Keep clock enabled only during of DMA transfer Dmitry Osipenko
2020-01-30 4:37 ` Dmitry Osipenko
2020-01-30 14:09 ` Jon Hunter
2020-01-30 14:09 ` Jon Hunter
2020-01-30 16:11 ` Dmitry Osipenko
2020-01-30 16:11 ` Dmitry Osipenko
2020-01-30 18:45 ` Jon Hunter
2020-01-30 18:45 ` Jon Hunter
2020-01-30 20:04 ` Dmitry Osipenko
2020-01-31 9:02 ` Jon Hunter
2020-01-31 9:02 ` Jon Hunter
2020-01-31 14:22 ` Dmitry Osipenko
2020-01-31 14:22 ` Dmitry Osipenko
2020-02-01 15:13 ` Dmitry Osipenko
2020-02-01 15:13 ` Dmitry Osipenko
2020-02-03 11:37 ` Jon Hunter
2020-02-03 11:37 ` Jon Hunter
2020-02-03 16:24 ` Dmitry Osipenko
2020-01-31 9:05 ` Jon Hunter
2020-01-31 9:05 ` Jon Hunter
2020-01-30 4:38 ` [PATCH v6 12/16] dmaengine: tegra-apb: Clean up suspend-resume Dmitry Osipenko
2020-01-30 4:38 ` Dmitry Osipenko
2020-01-30 14:09 ` Jon Hunter
2020-01-30 14:09 ` Jon Hunter
2020-01-30 16:08 ` Dmitry Osipenko
2020-01-30 16:08 ` Dmitry Osipenko
2020-01-30 18:06 ` Dmitry Osipenko [this message]
2020-01-30 18:26 ` Dmitry Osipenko
2020-01-30 18:26 ` Dmitry Osipenko
2020-01-30 18:58 ` Jon Hunter
2020-01-30 18:58 ` Jon Hunter
2020-01-30 19:00 ` Jon Hunter
2020-01-30 19:00 ` Jon Hunter
2020-01-30 20:06 ` Dmitry Osipenko
2020-01-30 20:06 ` Dmitry Osipenko
2020-01-30 4:38 ` [PATCH v6 13/16] dmaengine: tegra-apb: Add missing of_dma_controller_free Dmitry Osipenko
2020-01-30 4:38 ` [PATCH v6 14/16] dmaengine: tegra-apb: Allow to compile as a loadable kernel module Dmitry Osipenko
2020-01-30 4:38 ` [PATCH v6 15/16] dmaengine: tegra-apb: Remove MODULE_ALIAS Dmitry Osipenko
2020-01-30 4:38 ` Dmitry Osipenko
2020-01-30 4:38 ` [PATCH v6 16/16] dmaengine: tegra-apb: Support COMPILE_TEST Dmitry Osipenko
2020-01-30 4:38 ` Dmitry Osipenko
2020-01-30 14:10 ` Jon Hunter
2020-01-30 14:10 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ffd9dbd0-be74-7bb4-9ca9-a97ee8023fc2@gmail.com \
--to=digetx@gmail.com \
--cc=dan.j.williams@intel.com \
--cc=dmaengine@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=ldewangan@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=mirq-linux@rere.qmqm.pl \
--cc=thierry.reding@gmail.com \
--cc=vkoul@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.