lkml.org 
[lkml]   [2018]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.15 085/189] ASoC: rockchip: Use dummy_dai for rt5514 dsp dailink
    Date
    From: Jeffy Chen <jeffy.chen@rock-chips.com>

    [ Upstream commit fde7f9dbc71365230eeb8c8ea97ce9b552c8e5bd ]

    The rt5514 dsp captures pcm data through spi directly, so we should not
    use rockchip-i2s as it's cpu dai like other codecs.

    Use dummy_dai for rt5514 dsp dailink to make voice wakeup work again.

    Reported-by: Jimmy Cheng-Yi Chiang <cychiang@google.com>
    Fixes: (72cfb0f20c75 ASoC: rockchip: Use codec of_node and dai_name for rt5514 dsp)
    Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
    Tested-by: Brian Norris <briannorris@chromium.org>
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    sound/soc/rockchip/rk3399_gru_sound.c | 19 ++++++++++++++++---
    1 file changed, 16 insertions(+), 3 deletions(-)

    diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c
    index d64fbbd50544..aa8ffd035377 100644
    --- a/sound/soc/rockchip/rk3399_gru_sound.c
    +++ b/sound/soc/rockchip/rk3399_gru_sound.c
    @@ -367,7 +367,8 @@ static const struct snd_soc_dai_link rockchip_dais[] = {
    [DAILINK_RT5514_DSP] = {
    .name = "RT5514 DSP",
    .stream_name = "Wake on Voice",
    - .codec_dai_name = "rt5514-dsp-cpu-dai",
    + .codec_name = "snd-soc-dummy",
    + .codec_dai_name = "snd-soc-dummy-dai",
    },
    };

    @@ -528,7 +529,18 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
    if (index < 0)
    continue;

    - np_cpu = (index == DAILINK_CDNDP) ? np_cpu1 : np_cpu0;
    + switch (index) {
    + case DAILINK_CDNDP:
    + np_cpu = np_cpu1;
    + break;
    + case DAILINK_RT5514_DSP:
    + np_cpu = np_codec;
    + break;
    + default:
    + np_cpu = np_cpu0;
    + break;
    + }
    +
    if (!np_cpu) {
    dev_err(dev, "Missing 'rockchip,cpu' for %s\n",
    rockchip_dais[index].name);
    @@ -538,7 +550,8 @@ static int rockchip_sound_of_parse_dais(struct device *dev,
    dai = &card->dai_link[card->num_links++];
    *dai = rockchip_dais[index];

    - dai->codec_of_node = np_codec;
    + if (!dai->codec_name)
    + dai->codec_of_node = np_codec;
    dai->platform_of_node = np_cpu;
    dai->cpu_of_node = np_cpu;

    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 05:55    [W:4.239 / U:0.240 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site