Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp343378ybh; Wed, 22 Jul 2020 02:00:45 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzTI9SiMMWcQDjJQLahiDVtjIXtZc51bbH+rVYe4DBZsnS59DQ1c1Qyw/XWLCcIx32pUIyu X-Received: by 2002:a17:906:950c:: with SMTP id u12mr28462361ejx.37.1595408445492; Wed, 22 Jul 2020 02:00:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595408445; cv=none; d=google.com; s=arc-20160816; b=UyUkf5BjyJ0ezQ3nH4Jx2YE5oA2tM8ZMloj+i4DFxVCrfTb7sROpgDiocNKrZqu2Lh lKyamfb1O5uHkw4jAD2IYp/GwlbMyQaKSmUR0suMlnxLE/71wqJ9YJxjHJbC7FkN/eQn /I2lGP2Bh1T4J68VsjJ91PIOd6+KqiTZr4NYbl+jg1+lgYULFUuFUzk9cqWCxz/lbseA W4RMBZfLjoBic073iyobm0PcC7PbP0JQ/Mc306NeWpgWXWl5mck7TnCaZaCHWqEIeUDW ngJhtl3MmByYB7ZtY9LAwiUDosOCbxc+6s3EA2A2ateUW+zxTZTj0Xn4vJR7Ytr0Xj2r Jkzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature; bh=F5fdDXlwfjwIinCr8su6jkG9d0SAhaK9tLXOO3l7hIE=; b=qrLXAyOKi0WbYCymcO+qTPtEu5eNmiofPZY89eGAIIYBB+iZ9fgZCCCmeBnIiSvGib Jqkk/7OwG7e1RlaYPrXbrT4E4eUGXdV0osPaTiFoz1sfk6IykgMoA5igQG0k8vW9dT9K 0e8vRjnbs8GqfzeDoW78mSmLugiQSYCTUXVv5De9TGHrgH+VR557RyA3H23SzACI/4Bl PjemPVrr+aVUeUCHXzqAwO6WVHlEbXbo86TSf1J1lp5xCm5Bm4kHoEHRwr6zgPLJsyRo mu+RXJgS4/bKZoeSHFtrIRZh7rKdoYDElkbvnQueAswIwaGKNO0K887UedtPCxb72Ate mG/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=F8CTMULF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id h14si14178274edr.586.2020.07.22.02.00.22; Wed, 22 Jul 2020 02:00:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=F8CTMULF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730986AbgGVI7z (ORCPT + 99 others); Wed, 22 Jul 2020 04:59:55 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57054 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726870AbgGVI7y (ORCPT ); Wed, 22 Jul 2020 04:59:54 -0400 Received: from mail-wr1-x441.google.com (mail-wr1-x441.google.com [IPv6:2a00:1450:4864:20::441]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 766B5C0619DC for ; Wed, 22 Jul 2020 01:59:54 -0700 (PDT) Received: by mail-wr1-x441.google.com with SMTP id b6so1088821wrs.11 for ; Wed, 22 Jul 2020 01:59:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=F5fdDXlwfjwIinCr8su6jkG9d0SAhaK9tLXOO3l7hIE=; b=F8CTMULFLzaFjIJ7+GwGlU2MUkJ1AUy0wyKX5EjDTQRi0H7mDwjpZdhr2w7fl993fA gPQEqFDtN8Md7QihaN/WgOiTyR4PUX7IK8UMiBa4BIQATy1996tbDMDaQoTj7gTsp6yr ka0cb7nMcIHpxihoPxxO4JjzjsRqnjTK8Ao2yOckwYFGzKOLLOJP3dgJ+J5tgT7noQ2z MIC9Ns2MIs3bRqR+Ul6yfnvgfZopdO/N95oioHCMbj3nm/S5qn3GRx1TAl5ZoD9pr6KL jDx1IFyJ3P6S1ggft6hDordP2BgEn/YnTIzL2vw6e0DY5Kl6XX/6zU9HUpLMCskUeL/E PUTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=F5fdDXlwfjwIinCr8su6jkG9d0SAhaK9tLXOO3l7hIE=; b=ogPzz65efq+QjjT6W0ZKNEhlS8d9lwz7uS5eHOhL9zXaKi24bgf9Pz8Rtrxpp0sNSP cOak/Zyw4C8rH81rQAwNSPsdF0IggZmVB77rjyuOxhFEBkhEPVqu7rcT1pyZN14xbtuC +iFZ5kf2V983UznonMBiY6xMXb9h94GkbZPmYQ49BZuu2Kwn4pmiywgiN9JygVBWbJ+k T1B2dBJiCZ5DIQMSr+ACEusxxGbJy/8McNTulPJR75VSvUWBBNtdy2UQE6SqaAIkoRZi y3jmnp1CHMZNT0CA4jwB1oXOgpOR6OmUmvhGls+zDp4mTFZwil/AIUUKUU+CSXm8WzFz gDpg== X-Gm-Message-State: AOAM533WK42S0uHcCP/0ANENQGA8g/Oj0laWxJ4LmT7NoFwJisodyXsD K7m+AYbsJz0giN4468cBskEdFm5ZeqI= X-Received: by 2002:a05:6000:1cf:: with SMTP id t15mr32364208wrx.180.1595408393160; Wed, 22 Jul 2020 01:59:53 -0700 (PDT) Received: from [192.168.86.34] (cpc89974-aztw32-2-0-cust43.18-1.cable.virginm.net. [86.30.250.44]) by smtp.googlemail.com with ESMTPSA id 1sm6402337wmf.0.2020.07.22.01.59.52 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 01:59:52 -0700 (PDT) Subject: Re: [RFC PATCH v2 6/6] ASoC: q6asm-dai: add support to set_codec_params To: Pierre-Louis Bossart , broonie@kernel.org Cc: alsa-devel@alsa-project.org, ckeepax@opensource.cirrus.com, tiwai@suse.com, lgirdwood@gmail.com, linux-kernel@vger.kernel.org, vkoul@kernel.org References: <20200721170007.4554-1-srinivas.kandagatla@linaro.org> <20200721170007.4554-7-srinivas.kandagatla@linaro.org> <970e7065-4731-e553-f07f-896aaa57c5dc@linux.intel.com> From: Srinivas Kandagatla Message-ID: <13cb597d-996a-1772-e3db-ffece4a70fb8@linaro.org> Date: Wed, 22 Jul 2020 09:59:51 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <970e7065-4731-e553-f07f-896aaa57c5dc@linux.intel.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Thanks Pierre for quick review. On 21/07/2020 21:09, Pierre-Louis Bossart wrote: > > > On 7/21/20 12:00 PM, Srinivas Kandagatla wrote: >> Make use of new set_codec_params callback to allow decoder switching >> during gapless playback. >> >> Signed-off-by: Srinivas Kandagatla >> --- >>   sound/soc/qcom/qdsp6/q6asm-dai.c | 33 ++++++++++++++++++++++++++++++++ >>   1 file changed, 33 insertions(+) >> >> diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c >> b/sound/soc/qcom/qdsp6/q6asm-dai.c >> index b5c719682919..a8cfb1996614 100644 >> --- a/sound/soc/qcom/qdsp6/q6asm-dai.c >> +++ b/sound/soc/qcom/qdsp6/q6asm-dai.c >> @@ -876,6 +876,37 @@ static int >> __q6asm_dai_compr_set_codec_params(struct snd_soc_component *componen >>       return 0; >>   } >> +static int q6asm_dai_compr_set_codec_params(struct snd_soc_component >> *component, >> +                        struct snd_compr_stream *stream, >> +                        struct snd_codec *codec) >> +{ >> +    struct snd_compr_runtime *runtime = stream->runtime; >> +    struct q6asm_dai_rtd *prtd = runtime->private_data; >> +    int ret; >> + >> +    ret = q6asm_open_write(prtd->audio_client, >> prtd->next_track_stream_id, >> +                   codec->id, codec->profile, prtd->bits_per_sample, >> +                   true); >> +    if (ret < 0) { >> +        pr_err("q6asm_open_write failed\n"); >> +        return ret; >> +    } >> + >> +    ret = __q6asm_dai_compr_set_codec_params(component, stream, codec, >> +                         prtd->next_track_stream_id); >> +    if (ret < 0) { >> +        pr_err("q6asm_open_write failed\n"); >> +        return ret; >> +    } >> + >> +    ret = q6asm_stream_remove_initial_silence(prtd->audio_client, >> +                           prtd->next_track_stream_id, >> +                           prtd->initial_samples_drop); >> +    prtd->next_track_stream_id = 0; > > same comment as in the other patchset, the stream_id toggles between 1 > and 2, it's not clear to me what 0 means. Valid stream ids start from 1. to achieve gapless we toggle between 1 and 2. --srini > > off-by-one bug or feature?