Received: by 2002:a5d:9c59:0:0:0:0:0 with SMTP id 25csp2179260iof; Tue, 7 Jun 2022 22:20:46 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxWgIF4VrLn2mRnyayUDozue4VZKrGUiTcrEjbp5Hj/yWCgiW3R0RZT9V/oYf5c0ukj8PYX X-Received: by 2002:a17:902:7c8c:b0:161:f5b4:9aa6 with SMTP id y12-20020a1709027c8c00b00161f5b49aa6mr31906368pll.79.1654665645896; Tue, 07 Jun 2022 22:20:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1654665645; cv=none; d=google.com; s=arc-20160816; b=yCLiIjGzT1EUcrPJEaTM14U6A9mPQqG2bed2f/FPgjjbMdHpDnaGjJcmB/YrHjzmXT R93B4Kxq4aENxN+HKzKlUZYi+rZ6kCuePCE4KK0KqbNwRiqKSp2L3aIsvsLQoBrXme+C xNh9ezzlDjIOw+san6/capq6bngK+Ub64wirrJXXqlhIeFglkI4kejeDSsCOv9SQVJLt d3KhqX/Wy2azhBfZmmRCR8MgQ11V6dq+OdcSPvy55i11wlz5CA1Zbxyz1e2sPhMm04E2 OZUxeup9omVw0nVnjip1J7VgGAvs/gdtmFBW0HWmMRn3029OfjC2W0zq/LcaCFsZQOI8 oOJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=1WOe+bRpaY23xAPk4ZpItUgJ7g9wNS+D5tXEhS+1gtI=; b=t6EJ9aP5bEMkJ/VV5HLxWVR4B5yq7y8k9SGkQBIeInAD+4bzqgYir1ZjDiqBamoE3A Zx+NVaAm6h4dDxwy4zMdQ8uie080BNbUHYln5vTkflExVqbq1B2FFgIbw7a/7w3uCJQk +RgqYDfViTWIiWWWfO2JB6Z1FIW6PKeuTdimyYiw1j+gAqSQVOJyx8jFQpK5yXcwHNgp 4teFIP3wk+3zxkXHb/phf4RUnlaeweBmDhJj0e+Vej/1bzeRNVdaG4ME5/qyDoLp823j tSo6x1HTInxNgWr5oaXBEM30az3cBRigLQdkWRqc+mmcHi57u1vNQjkPHJyNwcoS2+Hx IbgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=FpqyKCl6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id l11-20020a170903244b00b00164195d35a6si25828317pls.47.2022.06.07.22.20.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 07 Jun 2022 22:20:45 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=FpqyKCl6; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id EEC8E20C25E; Tue, 7 Jun 2022 21:48:43 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1345802AbiFGRZy (ORCPT + 99 others); Tue, 7 Jun 2022 13:25:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45458 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346064AbiFGRVq (ORCPT ); Tue, 7 Jun 2022 13:21:46 -0400 Received: from sin.source.kernel.org (sin.source.kernel.org [IPv6:2604:1380:40e1:4800::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 52A95106A7A; Tue, 7 Jun 2022 10:21:10 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sin.source.kernel.org (Postfix) with ESMTPS id BF7FFCE2016; Tue, 7 Jun 2022 17:21:08 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CCDC5C34115; Tue, 7 Jun 2022 17:21:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1654622467; bh=eSwQJ4MdzEqPLyRF0dMCA29MT+ipw7FAuQyfMB7EKTo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=FpqyKCl62BJ94ATCEAQEL68gChWQwJPIuWn22OZjQENrh3vf46RFqDajdOLyoEmi8 d/KVoz4ZJ3Q9Zx8JQI+RJf5qgtJ3R1BVqnewj4LXODdh7Rrf8zZxU2aSj1ysLEPHrK KBkgB0Nk6sNr3lGrfVT7csPENHPIu03OyUK08KCY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Charles Keepax , Mark Brown , Sasha Levin Subject: [PATCH 5.10 067/452] ASoC: tscs454: Add endianness flag in snd_soc_component_driver Date: Tue, 7 Jun 2022 18:58:44 +0200 Message-Id: <20220607164910.547376974@linuxfoundation.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20220607164908.521895282@linuxfoundation.org> References: <20220607164908.521895282@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Charles Keepax [ Upstream commit ff69ec96b87dccb3a29edef8cec5d4fefbbc2055 ] 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. It is worth noting this changes the behaviour of S24_LE to use a word length of 24 rather than 32. This would appear to be a correction since the fact S24_LE is stored as 32 bits should not be presented over the bus. Signed-off-by: Charles Keepax Link: https://lore.kernel.org/r/20220504170905.332415-26-ckeepax@opensource.cirrus.com Signed-off-by: Mark Brown Signed-off-by: Sasha Levin --- sound/soc/codecs/tscs454.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/sound/soc/codecs/tscs454.c b/sound/soc/codecs/tscs454.c index d0af16b4db2f..a6f339bb4771 100644 --- a/sound/soc/codecs/tscs454.c +++ b/sound/soc/codecs/tscs454.c @@ -3115,18 +3115,17 @@ static int set_aif_sample_format(struct snd_soc_component *component, unsigned int width; int ret; - switch (format) { - case SNDRV_PCM_FORMAT_S16_LE: + switch (snd_pcm_format_width(format)) { + case 16: width = FV_WL_16; break; - case SNDRV_PCM_FORMAT_S20_3LE: + case 20: width = FV_WL_20; break; - case SNDRV_PCM_FORMAT_S24_3LE: + case 24: width = FV_WL_24; break; - case SNDRV_PCM_FORMAT_S24_LE: - case SNDRV_PCM_FORMAT_S32_LE: + case 32: width = FV_WL_32; break; default: @@ -3321,6 +3320,7 @@ static const struct snd_soc_component_driver soc_component_dev_tscs454 = { .num_dapm_routes = ARRAY_SIZE(tscs454_intercon), .controls = tscs454_snd_controls, .num_controls = ARRAY_SIZE(tscs454_snd_controls), + .endianness = 1, }; #define TSCS454_RATES SNDRV_PCM_RATE_8000_96000 -- 2.35.1