From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965681AbbJVS5s (ORCPT ); Thu, 22 Oct 2015 14:57:48 -0400 Received: from mail-pa0-f44.google.com ([209.85.220.44]:34765 "EHLO mail-pa0-f44.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965180AbbJVS5o (ORCPT ); Thu, 22 Oct 2015 14:57:44 -0400 Date: Thu, 22 Oct 2015 11:57:38 -0700 From: Nicolin Chen To: Stefan Agner Cc: broonie@kernel.org, timur@tabi.org, Xiubo.Lee@gmail.com, lgirdwood@gmail.com, alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] ASoC: fsl_sai: fix Rx synchrounous mode Message-ID: <20151022185737.GA4614@Asurada-CZ80> References: <1445301743-24173-1-git-send-email-stefan@agner.ch> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1445301743-24173-1-git-send-email-stefan@agner.ch> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 19, 2015 at 05:42:23PM -0700, Stefan Agner wrote: > When using the Rx clock for both, transmitter and receiver, the > transmitter needs to be set to synchronous with receiver. > > This reverts 855675f6e6a6 ("ASoC: fsl_sai: Set SYNC bit of TCR2 to > Asynchronous Mode"), which, judiging from the commit log, seems to > mixed up between the two synchronous modes: The boolean Actually my original patch I sent to the mail list was different: http://mailman.alsa-project.org/pipermail/alsa-devel/2014-August/079639.html It should be applied before the asynchronous patches however they are somehow disordered. I guess that's why now the commit appears in such confusing way. But anyway it's a bug I should have noticed long time ago. Thanks a lot > sai->synchronous[TX] is indicating wheather the SAI should work in > Rx synchronous mode (sync Tx with Rx), hence if the value is true, > the SYNC field of TCR2 needs to be set to 0x1 ("Synchronous with > receiver"). > > Signed-off-by: Stefan Agner Acked-by: Nicolin Chen > --- > Hi Nicolin, > > I got this reported from a customer, he tried to use the device > tree property "fsl,sai-synchronous-rx" according to the description > but it failed. In a quick test, setting the SYNC field of TCR2 to > 0x1 helped in his case. So I think this here is right. But given > that you chaged the very same line can you review that again and > give me a Ack/Nack? > > -- > Stefan > > sound/soc/fsl/fsl_sai.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c > index a18fd92..1f0e552 100644 > --- a/sound/soc/fsl/fsl_sai.c > +++ b/sound/soc/fsl/fsl_sai.c > @@ -454,7 +454,8 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, > * Rx sync with Tx clocks: Clear SYNC for Tx, set it for Rx. > * Tx sync with Rx clocks: Clear SYNC for Rx, set it for Tx. > */ > - regmap_update_bits(sai->regmap, FSL_SAI_TCR2, FSL_SAI_CR2_SYNC, 0); > + regmap_update_bits(sai->regmap, FSL_SAI_TCR2, FSL_SAI_CR2_SYNC, > + sai->synchronous[TX] ? FSL_SAI_CR2_SYNC : 0); > regmap_update_bits(sai->regmap, FSL_SAI_RCR2, FSL_SAI_CR2_SYNC, > sai->synchronous[RX] ? FSL_SAI_CR2_SYNC : 0); > > -- > 2.6.1 >