Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2326784yba; Mon, 22 Apr 2019 04:54:59 -0700 (PDT) X-Google-Smtp-Source: APXvYqyZd5bydN9ztq/4u2thxIKtb63rGu/e3BPHMTKyYCjVR3/SNMkWckgeXxQSIWhbvMeqNvdl X-Received: by 2002:a63:6e0e:: with SMTP id j14mr18640874pgc.203.1555934098909; Mon, 22 Apr 2019 04:54:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555934098; cv=none; d=google.com; s=arc-20160816; b=usu68AhneNyMePTR57zlFuF8NWu002Bdb7FSixdJKpYjZx9F7B4jXY817nlP07epBQ 3te1phYdfjAu5JwGdrv1akpQNbtDYiL9xv3whVvPvFs+ql5o76lk1bibJEncL4Y1EeBc sNU0Fp69eXfIBqF2A2eHjE/X/iJmk9E+B0WhOMufMaaGvD3vL3hvDu6TERL4Pe3Ng1Yc +4f3NWoNYXByauFoxD5ZVbHyD/m1lpjGTSKrmsjKdfuwe3NgbFV24bESibKITLGYpDTB VWg1xVA+XA4piWAZHpy7nTB8CNfg7CEC2dJbM0QMpHpS7UL6Ac7q47JoOuuu/KnnSpMm +viw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=PmcqzRYJAi/8nreTg3ExaX3WI1tolmLmFrA1haHMPCc=; b=M3lOW9svyAUbaTGkVna3UMw+aP0lY8K2o/aAezYYfR8tYiMNfza7GqdgtlB/rtWR6L UmgYEIbqVVx1yNMfosT/Mwd+vvqoMaDjX0rHQrsFCfw33/CuWdae+6nXbdZhz64Ye4yz GwCc7JfZMPeaaoYSYyp+a5kWvVIi3Mra/eTpUucjMhXxor8Z7zLhalqqE7nHIfDvSbX+ e2RhjtnAxs7aefxyv6jLa2bsLZdDX4sYpisiLZiTGRr4XFFdub0UNswaXJ10rR2xDg4U 9IImli+U4RnnrFFjiwOPY6AtyivpYwyexOxwTp+48Plzg7O5M0DrNRpQjtfJjSr+zcaD 9D+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OVH7IQE7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o86si13104745pfa.270.2019.04.22.04.54.43; Mon, 22 Apr 2019 04:54:58 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=OVH7IQE7; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727170AbfDVL0N (ORCPT + 99 others); Mon, 22 Apr 2019 07:26:13 -0400 Received: from mail-ed1-f65.google.com ([209.85.208.65]:37704 "EHLO mail-ed1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726900AbfDVL0N (ORCPT ); Mon, 22 Apr 2019 07:26:13 -0400 Received: by mail-ed1-f65.google.com with SMTP id f53so9220885ede.4 for ; Mon, 22 Apr 2019 04:26:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=PmcqzRYJAi/8nreTg3ExaX3WI1tolmLmFrA1haHMPCc=; b=OVH7IQE72/Lxb/raIh9iz3EUtHdzRTrMTptkZpSLGfwG+4tPB5uA4TB6zZR3/eLmNt SpzQj+6Fp1GAbEr+c+2DRn6b0kO9A6471NqIEBAYcURpqdE3pXfkKpCC0O2ULL5dqKeo ou9ZEXEbc7vhLo9QI7PEO1ychtmNuiT2+9h8Alv/qWFQN2McYXUlLPAutbirsnJEkKuO mV/aoM7NxbfM+7w/Gg7//tQg1IhGd0pJmkD22dY1DY4DdAxDtj0AKPabEK+hWJUiJIXM MVv1XuTIJy+lM2Eyv6B2eS6ETgQ4ydt1wsF8SUWl/joYEt+eOanH5JiCFDPs475CcJK5 Gz8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=PmcqzRYJAi/8nreTg3ExaX3WI1tolmLmFrA1haHMPCc=; b=DM6fOH/0A5+O6xRhBIRS4ClDWekDLMu2SSHllDT1Ii55wLqNVJoIiCFpkpCsd/dQHS IuYEgURDFzVHWriCMYwl7AYIGUXg5RRCi7HjqNvOD+BBj1kwsjCHLpZ5efZDuSw7tgRU jtqOYlJGqUGBVy0y0lS/BMl/03jy7Q8w4TdYjVRYBuRD1WSbxh29P/WC00l2IF/r8AHG FAt1zLlQsmnsy8rwaLquPCseCJieZhejEANNMx2ss+D6Z+QKQSAKEaJJ3Wp3XrMObJJi odo3VZN1l6Xhi1t4FMeGJk3gQfcv6MdB1fruDfebj0nuD6YpAhDZ7LIgmIa33Wzsr+fQ grvg== X-Gm-Message-State: APjAAAVJWKbKjMTMZINnTd0JYgcVvd/6iR1y0CbiOoPZzk7TvaOSjT+Y AckOZn5yNPIXMbno5CdK9a2WRdppHfNuVG8UMlg= X-Received: by 2002:a05:6402:552:: with SMTP id i18mr2605656edx.67.1555932371386; Mon, 22 Apr 2019 04:26:11 -0700 (PDT) MIME-Version: 1.0 References: <20190421193853.10188-1-daniel.baluta@nxp.com> <20190421193853.10188-4-daniel.baluta@nxp.com> <1555931172.31656.6.camel@nxp.com> In-Reply-To: <1555931172.31656.6.camel@nxp.com> From: Daniel Baluta Date: Mon, 22 Apr 2019 14:25:59 +0300 Message-ID: Subject: Re: [alsa-devel] [PATCH 3/3 v3] ASoC: fsl_sai: Move clock operation to PM runtime To: Viorel Suman Cc: Daniel Baluta , "broonie@kernel.org" , "alsa-devel@alsa-project.org" , "lgirdwood@gmail.com" , "timur@kernel.org" , "Xiubo.Lee@gmail.com" , "festevam@gmail.com" , "S.j. Wang" , "linux-kernel@vger.kernel.org" , "tiwai@suse.com" , "nicoleotsuka@gmail.com" , dl-linux-imx , "linuxppc-dev@lists.ozlabs.org" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Apr 22, 2019 at 2:07 PM Viorel Suman wrote: > > Hi Daniel, > > On Du, 2019-04-21 at 19:39 +0000, Daniel Baluta wrote: > > From: Shengjiu Wang > > > > Turn off/on clocks when device enters suspend/resume. This > > can help saving power. > > > > As a further optimization, we turn off/on mclk only when SAI > > is in master mode because otherwise mclk is externally provided. > > > > Signed-off-by: Shengjiu Wang > > Signed-off-by: Daniel Baluta > > --- > > sound/soc/fsl/fsl_sai.c | 60 ++++++++++++++++++++++++++++++++++------- > > 1 file changed, 50 insertions(+), 10 deletions(-) > > > > diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c > > index 8623b7f882b9..13a462360ed3 100644 > > --- a/sound/soc/fsl/fsl_sai.c > > +++ b/sound/soc/fsl/fsl_sai.c > > @@ -596,15 +596,8 @@ static int fsl_sai_startup(struct snd_pcm_substream *substream, > > { > > struct fsl_sai *sai = snd_soc_dai_get_drvdata(cpu_dai); > > bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; > > - struct device *dev = &sai->pdev->dev; > > int ret; > > > > - ret = clk_prepare_enable(sai->bus_clk); > > - if (ret) { > > - dev_err(dev, "failed to enable bus clock: %d\n", ret); > > - return ret; > > - } > > - > > regmap_update_bits(sai->regmap, FSL_SAI_xCR3(tx), FSL_SAI_CR3_TRCE, > > FSL_SAI_CR3_TRCE); > > > > @@ -621,8 +614,6 @@ static void fsl_sai_shutdown(struct snd_pcm_substream *substream, > > bool tx = substream->stream == SNDRV_PCM_STREAM_PLAYBACK; > > > > regmap_update_bits(sai->regmap, FSL_SAI_xCR3(tx), FSL_SAI_CR3_TRCE, 0); > > - > > - clk_disable_unprepare(sai->bus_clk); > > } > > > > static const struct snd_soc_dai_ops fsl_sai_pcm_dai_ops = { > > @@ -932,6 +923,16 @@ static int fsl_sai_runtime_suspend(struct device *dev) > > { > > struct fsl_sai *sai = dev_get_drvdata(dev); > > > > + if (!sai->is_slave_mode) { > This check is redundant as the bits in sai->mclk_streams are set/unset for master > mode only, please check fsl_sai_hw_params and fsl_sai_hw_free functions. Hi Viorel, I think you make a very good point here. Will fix and send v3. Thanks!