• Mark Brown's avatar
    ASoC: Run bias level changes for all DAPM contexts in parallel · 9d0624a7
    Mark Brown authored
    As bias level changes can be quite time consuming and the bias changes
    for multiple devices aren't strongly tied to each other (if anything it
    can be advantageous to bring different devices up together) we can improve
    the state transition time for multi-component systems by running the bias
    level changes for all the devices in parallel. This is very simple to
    achieve using the kernel async functionality so use that to schedule the
    work.
    
    This should have no practical effect for the overwhelming majority of
    systems which have a single DAPM context - we'll bounce into another
    thread to do the bias level change but otherwise everything will happen
    in exactly the same order as it did before.
    Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
    Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
    9d0624a7
soc-dapm.c 61.4 KB