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 69da1ef3a17c6a8f497562f973ac03324ae68372..e49955d834f046636c214f61a83ca4971dfd3804 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 f8d8139b2d4213008c20b8543691d61b2124c54a..9576dbd116acf9374483ad9d7a413fe450edf688 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 16a1c5b46243a1c2be6d20856ddce7bd34a3fe7e..8ce76806a78b7255c166387efa960416da7e2c82 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 673dc598c2342a6040ce6395856f15a1a2fc3920..5d8c5b67ed42f06b029fd337552247ce10de0e25 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" },