[RFC PATCH v3 04/13] ASoC: soc-pcm: introduce snd_soc_dpcm_fe_lock_irq/unlock_irq()

Sameer Pujar spujar at nvidia.com
Fri Oct 15 08:24:34 CEST 2021



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 at 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 
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.


More information about the Alsa-devel mailing list