From patchwork Tue Apr 17 11:28:43 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 133536 Delivered-To: patch@linaro.org Received: by 10.46.84.18 with SMTP id i18csp4599431ljb; Tue, 17 Apr 2018 04:28:56 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+XYdbJ53lhoQfyj6Ffg8W/yKr5eASy7tNxY25qqxLH2pdYNZCOcILqYpvnVDHSr1WAwOk0 X-Received: by 10.28.43.197 with SMTP id r188mr754039wmr.132.1523964536035; Tue, 17 Apr 2018 04:28:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523964536; cv=none; d=google.com; s=arc-20160816; b=Uo2bg7oi5nIlDINinLGzFIurv54z1g5Z22MngB/4ldYSbJMKsqERjeCq2MGgUSmRAY tOkZ6rv/LtyKmL+QwJZAO5OO+h3YxOSI+aSGzlFCRyIEHPZx6UdC/i5VFm31Nci5hMTS XVr7b5ahhvkmPFcrve1AKRezTKyv5OJH4nPsIZlInVPmGeHN8tqdwFOwqSr4dg6yFXVe WWOncWmchQfje3Hjb3CQYzZMb/gbVNDgWHd+Q9GomWe6gJDbME28JrvSyLA1lQNya4gP alN2wDUxJjW9QjMRaywmr3cHoMzE2gowRhXKFh7kxnDiPJwe7Ps2ECqw00XXnCNV/Mo4 L6oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:date:message-id:in-reply-to:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=THzfK/diHdZU53zdb1NG35K4wzrmGiRNdk90a6vwD/4=; b=B98h/DnVldm+ofMfIVH9w14zVHHyTIUKDITpMySH9u6b8uVM3gSNOJc5l1e7RMrNho zKAHvUZ1FrjndcEyzZKLBUXB2CzS5NpkkWiY5afbk56+e+ZeEKax7k5zeOxCE5Y3G6Mp JoAJX8jCGCG+umUDlM4IPgvhWC4w36ddy41TDuDPFJaS3r9T7949yt0hurgm9N/y7iIP cNTtvx3/X3pg3iwCdwix+pS0w2BzZb9cVA5Ov7iydlv3/crb7hhabJmogSz0iv4Xn743 cZ/HpeU0KSyUOISCxjFBloo4nugzIp401PuHCsNUmdRLuLXG9nksR5yPbNxyR1UTHN0e wIag== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=DckJ+NB/; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Return-Path: Received: from alsa0.perex.cz (alsa0.perex.cz. [77.48.224.243]) by mx.google.com with ESMTP id q10si10780329wrf.445.2018.04.17.04.28.55; Tue, 17 Apr 2018 04:28:56 -0700 (PDT) Received-SPF: pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) client-ip=77.48.224.243; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=DckJ+NB/; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id A662B267600; Tue, 17 Apr 2018 13:28:54 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 30D2926760E; Tue, 17 Apr 2018 13:28:52 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail1.perex.cz X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=disabled version=3.4.0 Received: from heliosphere.sirena.org.uk (heliosphere.sirena.org.uk [172.104.155.198]) by alsa0.perex.cz (Postfix) with ESMTP id 4BDD9267605 for ; Tue, 17 Apr 2018 13:28:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=rTL+Z4ZVkA9pxI/HcgUuMjirLZB6p0HDZ09l6Noer+Y=; b=DckJ+NB/gDWr 3sW+3si8P8e2tY1++A9VHyxU5FDb+Nk7kP3PdWTbdtN3AJBrItghxVxU1aK5JVwjqZwRliYjfSBFF ETGV0IH45h3yAhibsozpBwpL9DyP7j84To+2TMh93BmZCIE0H7A4hERmn+yCNciqoD3fmUCKClTEE iuIqs=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1f8Omy-0007cC-9d; Tue, 17 Apr 2018 11:28:44 +0000 Received: from broonie by debutante with local (Exim 4.90_1) (envelope-from ) id 1f8Omx-0000KS-Rn; Tue, 17 Apr 2018 12:28:43 +0100 From: Mark Brown To: Pardha Saradhi K In-Reply-To: <1522651550-27236-2-git-send-email-sriramx.periyasamy@intel.com> Message-Id: Date: Tue, 17 Apr 2018 12:28:43 +0100 Cc: alsa-devel@alsa-project.org, Takashi Iwai , Divya Prakash , Liam Girdwood , Patches Audio , Mark Brown , Sriram Periyasamy , Vinod Koul Subject: [alsa-devel] Applied "ASoC: Intel: Skylake: Reset DSP Pipelines in prepare" to the asoc tree X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org The patch ASoC: Intel: Skylake: Reset DSP Pipelines in prepare has been applied to the asoc tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark >From 74e651926ee038237c48493d0a0853868d622b01 Mon Sep 17 00:00:00 2001 From: Pardha Saradhi K Date: Mon, 2 Apr 2018 12:15:48 +0530 Subject: [PATCH] ASoC: Intel: Skylake: Reset DSP Pipelines in prepare An application can choose to call .prepare function any number of times. In such scenarios, there is a need to reset the DSP pipeline. Signed-off-by: Pardha Saradhi K Signed-off-by: Divya Prakash Signed-off-by: Sriram Periyasamy Signed-off-by: Mark Brown --- sound/soc/intel/skylake/skl-pcm.c | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) -- 2.17.0 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel diff --git a/sound/soc/intel/skylake/skl-pcm.c b/sound/soc/intel/skylake/skl-pcm.c index fe25515debec..afa86b9e4dcf 100644 --- a/sound/soc/intel/skylake/skl-pcm.c +++ b/sound/soc/intel/skylake/skl-pcm.c @@ -268,15 +268,31 @@ static int skl_pcm_prepare(struct snd_pcm_substream *substream, { struct skl *skl = get_skl_ctx(dai->dev); struct skl_module_cfg *mconfig; + int ret; dev_dbg(dai->dev, "%s: %s\n", __func__, dai->name); mconfig = skl_tplg_fe_get_cpr_module(dai, substream->stream); - /* In case of XRUN recovery, reset the FW pipe to clean state */ - if (mconfig && (substream->runtime->status->state == - SNDRV_PCM_STATE_XRUN)) - skl_reset_pipe(skl->skl_sst, mconfig->pipe); + /* + * In case of XRUN recovery or in the case when the application + * calls prepare another time, reset the FW pipe to clean state + */ + if (mconfig && + (substream->runtime->status->state == SNDRV_PCM_STATE_XRUN || + mconfig->pipe->state == SKL_PIPE_CREATED || + mconfig->pipe->state == SKL_PIPE_PAUSED)) { + + ret = skl_reset_pipe(skl->skl_sst, mconfig->pipe); + + if (ret < 0) + return ret; + + ret = skl_pcm_host_dma_prepare(dai->dev, + mconfig->pipe->p_params); + if (ret < 0) + return ret; + } return 0; }