• Liam Girdwood's avatar
    ASoC: core - PCM mutex per rtd · b8c0dab9
    Liam Girdwood authored
    In preparation for the new ASoC Dynamic PCM support (AKA DSP support).
    
    The new ASoC Dynamic PCM core allows DAIs to be dynamically re-routed
    at runtime between the PCM device end (or Frontend - FE) and the physical DAI
    (Backend - BE) using regular kcontrols (just like a hardware CODEC routes
    audio in the analog domain). The Dynamic PCM core therefore must be
    able to call PCM operations for both the Frontend and Backend(s) DAIs at
    the same time.
    
    Currently we have a global pcm_mutex that is used to serialise
    the ASoC PCM operations. This patch removes the global mutex
    and adds a mutex per RTD allowing the PCM operations to be reentrant and
    allow control of more than one DAI at at time. e.g. a frontend PCM hw_params()
    could configure multiple backend DAI hw_params() with similar or different
    hw parameters at the same time.
    Signed-off-by: default avatarLiam Girdwood <lrg@ti.com>
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    b8c0dab9
soc-pcm.c 18.6 KB