Received: by 10.223.185.116 with SMTP id b49csp1067720wrg; Sat, 3 Mar 2018 14:37:59 -0800 (PST) X-Google-Smtp-Source: AG47ELvWQcLIJ0erOSlfz983KfqeXKhnpw5GLlQM2AiQTL1jYPGSlY34bggtxs6ct+IjvwTvOhsc X-Received: by 2002:a17:902:7404:: with SMTP id g4-v6mr8801921pll.235.1520116679314; Sat, 03 Mar 2018 14:37:59 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520116679; cv=none; d=google.com; s=arc-20160816; b=MvIFYAQY0+90tRBroI+wD6UzUWCkJvEIL+GvyLcDwN0V+pSQR0KN9Sdl1D8iRYmsSq m9XrxjSzk0ss4CdebZZzHzoByP0vXbyOQxlSMQN8ztpK0tIQbWKftZrZXAU3XPeslbXI 2p6UNfjUX6GeqOXusa7cJlUocdRbUnzfBX6VyHjylmRahK6s+l9putJ2yVryk9dbgAcJ k1pIwB5sJiXBMD6fuERtiSHsDTDtXIaxx8C5ZAKMTZUQ1nNqTN1ZSRTADbzqryDSwA91 Du3W6J772M83W90Ms1QvlAKdadZZyG5klkKY/ORsdBpXD8sT9j9p9kDrBsQCTNqlN1DE vbBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :spamdiagnosticmetadata:spamdiagnosticoutput:content-language :accept-language:in-reply-to:references:message-id:date:thread-index :thread-topic:subject:cc:to:from:dkim-signature :arc-authentication-results; bh=g/MRVWok/v5hognfOM7Omj1auMzds5SFLruDmu3Q0wQ=; b=kcY8XQQ5GYLOkYVeaxxvcn7aBqRKgn34P2R6cRY+4QKWEZpo8LTYiLv4G2DRThmLqA 4whSmSbgI76ofK9SetQirqPOWkSoNn0gnz/B6Z33SJrZB7wMlM9g5Nx3JJPMy5h7cfEl +5iC9tX6atiAFay2/q+Ina1nyqslVz69biWcfUGOAavY+0rJOwNsusW2z2FwIjoKudY2 FIBRBY0kqYihH4NWeVl2/HyquFXTbXI1QtqSOPjbEQ2JoF/C1W30h3pOATxu9bmjlUU/ lq1qUFYnpl8yeAwZq8OlQe/F7g3QrZRJ6NNeueIYZTUvOwm26Sk6ruLmtPpW33l1GvVI KcdA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=O68F56oP; 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=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j9si7313488pfh.200.2018.03.03.14.37.45; Sat, 03 Mar 2018 14:37:59 -0800 (PST) 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=@microsoft.com header.s=selector1 header.b=O68F56oP; 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=REJECT sp=REJECT dis=NONE) header.from=microsoft.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934652AbeCCWg4 (ORCPT + 99 others); Sat, 3 Mar 2018 17:36:56 -0500 Received: from mail-bn3nam01on0115.outbound.protection.outlook.com ([104.47.33.115]:41088 "EHLO NAM01-BN3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S934633AbeCCWgv (ORCPT ); Sat, 3 Mar 2018 17:36:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=g/MRVWok/v5hognfOM7Omj1auMzds5SFLruDmu3Q0wQ=; b=O68F56oPc19W0FcbxxhY8mhGR5W76GXbnrzKfv8WOCfsElKhLP1Gf2bUsqJ7vb2WuQA6PRB7Mxiu07xqanLp+LsMal/yrzbkdAfExgQq4oV+9M6x3aHopXOy3oLHukHGK979TeVOl6kUuwqNsRnub9ymBCXfdLU+bMw+WvvgUEQ= Received: from MW2PR2101MB1034.namprd21.prod.outlook.com (52.132.149.10) by MW2PR2101MB1020.namprd21.prod.outlook.com (52.132.148.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.588.1; Sat, 3 Mar 2018 22:36:44 +0000 Received: from MW2PR2101MB1034.namprd21.prod.outlook.com ([fe80::1d56:338f:e2b:cec0]) by MW2PR2101MB1034.namprd21.prod.outlook.com ([fe80::1d56:338f:e2b:cec0%3]) with mapi id 15.20.0567.006; Sat, 3 Mar 2018 22:36:44 +0000 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.9 190/219] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Topic: [PATCH AUTOSEL for 4.9 190/219] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Index: AQHTsz8ieLQuJxz8vUy7le716As+3Q== Date: Sat, 3 Mar 2018 22:29:47 +0000 Message-ID: <20180303222716.26640-190-alexander.levin@microsoft.com> References: <20180303222716.26640-1-alexander.levin@microsoft.com> In-Reply-To: <20180303222716.26640-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;MW2PR2101MB1020;7:I7VTjzeULbzCVAJm4fFA7BygGlxlnpGoCyzi+HZLRU8VuykpuU47SNTLvKqpveTxKbwbku710Pl2mO4jlTf3oK6b9t3OS3SPKw3QZ32nNLkitRG9WL6C6kTMW0A2JdUMSJFJMkfhvfMEu+bG0wmteVcC8cWUrgpWz6M5mZ2cEuWGX57dib+0exW8023PEAnr/2TFMRlxe7s19UQwMWY0Jn9NkBw4qhCDaSBB/I9Vp7vb5mRzzJ5NdTItJI4MOGv4 x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 8b9e627c-4c8e-4cb6-e5e9-08d581573ded x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020);SRVR:MW2PR2101MB1020; x-ms-traffictypediagnostic: MW2PR2101MB1020: 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)(93006095)(93001095)(10201501046)(3231220)(944501244)(52105095)(3002001)(6055026)(61426038)(61427038)(6041288)(20161123562045)(20161123558120)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011);SRVR:MW2PR2101MB1020;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB1020; x-forefront-prvs: 0600F93FE1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(39380400002)(396003)(366004)(346002)(376002)(39860400002)(199004)(189003)(6436002)(5250100002)(99286004)(3846002)(6116002)(8936002)(22452003)(86612001)(86362001)(575784001)(4326008)(10090500001)(68736007)(6512007)(7736002)(97736004)(25786009)(76176011)(1076002)(6486002)(2501003)(66066001)(36756003)(107886003)(2950100002)(8676002)(305945005)(5660300001)(105586002)(53936002)(3280700002)(81166006)(6506007)(106356001)(2906002)(81156014)(316002)(478600001)(72206003)(10290500003)(2900100001)(54906003)(110136005)(186003)(102836004)(26005)(14454004)(3660700001)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB1020;H:MW2PR2101MB1034.namprd21.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: y1xirg8NLLjLHW1Oc7SU0mDK+s6VicUcXckBo+BPiXhq46E0G/8SZNaw8Bm6E0XjQG30P/DJLAt8gq7D1ZircqJU0gVGAC1N8lCC/tgU/FB9rOelBpH7PfPqXORx3LPndBiPrwa54iBU/g6TZV1er5E/CnCceXKF/JMaWfLJLVw= 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: 8b9e627c-4c8e-4cb6-e5e9-08d581573ded X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2018 22:29:47.5414 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1020 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 be1a64bfd320..16b0e600ed4c 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