Received: by 10.223.185.116 with SMTP id b49csp1082410wrg; Sat, 3 Mar 2018 15:03:39 -0800 (PST) X-Google-Smtp-Source: AG47ELvyGOsPe+ZjxO+Pto54Ylnej4oUqL0VE6qTQju1cjpP4IVe7JLM/KxPaqKrWsLWbTVVg+65 X-Received: by 10.98.141.65 with SMTP id z62mr10400083pfd.129.1520118219018; Sat, 03 Mar 2018 15:03:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520118218; cv=none; d=google.com; s=arc-20160816; b=c5ZxIkU5bZ0A+07WTFZXQMbaXxzdfAot/ke+HpNfOlESjjoLW0MkFQLIbk3H2sEvHh GRXC1Zo/KCSYkvvJ4pJ9JQsu6vC04wL4WhkyE/K3DZhb77AAOtA+nOQHZDhddIyvIufB ZD2tX55PVrg9lw3fgPz21GJzWvDeckKw3tf8T/U6OfUfat6SerC5lSQeq332sul9lDNr 4Hgdi3TPZDVduWp+5OI6lfv5X0fRsmO9EllWmEq8Vdm699IW4YMQy8PaUjgc5Kd3Aqjj I0/7xs7IBTQeg0M3m67fc9CiQCmU5AEPkwlIY3czMvfeCwkhvlzUS+oaCFDUITen3Iyr Ty4g== 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=3+9To9s95phgWywgV29o73samQzAjZZkLwBDynYJwnw=; b=SGJPa9DV/2tnElE2Z+c0m/V6A775vKC8MyXi2hkQsGJ8JHz7cbmLsn1zJA2lVKLseD QSN1ZQpTsFfCvUgzYo+yCKFI4Pu+UNsHK1ZMygYCrvCCNb89u0HdfoHQt13/oIQ0ecP0 DqVZ2V6wE1pt3Zh7b10IMkAYuJs5Pnn2bR8/NGw7geoC+uPN+dETKDrnGzPzTtrRUNYs 5cIA2qzg//YyEtR8q6VWlV25+MIM2PRvWZkcHr1xVrlH48BtfPJp8OXLThY2aVwDj6ES TeeqTOw6NcIOcCVxLKqtyOB2xhZppsisirYo4H+5gnvHJHTptEeLJMvRJkqBW//OhFul Y7sg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=NBvhQ5tD; 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 u2si6081435pgc.321.2018.03.03.15.03.24; Sat, 03 Mar 2018 15:03:38 -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=NBvhQ5tD; 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 S935383AbeCCXCG (ORCPT + 99 others); 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 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=3+9To9s95phgWywgV29o73samQzAjZZkLwBDynYJwnw=; b=NBvhQ5tDq4xqnyczyMQ7/IPxzG7twpFv9c87C02idazMe2Q5SvzHM6qAWcjrmyh3GOX+jNRrjEnDEiuD/RYy73r5TWwzUvKqCeMiILJKXgMSIdhRUF61HwO/urt+UOtofm00XVooDbhlRhjXDJ/N9dfFEcqVS37An3J7Pj3JVjw= Received: from MW2PR2101MB1034.namprd21.prod.outlook.com (52.132.149.10) by MW2PR2101MB0939.namprd21.prod.outlook.com (52.132.146.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.567.5; Sat, 3 Mar 2018 22:40:45 +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:40:45 +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.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; received-spf: None (protection.outlook.com: microsoft.com does not designate permitted sender hosts) 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: 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 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