From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Cyrus-Session-Id: sloti22d1t05-1310899-1520122948-2-9655899162300634437 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=1520122946; b=S1B7BYUiXvV78LbPeK475HNvGXFwRB6SU3etwXdn0RIDdEd 2p+4GU5s94dMwHLlWNNvSGz6UDbE0IuQMelvbOKTNEfAGp/3fX18hkWnoTeAYDSR v2pG/p2uFRLP/lqT7f1ZQfwXYlxkX3mm60CO6MoBiyCYKKyDrIq/SQnleH7QJlw3 kXOANUZOKwWp5KGwkGxcAWMAUoqr2TrNO8dF8/2nd12g9pbyv5nh1lDxKpibRzaD 6R/HUFAW/WiPsyjUz58dbdyw5Lk4vI06KZLHBJh3R/GNn97FtyV7Vhg1LhR7ygit y1Vf8R+T68J2ByIw46oIH7NBerkftb73JFDqBEw== 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=1520122946; bh=HjGuCX q/6d3amBF+wvJMGz5f3Gk632WNUzyfxi63jsk=; b=AwZM92QgybjAkLq8PvyH6j dEXIrdsjJKgfk1cWePp8QyRiO9SDBg6/AjAVyEyW4hFfHePwHKkV1SJ6goESDVoi VV7dCg+iC2ja+WQfhF9F0OGfH/xG0GeQiak7msbUwBEIAPgAPeyUmEypSOzfR1OJ 7A6DS1GbbNdfUhsjmlkE/UXKw6BiEHmgP7opk6fkgu4nu6fQYVBuA2xTd7+M6hGo j6jf+OK/GJ55xscEINGk0C5hiWUpHCkzNhA0u4BSGRD1CqryEwCVFl8YNwmDX5fQ oXRXj1GWmfuat6n17cI+umWHR4gPKb5YlySQJj8fCFUX6IiiI+qrk46mmGnf4WmA == ARC-Authentication-Results: i=1; mx6.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=HZhkeY9/ 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: mx6.messagingengine.com; arc=none (no signatures found); dkim=pass (1024-bit rsa key sha256) header.d=microsoft.com header.i=@microsoft.com header.b=HZhkeY9/ 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 S933616AbeCDAV4 (ORCPT ); Sat, 3 Mar 2018 19:21:56 -0500 Received: from mail-by2nam01on0114.outbound.protection.outlook.com ([104.47.34.114]:45301 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932472AbeCCW2z (ORCPT ); Sat, 3 Mar 2018 17:28:55 -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.14 32/84] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Topic: [PATCH AUTOSEL for 4.14 32/84] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Index: AQHTsz6m5fapzdPfw0ONkJhpOccvWQ== Date: Sat, 3 Mar 2018 22:26:18 +0000 Message-ID: <20180303222518.26271-32-alexander.levin@microsoft.com> References: <20180303222518.26271-1-alexander.levin@microsoft.com> In-Reply-To: <20180303222518.26271-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;MW2PR2101MB1115;7:KJnwipMDlhgGIHscMgGRvDx4EJg2fKOTFaV91uzaDxWZV/rks8LBukXpQrx2Z+0L4CgkAEGB2PbouUCYIPF5aO4As19G3FqNz7Aa/cValljXjS6FgfqQAMcop10wvWCKX1ywM0pKElpHGggs92+sgc5FSvj755ISqY1aVlSZMTD9nIMwxR5+sDHNbA9k6qyBxNaArtaJ19Fu69vKmnrTCdRcPxOSVVsb65fdpljB1zKtwhjS8+PrYeM9ujZtwUDi x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 0c8939d7-0f23-4947-71fe-08d58156255f x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020);SRVR:MW2PR2101MB1115; x-ms-traffictypediagnostic: MW2PR2101MB1115: 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)(5005006)(8121501046)(3002001)(3231220)(944501244)(52105095)(10201501046)(93006095)(93001095)(6055026)(61426038)(61427038)(6041288)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123558120)(20161123562045)(6072148)(201708071742011);SRVR:MW2PR2101MB1115;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB1115; x-forefront-prvs: 0600F93FE1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(376002)(396003)(39860400002)(346002)(366004)(39380400002)(189003)(199004)(26005)(97736004)(186003)(2900100001)(316002)(6506007)(102836004)(36756003)(110136005)(106356001)(54906003)(72206003)(4326008)(8676002)(81156014)(25786009)(2950100002)(6666003)(305945005)(10290500003)(5660300001)(107886003)(14454004)(8936002)(3660700001)(3280700002)(105586002)(81166006)(478600001)(2906002)(6116002)(3846002)(1076002)(2501003)(6436002)(5250100002)(6486002)(68736007)(7736002)(10090500001)(6512007)(66066001)(53936002)(99286004)(86612001)(76176011)(575784001)(22452003)(86362001)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB1115;H:MW2PR2101MB1034.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; x-microsoft-antispam-message-info: Q9NvB0VZsCHPnqEXrRey+KbrNvNaE2iXq7Pu6y+BWAaCymlJI4jEg8wkGbzzKqImNpP9IbvwspFX4T28n7sH65G+qFvrhzPUIrwgA8vyh4kfCyFRdvUXT9btQ5BCN79Lj4hbZCLgEyOx9//Pk6GAl/fjs4rXCJt13ae2FZVp9IY= 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: 0c8939d7-0f23-4947-71fe-08d58156255f X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2018 22:26:18.4317 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1115 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 54a87a905eb6..d3bd0bf15ddb 100644 --- a/sound/soc/codecs/tlv320aic31xx.c +++ b/sound/soc/codecs/tlv320aic31xx.c @@ -924,6 +924,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: @@ -931,16 +943,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