Received: by 10.223.185.116 with SMTP id b49csp1071809wrg; Sat, 3 Mar 2018 14:45:52 -0800 (PST) X-Google-Smtp-Source: AG47ELtyuMx2RPRxK23Q0zPAv5N2+1JjuwoZPqU+W8NuuULWq4mQTSNqSKIHqYHDOseU/FweDJRP X-Received: by 2002:a17:902:c03:: with SMTP id 3-v6mr8815389pls.407.1520117152637; Sat, 03 Mar 2018 14:45:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1520117152; cv=none; d=google.com; s=arc-20160816; b=Nn8etZ04ToICvZB5Iu2p3/hPDoAgqFgbjqbzdxsxtnFZnyfJ0k1rIWZ/yeDtiR7jxJ a3XnxVK3E+BVocwo29xY1z237UyFxwbNhLW+Eq8v12FxaMgu65zgBAZ2OI3RWArOSrtt 5K6TxTuBNmNMrEHI44CbNcyl92Ewl1t4HC6Dgqd1MhoK3rBWDWUkJ/oBNsO+dwjxGzKf BZhNekukNfGntRQXSmHAJcQm3EI4sIzUNjNCghXLgb/S+PqydlOG3HSf/moOHXnd6Fk9 YloCGol882o/CiJxcDlynkZ6l3+8tml2RiErtBoqg2kPfsPxlxt9hz09WHecYlkmePr7 olZw== 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=1nIYWmabiuvQCHKwXYCBd+B9rhrhFhZ6OuR35tLh6nQ=; b=RkHkQ2qDqq1nbFIh5+eJ3yaMvhXKha2kGYYFsHC0MQ5AQahOlNRY7mPXID8e23hDT7 a4ER8Odw0wLbKmXMwF5koRrWNsDgJFRzIFz05BAzYIw/NHOnh65TGl+CSd/+KEDhi7JZ ge99KAjHyEGrI3yr/Zds00ezuucWKU/4DXiYMGL/iZJ2yy//GZ5FGvKSUzFo5+ku9Fuj FPElV5gdU8I7tfkmpm9Bryjp0+T9SU4q8B706mWbMIgz4n5Q5cL4n/OniV146bcSMDFV LUSjiJmmnA5BUtGyRwOGxpog/8C1gw0CQoD6H7kOVabkteFXfmXv9DunD/0zC+2qvTB2 u0Yg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@microsoft.com header.s=selector1 header.b=b5JZnvNF; 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 a6si6089884pgd.787.2018.03.03.14.45.38; Sat, 03 Mar 2018 14:45:52 -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=b5JZnvNF; 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 S934558AbeCCWoc (ORCPT + 99 others); Sat, 3 Mar 2018 17:44:32 -0500 Received: from mail-co1nam03on0134.outbound.protection.outlook.com ([104.47.40.134]:59904 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S935589AbeCCWmA (ORCPT ); Sat, 3 Mar 2018 17:42:00 -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=1nIYWmabiuvQCHKwXYCBd+B9rhrhFhZ6OuR35tLh6nQ=; b=b5JZnvNFxWhzS1RbhUv+Q1tAwARAECuuw4Tw3L/q98SBUqxJozcukLiG6B6IEd9KrRvKI+UXnrcuIYuYzcMuWGtwbUBj43fZa8Xlmqui3IxYUBDD0tfN2FOyHv7UkFyMii7HJdeKheKA98gqr5aS6DBxX4p6K7B2Obp0ycXkBm0= Received: from MW2PR2101MB1034.namprd21.prod.outlook.com (52.132.149.10) by MW2PR2101MB1018.namprd21.prod.outlook.com (52.132.146.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.567.7; Sat, 3 Mar 2018 22:41:57 +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:41:57 +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 3.18 54/63] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Topic: [PATCH AUTOSEL for 3.18 54/63] ASoC: tlv320aic31xx: Handle inverted BCLK in non-DSP modes Thread-Index: AQHTsz+vNE3yUguHQUOIIjZQUB8slQ== Date: Sat, 3 Mar 2018 22:33:42 +0000 Message-ID: <20180303223228.27323-54-alexander.levin@microsoft.com> References: <20180303223228.27323-1-alexander.levin@microsoft.com> In-Reply-To: <20180303223228.27323-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;MW2PR2101MB1018;7:LVNO7p5aRZc0mssBllVw8m13ELa4/YCHUxMB/89f07Hy7wqC/kckXH3H3qDIDaphIoLlUJm2Aqno1l96iPkOkApSVDKEFhc4Ka1W6a5OAwmuiz4v3TX50rxfhcIkhIbPgNuKLEhg0/yRBwb9/M9WjxQpqGMKh27oWIqkRY9fuDg7d8Y6pe22jN6yh9joVBWAzmjSkHfy3mtarRkBCA8HoW+uL9wc7dZ0YEm5VvfkbFT+nEF83M2U5s4MhuXvXkFZ x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 8acb6d4a-cfb7-4bdc-6316-08d58157f88a x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603307)(7193020);SRVR:MW2PR2101MB1018; x-ms-traffictypediagnostic: MW2PR2101MB1018: 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:MW2PR2101MB1018;BCL:0;PCL:0;RULEID:;SRVR:MW2PR2101MB1018; x-forefront-prvs: 0600F93FE1 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(376002)(39860400002)(39380400002)(366004)(346002)(199004)(189003)(26005)(25786009)(3280700002)(10290500003)(4326008)(107886003)(81156014)(5660300001)(8676002)(6512007)(2950100002)(305945005)(97736004)(186003)(54906003)(6436002)(7736002)(72206003)(76176011)(6506007)(106356001)(110136005)(575784001)(86362001)(102836004)(6486002)(66066001)(36756003)(6116002)(3846002)(14454004)(6666003)(105586002)(99286004)(478600001)(1076002)(3660700001)(2906002)(10090500001)(86612001)(5250100002)(81166006)(6346003)(2900100001)(68736007)(2501003)(8936002)(316002)(53936002)(22452003)(22906009)(217873001);DIR:OUT;SFP:1102;SCL:1;SRVR:MW2PR2101MB1018;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) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Alexander.Levin@microsoft.com; x-microsoft-antispam-message-info: PvdfxjuDWOLz2jdAXIPZCsycSJ88zRGDtb2CO2LccsRhSN94kQur8c7XL6g/S48KbxLtdHaKczAo5tLvW17935ggvuGqfn2nkMjaptZ4yztDWC4zt2TFl3BqBdz6lH/ZzBHr5tqUX1VZzozkHLRgOzk1AO6r4pJ64+CZqJcHdkU= 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: 8acb6d4a-cfb7-4bdc-6316-08d58157f88a X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Mar 2018 22:33:42.9980 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW2PR2101MB1018 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 93de5dd0a7b9..fbeb34e87032 100644 --- a/sound/soc/codecs/tlv320aic31xx.c +++ b/sound/soc/codecs/tlv320aic31xx.c @@ -845,6 +845,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: @@ -852,16 +864,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