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(-)
- 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.
- 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?