From patchwork Fri May 5 19:46:39 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 98670 Delivered-To: patch@linaro.org Received: by 10.140.96.100 with SMTP id j91csp292712qge; Fri, 5 May 2017 12:48:23 -0700 (PDT) X-Received: by 10.84.233.200 with SMTP id m8mr41974246pln.118.1494013703011; Fri, 05 May 2017 12:48:23 -0700 (PDT) Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 144si6012850pfa.118.2017.05.05.12.48.22; Fri, 05 May 2017 12:48:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of stable-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755537AbdEETsV (ORCPT + 6 others); Fri, 5 May 2017 15:48:21 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:52829 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752409AbdEETsQ (ORCPT ); Fri, 5 May 2017 15:48:16 -0400 Received: from wuerfel.lan ([78.42.17.5]) by mrelayeu.kundenserver.de (mreue002 [212.227.15.129]) with ESMTPA (Nemesis) id 0M4Nqe-1dyP9b25im-00ydrV; Fri, 05 May 2017 21:48:11 +0200 From: Arnd Bergmann To: Ben Hutchings Cc: stable@vger.kernel.org, Nicolin Chen , Nicolin Chen , Mark Brown , Arnd Bergmann Subject: [PATCH 3.16-stable 21/87] ASoC: fsl_sai: Set SYNC bit of TCR2 to Asynchronous Mode Date: Fri, 5 May 2017 21:46:39 +0200 Message-Id: <20170505194745.3627137-22-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170505194745.3627137-1-arnd@arndb.de> References: <20170505194745.3627137-1-arnd@arndb.de> X-Provags-ID: V03:K0:w4VLs///vGmd2f/khWzzUiCeoc4jTG7Ydmj9b8zlQzNnODo3LXY OXH0FvYNm4eDqEFskt9JsVvcHsuy2OlQKiEEX4Cetj6LkQi4SifHeFwNKOanliAh86f5uKm Y5lbwAPGvdHwaspLFV/yqZbL7CwUuHPm99Ue2jj0uB5+6YXuZkP9g5m9kjUaSDtUk0rfiKb 4P/GdSIvhysX5pR+JNqWQ== X-UI-Out-Filterresults: notjunk:1; V01:K0:Ob823CGeENQ=:dBF9Hb2gkHRWGlH1R4ax4d U+iNbUpBhBE4YS+0r1/enkq9Gft7UaJWfD74TLTYwDsI0WkUfvYahs1GAa5+pCK+kvzpjvdca 9zQcfQ3Ya+Q1RTR+EdevLyK6EiAVFT7xGSKQJn/SqaT6cqeEyz3BX8XqRYZuzvhSPFMcH3vgr j3A1c4weRy82v/9UzBavxpfuVUxTt5GmFGZnReP7YOV1bpA34E7hHtUqgg0Ut3UJm8SVuBqLP GHUJdcBxKHyaWLchxfJbbspx5ddbc8P0xsZ17WKv31fVzWTbssIl9X9gNVSEtITe3vgvNInnj h6Ihy3OXxmCVBTPOQ3Qcr2mAMDcXYTZd/3SA1ygzkTVElh+FKK6FLlvmjQDS1lLc7MffkaivX QwEpy7ucIwxSMmFZyVQfn+Fw/JwTwnAHOpKPGHh3PduF86ErPjfQxs1nzDeEgOdrOC5+AZHVB sZrPiNiHm1aVo2yyeJAwQFGKY3Y4ofni7xNXK9BhjFzDfn+F96NDyJeMDIMpjgva6H+63yeT+ h2bnDj87h9pShPhs1zI5yLIc4Qf5gFiFPW4WmNF+uc5TR73N/tH47tYvWEWJ6UikNVrkTu4xC ybZcqvWXyrpCu1y422G+ZebBQI2zevFjfJq10zQb7RbV4uc5dXOwVlF0s3ZsoXQU2nL7pXKg6 u3egJXB9xBnjoGvaSS7j8I87toIBW7hYashkBYnb+ifquz/BC2saNyIgJ7/9Dzt2JyS4= Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Nicolin Chen Commit 497782d5b44818b8482aa8b6b2dd9fccd99e63d2 upstream. There is one design rule according to SAI's reference manual: If the transmitter bit clock and frame sync are to be used by both transmitter and receiver, the transmitter must be configured for asynchronous operation and the receiver for synchronous operation. And SYNC of TCR2 is a 2-width control bit: 00 Asynchronous mode. 01 Synchronous with receiver. 10 Synchronous with another SAI transmitter. 11 Synchronous with another SAI receiver. So the driver should have set SYNC bit of TCR2 to 0x0, and meanwhile set SYNC bit of RCR2 to 0x1 (Synchronous with transmitter). Signed-off-by: Nicolin Chen Signed-off-by: Mark Brown Signed-off-by: Arnd Bergmann --- sound/soc/fsl/fsl_sai.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -- 2.9.0 diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c index c5a0e8af8226..60465646fed8 100644 --- a/sound/soc/fsl/fsl_sai.c +++ b/sound/soc/fsl/fsl_sai.c @@ -333,8 +333,7 @@ static int fsl_sai_trigger(struct snd_pcm_substream *substream, int cmd, * The transmitter bit clock and frame sync are to be * used by both the transmitter and receiver. */ - regmap_update_bits(sai->regmap, FSL_SAI_TCR2, FSL_SAI_CR2_SYNC, - ~FSL_SAI_CR2_SYNC); + regmap_update_bits(sai->regmap, FSL_SAI_TCR2, FSL_SAI_CR2_SYNC, 0); regmap_update_bits(sai->regmap, FSL_SAI_RCR2, FSL_SAI_CR2_SYNC, FSL_SAI_CR2_SYNC);