From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1204544-1520118158-2-17387660964435269828 X-Sieve: CMU Sieve 3.0 X-Spam-known-sender: no X-Spam-score: 0.0 X-Spam-hits: BAYES_00 -1.9, HEADER_FROM_DIFFERENT_DOMAINS 0.249, RCVD_IN_DNSWL_HI -5, T_RP_MATCHES_RCVD -0.01, LANGUAGES en, BAYES_USED global, SA_VERSION 3.4.0 X-Spam-source: IP='209.132.180.67', Host='vger.kernel.org', Country='CN', FromHeader='com', MailFrom='org', XOriginatingCountry='US' X-Spam-charsets: plain='iso-8859-1' X-Resolved-to: greg@kroah.com X-Delivered-to: greg@kroah.com X-Mail-from: stable-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; cv=none; d=messagingengine.com; s=arctest; t=1520118158; b=HSOd612FKzfsFeM37lp0PdZcnR2d22HlhD+S8gA2HXhfbDC f7RYa6fv2HytBoCXjQ369a/YZgJ1Q6bqE7sS8KqnEc9g4DgNtk1ltP8aN2j5cQg7 xsjuWrw40WWVim36ZD83df1pbK4wl9EkIs7DfuXndRAmXaWRDUqg5c7zHVJObKEQ dUjJYIB+L23gj3tHBpku9QxSA7IjPjb7yRienBRJuPSg6mEFMwzTDpVpTMyphW+G GCHYB+3g/BPzlAqxDeogDemoBlelMKn9NNnIIUUrILkAPtKJ1RuMgjlcjTfa1AgW bZcz7TkHVCntmJMB4agYoaJnV9JfEvm7iacClXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=from:to:cc:subject:date:message-id :references:in-reply-to:content-type:content-transfer-encoding :mime-version:sender:list-id; s=arctest; t=1520118158; bh=3+9To9 s95phgWywgV29o73samQzAjZZkLwBDynYJwnw=; b=upnkalaTXBnBdj2zqWQAwt Zc+/15VS8EoWzc9Tu64d0zTxNuO6zTYP3KIOPpO/Eplf0JuMAlWOr8zs9/uQb6pl K90sEZ2W1eJyQPp4tb4OyryEHVpihvNqg3wl1PGDHVZ95ZievJFS67q7d/qrll0B mTWcU5wNlW5Gsejq4ftJ6Ks6CxWr2M1mSOp7AvfC0uTmwivy3tMVOGsjkr2Zgmup Av3z+ohko1hVuMj6vmtM+MjHJYsprpDdp9CXU2+RHE50RIJ6cCPHUfDro6wyyGGw 8pGpiiUWEkqqtGyakf/GfT9ttHHtDmCoREovJ/21OgHcFRDLXgndOZeGLCw8uyCg == ARC-Authentication-Results: i=1; mx4.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=NBvhQ5tD x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Authentication-Results: mx4.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=NBvhQ5tD x-bits=1024 x-keytype=rsa x-algorithm=sha256 x-selector=selector1; dmarc=pass (p=reject,has-list-id=yes,d=none) header.from=microsoft.com; iprev=pass policy.iprev=209.132.180.67 (vger.kernel.org); spf=none smtp.mailfrom=stable-owner@vger.kernel.org smtp.helo=vger.kernel.org; x-aligned-from=fail; x-ptr=pass x-ptr-helo=vger.kernel.org x-ptr-lookup=vger.kernel.org; x-return-mx=pass smtp.domain=vger.kernel.org smtp.result=pass smtp_org.domain=kernel.org smtp_org.result=pass smtp_is_org_domain=no header.domain=microsoft.com header.result=pass header_is_org_domain=yes Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935344AbeCCXCG (ORCPT ); Sat, 3 Mar 2018 18:02:06 -0500 Received: from mail-co1nam03on0127.outbound.protection.outlook.com ([104.47.40.127]:62430 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934412AbeCCWks (ORCPT ); Sat, 3 Mar 2018 17:40:48 -0500 From: Sasha Levin To: "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" CC: "Andrew F. Davis" , Mark Brown , Sasha Levin Subject: [PATCH AUTOSEL for 4.4 096/115] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Topic: [PATCH AUTOSEL for 4.4 096/115] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Index: AQHTsz9qtR4EIMqRakaJ+nzkR/WjgA== Date: Sat, 3 Mar 2018 22:31:46 +0000 Message-ID: <20180303223010.27106-96-alexander.levin@microsoft.com> References: <20180303223010.27106-1-alexander.levin@microsoft.com> In-Reply-To: <20180303223010.27106-1-alexander.levin@microsoft.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [52.168.54.252] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;MW2PR2101MB0939;7:3z+dN5a/PR+zxgJIpK1AC8URiac2cLzG0plzOGosMFY07rDwZomgJhmbj7gdZy5lR+/qBSCn8S7FFK4wy1eQJRmCPd2mDN3YRnS/8FOmgUrtZ5kRY/fUBDIjf1iux+o3Z3RrzLETX2J5TVGRo02hrBheI0LzDyqd7s23orUrpy19W2ERkytwCA6N8/gE/G9Fqf7UGqimoLgzK6PgTGy0LRejpwo+Al3F1ae1CkgWPUJN/c1IbMHqgGA8ZRJhQcTL x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: dcad55ad-521c-4f7b-3404-08d58157cd5d x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020);SRVR:MW2PR2101MB0939; x-ms-traffictypediagnostic: MW2PR2101MB0939: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(28532068793085)(31051911155226)(89211679590171); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(61425038)(6040501)(2401047)(8121501046)(5005006)(3231220)(944501244)(52105095)(3002001)(10201501046)(93006095)(93001095)(6055026)(61426038)(61427038)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011);SRVR:MW2PR2101MB0939;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB0939; x-forefront-prvs: 0600F93FE1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(346002)(366004)(376002)(39380400002)(39860400002)(189003)(199004)(86612001)(76176011)(478600001)(81166006)(81156014)(72206003)(5660300001)(8936002)(25786009)(26005)(6506007)(102836004)(316002)(22452003)(6486002)(8676002)(14454004)(4326008)(6436002)(107886003)(10090500001)(6512007)(53936002)(36756003)(10290500003)(86362001)(575784001)(2900100001)(3660700001)(305945005)(2950100002)(5250100002)(99286004)(3280700002)(97736004)(54906003)(110136005)(2501003)(186003)(106356001)(7736002)(66066001)(3846002)(2906002)(6116002)(105586002)(68736007)(1076002)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB0939;H:MW2PR2101MB1034.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-microsoft-antispam-message-info: VgA/a3+DUyFswF2Ci2FqKWHYVLdiyOnLgxlsrzfSMC/V2ymZZPPG2oVBmQfxQQo0hzZ5LZVo7MpVnECI6xTcs/v+EeQ8NKUpebz/BWeVRPZqGDpsG//ZSUtr8zQaKNEuqkMBTdNkh6C1K9XGXFElDZZU36C0n9Xa7cy/I6pEfwk= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-Network-Message-Id: dcad55ad-521c-4f7b-3404-08d58157cd5d X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2018 22:31:46.9020 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB0939 Sender: stable-owner@vger.kernel.org X-Mailing-List: stable@vger.kernel.org X-getmail-retrieved-from-mailbox: INBOX X-Mailing-List: linux-kernel@vger.kernel.org List-ID: From: "Andrew F. Davis" [ Upstream commit dcb407b257af06fa58b0544ec01ec9e0d3927e02 ] Currently BCLK inverting is only handled when the DAI format is DSP, but the BCLK may be inverted in any supported mode. Without this using this CODEC in any other mode than DSP with the BCLK inverted leads to bad sampling timing and very poor audio quality. Signed-off-by: Andrew F. Davis Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/codecs/tlv320aic31xx.c | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/sound/soc/codecs/tlv320aic31xx.c b/sound/soc/codecs/tlv320aic3= 1xx.c index ee4def4f819f..80085b62d1d0 100644 --- a/sound/soc/codecs/tlv320aic31xx.c +++ b/sound/soc/codecs/tlv320aic31xx.c @@ -846,6 +846,18 @@ static int aic31xx_set_dai_fmt(struct snd_soc_dai *cod= ec_dai, return -EINVAL; } =20 + /* signal polarity */ + switch (fmt & SND_SOC_DAIFMT_INV_MASK) { + case SND_SOC_DAIFMT_NB_NF: + break; + case SND_SOC_DAIFMT_IB_NF: + iface_reg2 |=3D AIC31XX_BCLKINV_MASK; + break; + default: + dev_err(codec->dev, "Invalid DAI clock signal polarity\n"); + return -EINVAL; + } + /* interface format */ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { case SND_SOC_DAIFMT_I2S: @@ -853,16 +865,12 @@ static int aic31xx_set_dai_fmt(struct snd_soc_dai *co= dec_dai, case SND_SOC_DAIFMT_DSP_A: dsp_a_val =3D 0x1; case SND_SOC_DAIFMT_DSP_B: - /* NOTE: BCLKINV bit value 1 equas NB and 0 equals IB */ - switch (fmt & SND_SOC_DAIFMT_INV_MASK) { - case SND_SOC_DAIFMT_NB_NF: - iface_reg2 |=3D AIC31XX_BCLKINV_MASK; - break; - case SND_SOC_DAIFMT_IB_NF: - break; - default: - return -EINVAL; - } + /* + * NOTE: This CODEC samples on the falling edge of BCLK in + * DSP mode, this is inverted compared to what most DAIs + * expect, so we invert for this mode + */ + iface_reg2 ^=3D AIC31XX_BCLKINV_MASK; iface_reg1 |=3D (AIC31XX_DSP_MODE << AIC31XX_IFACE1_DATATYPE_SHIFT); break; --=20 2.14.1