ASoC: arizona: Attach SYSCLK to DSP preloaders
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Tue, 20 Sep 2016 12:52:30 +0000 (13:52 +0100)
committerMark Brown <broonie@kernel.org>
Sat, 24 Sep 2016 18:34:18 +0000 (19:34 +0100)
Currently SYSCLK is attached to every compressed DAI as this follows the
pattern of attaching clocks to the chips inputs and outputs, however, it is
really the DSP that requires the clock here. As firmware download can be a
significant part of the path startup time for these devices occasionally it
would be desirable to download the firmware in advance of the path being
brought up.

To help facilitate this early firmware loading this patch attaches the
SYSCLK to the DSP preloader widget. This also saves us adding a new route
to SYSCLK every time a new compressed DAI is created.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/arizona.h
sound/soc/codecs/cs47l24.c
sound/soc/codecs/wm5102.c
sound/soc/codecs/wm5110.c

index 69da1ef..e49955d 100644 (file)
@@ -190,6 +190,7 @@ extern unsigned int arizona_mixer_values[ARIZONA_NUM_MIXER_INPUTS];
 
 #define ARIZONA_DSP_ROUTES(name) \
        { name, NULL, name " Preloader"}, \
+       { name " Preloader", NULL, "SYSCLK" }, \
        { name " Preloader", NULL, name " Aux 1" }, \
        { name " Preloader", NULL, name " Aux 2" }, \
        { name " Preloader", NULL, name " Aux 3" }, \
index f8d8139..9576dbd 100644 (file)
@@ -814,7 +814,6 @@ static const struct snd_soc_dapm_route cs47l24_dapm_routes[] = {
        { "AIF3 Capture", NULL, "SYSCLK" },
 
        { "Voice Control DSP", NULL, "DSP3" },
-       { "Voice Control DSP", NULL, "SYSCLK" },
 
        { "IN1L PGA", NULL, "IN1L" },
        { "IN1R PGA", NULL, "IN1R" },
@@ -823,7 +822,6 @@ static const struct snd_soc_dapm_route cs47l24_dapm_routes[] = {
        { "IN2R PGA", NULL, "IN2R" },
 
        { "Audio Trace DSP", NULL, "DSP2" },
-       { "Audio Trace DSP", NULL, "SYSCLK" },
 
        ARIZONA_MIXER_ROUTES("OUT1L", "HPOUT1L"),
        ARIZONA_MIXER_ROUTES("OUT1R", "HPOUT1R"),
index 16a1c5b..8ce7680 100644 (file)
@@ -1610,7 +1610,6 @@ static const struct snd_soc_dapm_route wm5102_dapm_routes[] = {
        { "Slim3 Capture", NULL, "SYSCLK" },
 
        { "Audio Trace DSP", NULL, "DSP1" },
-       { "Audio Trace DSP", NULL, "SYSCLK" },
 
        { "IN1L PGA", NULL, "IN1L" },
        { "IN1R PGA", NULL, "IN1R" },
index 673dc59..5d8c5b6 100644 (file)
@@ -1842,10 +1842,8 @@ static const struct snd_soc_dapm_route wm5110_dapm_routes[] = {
        { "Slim3 Capture", NULL, "SYSCLK" },
 
        { "Voice Control DSP", NULL, "DSP3" },
-       { "Voice Control DSP", NULL, "SYSCLK" },
 
        { "Audio Trace DSP", NULL, "DSP1" },
-       { "Audio Trace DSP", NULL, "SYSCLK" },
 
        { "IN1L PGA", NULL, "IN1L" },
        { "IN1R PGA", NULL, "IN1R" },