From patchwork Wed May 4 17:08:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Charles Keepax X-Patchwork-Id: 12838302 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D3DABC433EF for ; Wed, 4 May 2022 17:19:28 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 24A1F174C; Wed, 4 May 2022 19:18:37 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 24A1F174C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1651684767; bh=x5C9Uv2o6lqCkROo32DolqexUWI9ZG2Z1AnhAel2AuQ=; h=From:To:Subject:Date:In-Reply-To:References:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=fUFMvQkD3HjBdaujzDhvHZkP1u47+BC+EnReVoDCo8jc+paXZsykAvl+/OVgkpo9C iAmVnneWP4fh7gPgnR7WGNZPr/+ltOv61qHjoTR4/5mL0UJDKVNFF7nlGyacvUa9Cx RURNJE79SrbwXNb+VwMGUk71ne38qMldgJlsNrcw= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 8B651F80166; Wed, 4 May 2022 19:10:29 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 945FFF80605; Wed, 4 May 2022 19:10:25 +0200 (CEST) Received: from mx0b-001ae601.pphosted.com (mx0b-001ae601.pphosted.com [67.231.152.168]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id BB446F805E2 for ; Wed, 4 May 2022 19:10:04 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz BB446F805E2 Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=cirrus.com header.i=@cirrus.com header.b="Sn/TeRRw" Received: from pps.filterd (m0077474.ppops.net [127.0.0.1]) by mx0b-001ae601.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 2446EsAH021058; Wed, 4 May 2022 12:09:19 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cirrus.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-transfer-encoding : content-type; s=PODMain02222019; bh=oCip2HMRb+6GaCCm6E5uCoMFu120gkJAqwsYY4rRhjQ=; b=Sn/TeRRwZBH748npLu/zcO0TpcXv6f4vI/i3boTv1y87hZooUmKU75Vft/5JrTFsYJRG yfkYFfPAzGmpatlsrx6BwDVU7SUoXDb8EWulh8ZPMu/EfludjtLvyLBgrkFhyz0ge9do 8c8QJQuP11WziGp+wjaGxnE85KLGhf8RXiDGxJIbbqg/vG0dvVlzpDfqt0GT/vqSq/wI +W6cPra7fH6gugvRUJQFaRbPXOi0gIbKIa1ah6htxtEDNecP60yi3zgdiARmqc4PvlDn 84osvRzdRm6bZH1RAOBW9XlKOtZKXRSlAa69M5DCb2cX7JWV0lhafqpEHyM/ONFE7cwk ZA== Received: from ediex01.ad.cirrus.com ([84.19.233.68]) by mx0b-001ae601.pphosted.com (PPS) with ESMTPS id 3fs1hpcxs0-13 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 04 May 2022 12:09:19 -0500 Received: from EDIEX01.ad.cirrus.com (198.61.84.80) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 4 May 2022 18:09:06 +0100 Received: from ediswmail.ad.cirrus.com (198.61.86.93) by EDIEX01.ad.cirrus.com (198.61.84.80) with Microsoft SMTP Server id 15.1.2375.24 via Frontend Transport; Wed, 4 May 2022 18:09:06 +0100 Received: from algalon.ad.cirrus.com (algalon.ad.cirrus.com [198.90.251.122]) by ediswmail.ad.cirrus.com (Postfix) with ESMTP id 952A9B10; Wed, 4 May 2022 17:09:06 +0000 (UTC) From: Charles Keepax To: Subject: [PATCH 24/38] ASoC: tlv320adc3xxx: Add endianness flag in snd_soc_component_driver Date: Wed, 4 May 2022 18:08:51 +0100 Message-ID: <20220504170905.332415-25-ckeepax@opensource.cirrus.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220504170905.332415-1-ckeepax@opensource.cirrus.com> References: <20220504170905.332415-1-ckeepax@opensource.cirrus.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: o3QQtQx0-e9urUyMd3PuEVUgKaX2fBxb X-Proofpoint-GUID: o3QQtQx0-e9urUyMd3PuEVUgKaX2fBxb X-Proofpoint-Spam-Reason: safe Cc: oder_chiou@realtek.com, steven.eckhoff.opensource@gmail.com, alexandre.belloni@bootlin.com, lars@metafoo.de, kuninori.morimoto.gx@renesas.com, kmarinushkin@birdec.com, patches@opensource.cirrus.com, linux-mediatek@lists.infradead.org, lgirdwood@gmail.com, jiaxin.yu@mediatek.com, tzungbi@google.com, srinivas.kandagatla@linaro.org, matthias.bgg@gmail.com, chrome-platform@lists.linux.dev, codrin.ciubotariu@microchip.com, alsa-devel@alsa-project.org, bleung@chromium.org, cychiang@chromium.org X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" The endianness flag is used on the CODEC side to specify an ambivalence to endian, typically because it is lost over the hardware link. This device receives audio over an I2S DAI and as such should have endianness applied. A fixup is also required to use the width directly rather than relying on the format in hw_params, now both little and big endian would be supported. Signed-off-by: Charles Keepax --- sound/soc/codecs/tlv320adc3xxx.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/sound/soc/codecs/tlv320adc3xxx.c b/sound/soc/codecs/tlv320adc3xxx.c index a5e9f80cfa321..82532ad00c3c8 100644 --- a/sound/soc/codecs/tlv320adc3xxx.c +++ b/sound/soc/codecs/tlv320adc3xxx.c @@ -1152,20 +1152,20 @@ static int adc3xxx_hw_params(struct snd_pcm_substream *substream, return i; /* select data word length */ - switch (params_format(params)) { - case SNDRV_PCM_FORMAT_S16_LE: + switch (params_width(params)) { + case 16: iface_len = ADC3XXX_IFACE_16BITS; width = 16; break; - case SNDRV_PCM_FORMAT_S20_3LE: + case 20: iface_len = ADC3XXX_IFACE_20BITS; width = 20; break; - case SNDRV_PCM_FORMAT_S24_LE: + case 24: iface_len = ADC3XXX_IFACE_24BITS; width = 24; break; - case SNDRV_PCM_FORMAT_S32_LE: + case 32: iface_len = ADC3XXX_IFACE_32BITS; width = 32; break; @@ -1335,6 +1335,7 @@ static const struct snd_soc_component_driver soc_component_dev_adc3xxx = { .num_dapm_widgets = ARRAY_SIZE(adc3xxx_dapm_widgets), .dapm_routes = adc3xxx_intercon, .num_dapm_routes = ARRAY_SIZE(adc3xxx_intercon), + .endianness = 1, }; static const struct i2c_device_id adc3xxx_i2c_id[] = {