Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TEST ONLY] ASoC: core: Move pcm_mutex up to card level from snd_soc_pcm_runtime #1132

Commits on Aug 14, 2019

  1. ASoC: core: Move pcm_mutex up to card level from snd_soc_pcm_runtime

    The pcm_mutex is used to prevent concurrent execution of snd_pcm_ops
    callbacks. This works fine most of the cases but it can not handle setups
    when the same DAI is used by different rtd, for example:
    pcm3168a have two DAIs: one for Playback and one for Capture.
    If the codec is connected to a single CPU DAI we need to have two dai_link
    to support both playback and capture.
    
    In this case the snd_pcm_ops callbacks can be executed in parallel causing
    unexpected races in DAI drivers.
    
    By moving the pcm_mutex up to card level this can be solved
    while - hopefully - not breaking other setups.
    
    Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
    Peter Ujfalusi authored and plbossart committed Aug 14, 2019
    Configuration menu
    Copy the full SHA
    608bad0 View commit details
    Browse the repository at this point in the history