[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <6d7c8d71-d131-fd92-c1c6-e4f4380a4f77@linux.intel.com>
Date: Fri, 15 Oct 2021 07:24:52 -0500
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Sameer Pujar <spujar@...dia.com>, alsa-devel@...a-project.org
Cc: tiwai@...e.de, broonie@...nel.org, vkoul@...nel.org,
Gyeongtaek Lee <gt82.lee@...sung.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
open list <linux-kernel@...r.kernel.org>
Subject: Re: [RFC PATCH v3 04/13] ASoC: soc-pcm: introduce
snd_soc_dpcm_fe_lock_irq/unlock_irq()
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@...ux.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?
Powered by blists - more mailing lists