Re: [RFC PATCH v3 04/13] ASoC: soc-pcm: introduce snd_soc_dpcm_fe_lock_irq/unlock_irq()
From: Sameer Pujar
Date: Fri Oct 15 2021 - 02:24:54 EST
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@xxxxxxxxxxxxxxx>
---
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.