From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Sameer Pujar <spujar@nvidia.com>, alsa-devel@alsa-project.org
Cc: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
tiwai@suse.de, open list <linux-kernel@vger.kernel.org>,
Takashi Iwai <tiwai@suse.com>,
Liam Girdwood <lgirdwood@gmail.com>,
vkoul@kernel.org, broonie@kernel.org,
Gyeongtaek Lee <gt82.lee@samsung.com>,
Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Subject: Re: [RFC PATCH v3 04/13] ASoC: soc-pcm: introduce snd_soc_dpcm_fe_lock_irq/unlock_irq()
Date: Fri, 15 Oct 2021 07:24:52 -0500 [thread overview]
Message-ID: <6d7c8d71-d131-fd92-c1c6-e4f4380a4f77@linux.intel.com> (raw)
In-Reply-To: <a98ea2c6-e617-0fb7-8b24-99b8edc8868a@nvidia.com>
On 10/15/21 1:24 AM, Sameer Pujar wrote:
>
>
> On 10/13/2021 8:00 PM, Pierre-Louis Bossart wrote:
>> In preparation for more changes, add two new helpers to gradually
>> modify the DPCM locks.
>>
>> Since DPCM functions are not used from interrupt handlers, we can only
>> use the lock_irq case.
>>
>> While most of the uses of DPCM are internal to soc-pcm.c, some drivers
>> in soc/fsl and soc/sh do make use of DPCM-related loops that will
>> require protection, adding EXPORT_SYMBOL_GPL() is needed for those
>> drivers.
>>
>> The stream argument is unused in this patch but will be enabled in
>> follow-up patches.
>>
>> Signed-off-by: Pierre-Louis Bossart
>> <pierre-louis.bossart@linux.intel.com>
>> ---
>> include/sound/soc-dpcm.h | 3 +++
>> sound/soc/soc-pcm.c | 42 +++++++++++++++++++++++-----------------
>> 2 files changed, 27 insertions(+), 18 deletions(-)
>
> 1. Till this patch and with DEBUG_LOCKDEP config enabled, I see
Did you mean "with this patch included", yes?
> following warning:
> "WARNING: CPU: 0 PID: 0 at kernel/locking/irqflag-debug.c:10
> warn_bogus_irq_restore+0x30/0x40"
>
> However test passed though. Interestingly it was seen only for the
> first time I ran a 2x1 mixer test.
>
> 2. Also after I load sound modules and card gets registered, I see some
> hw_param() calls for FE and BE. This seems harmless at this point, but
> is getting problematic with subsequent patches. This was not happening
> earier.
This patch doesn't change any of the flow, it just adds a wrapper in
preparation for the transition to the FE pcm lock.
The only change is that we use spin_lock_irq instead of the
irqsave/restore version, but that was also Takashi's recommendation.
the test results would suggest that on Tegra DPCM functions are used
from an interrupt context?
WARNING: multiple messages have this Message-ID (diff)
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: Sameer Pujar <spujar@nvidia.com>, alsa-devel@alsa-project.org
Cc: tiwai@suse.de, broonie@kernel.org, vkoul@kernel.org,
Gyeongtaek Lee <gt82.lee@samsung.com>,
Peter Ujfalusi <peter.ujfalusi@linux.intel.com>,
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>,
Liam Girdwood <lgirdwood@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
open list <linux-kernel@vger.kernel.org>
Subject: Re: [RFC PATCH v3 04/13] ASoC: soc-pcm: introduce snd_soc_dpcm_fe_lock_irq/unlock_irq()
Date: Fri, 15 Oct 2021 07:24:52 -0500 [thread overview]
Message-ID: <6d7c8d71-d131-fd92-c1c6-e4f4380a4f77@linux.intel.com> (raw)
In-Reply-To: <a98ea2c6-e617-0fb7-8b24-99b8edc8868a@nvidia.com>
On 10/15/21 1:24 AM, Sameer Pujar wrote:
>
>
> On 10/13/2021 8:00 PM, Pierre-Louis Bossart wrote:
>> In preparation for more changes, add two new helpers to gradually
>> modify the DPCM locks.
>>
>> Since DPCM functions are not used from interrupt handlers, we can only
>> use the lock_irq case.
>>
>> While most of the uses of DPCM are internal to soc-pcm.c, some drivers
>> in soc/fsl and soc/sh do make use of DPCM-related loops that will
>> require protection, adding EXPORT_SYMBOL_GPL() is needed for those
>> drivers.
>>
>> The stream argument is unused in this patch but will be enabled in
>> follow-up patches.
>>
>> Signed-off-by: Pierre-Louis Bossart
>> <pierre-louis.bossart@linux.intel.com>
>> ---
>> include/sound/soc-dpcm.h | 3 +++
>> sound/soc/soc-pcm.c | 42 +++++++++++++++++++++++-----------------
>> 2 files changed, 27 insertions(+), 18 deletions(-)
>
> 1. Till this patch and with DEBUG_LOCKDEP config enabled, I see
Did you mean "with this patch included", yes?
> following warning:
> "WARNING: CPU: 0 PID: 0 at kernel/locking/irqflag-debug.c:10
> warn_bogus_irq_restore+0x30/0x40"
>
> However test passed though. Interestingly it was seen only for the
> first time I ran a 2x1 mixer test.
>
> 2. Also after I load sound modules and card gets registered, I see some
> hw_param() calls for FE and BE. This seems harmless at this point, but
> is getting problematic with subsequent patches. This was not happening
> earier.
This patch doesn't change any of the flow, it just adds a wrapper in
preparation for the transition to the FE pcm lock.
The only change is that we use spin_lock_irq instead of the
irqsave/restore version, but that was also Takashi's recommendation.
the test results would suggest that on Tegra DPCM functions are used
from an interrupt context?
next prev parent reply other threads:[~2021-10-15 12:26 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-13 14:30 [RFC PATCH v3 00/13] ASoC : soc-pcm: fix trigger race conditions with shared BE Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 01/13] ASoC: soc-pcm: remove snd_soc_dpcm_fe_can_update() Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 02/13] ASoC: soc-pcm: don't export local functions, use static Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 03/13] ASoC: soc-pcm: use proper indentation on 'continue' Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 04/13] ASoC: soc-pcm: introduce snd_soc_dpcm_fe_lock_irq/unlock_irq() Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-15 6:24 ` Sameer Pujar
2021-10-15 6:24 ` Sameer Pujar
2021-10-15 12:24 ` Pierre-Louis Bossart [this message]
2021-10-15 12:24 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 05/13] ASoC: soc-pcm: align BE 'atomicity' with that of the FE Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-15 6:24 ` Sameer Pujar
2021-10-15 6:24 ` Sameer Pujar
2021-10-15 7:39 ` Takashi Iwai
2021-10-15 7:39 ` Takashi Iwai
2021-10-15 11:22 ` Pierre-Louis Bossart
2021-10-15 11:22 ` Pierre-Louis Bossart
2021-10-15 12:04 ` Pierre-Louis Bossart
2021-10-15 12:04 ` Pierre-Louis Bossart
2021-10-15 15:38 ` Takashi Iwai
2021-10-15 15:38 ` Takashi Iwai
2021-10-15 16:22 ` Pierre-Louis Bossart
2021-10-15 16:22 ` Pierre-Louis Bossart
2021-10-15 16:56 ` Takashi Iwai
2021-10-15 16:56 ` Takashi Iwai
2021-10-15 17:08 ` Pierre-Louis Bossart
2021-10-15 17:08 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 06/13] ASoC: soc-pcm: remove dpcm spin_lock, use PCM stream lock Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 07/13] ASoC: soc-pcm: protect for_each_dpcm_be() loops Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-15 6:24 ` Sameer Pujar
2021-10-15 6:24 ` Sameer Pujar
2021-10-15 11:02 ` Pierre-Louis Bossart
2021-10-15 11:02 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 08/13] ASoC: soc-compress: " Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 09/13] ASoC: sh: rcar: " Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 10/13] ASoC: fsl: asrc_dma: " Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 11/13] ASoC: soc-pcm: serialize BE triggers Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 12/13] ASoC: soc-pcm: test refcount before triggering Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
2021-10-13 14:30 ` [RFC PATCH v3 13/13] ASoC: soc-pcm: fix BE handling of PAUSE_RELEASE Pierre-Louis Bossart
2021-10-13 14:30 ` Pierre-Louis Bossart
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=6d7c8d71-d131-fd92-c1c6-e4f4380a4f77@linux.intel.com \
--to=pierre-louis.bossart@linux.intel.com \
--cc=alsa-devel@alsa-project.org \
--cc=broonie@kernel.org \
--cc=gt82.lee@samsung.com \
--cc=kuninori.morimoto.gx@renesas.com \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=peter.ujfalusi@linux.intel.com \
--cc=spujar@nvidia.com \
--cc=tiwai@suse.com \
--cc=tiwai@suse.de \
--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.