[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240405104306.551036-1-spujar@nvidia.com>
Date: Fri, 5 Apr 2024 10:43:06 +0000
From: Sameer Pujar <spujar@...dia.com>
To: <broonie@...nel.org>, <linux-sound@...r.kernel.org>,
<alsa-devel@...a-project.org>
CC: <linux-tegra@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<lgirdwood@...il.com>, <thierry.reding@...il.com>, <jonathanh@...dia.com>,
<mkumard@...dia.com>, Sameer Pujar <spujar@...dia.com>,
<stable@...r.kernel.org>
Subject: [RESEND PATCH v2] ASoC: tegra: Fix DSPK 16-bit playback
DSPK configuration is wrong for 16-bit playback and this happens because
the client config is always fixed at 24-bit in hw_params(). Fix this by
updating the client config to 16-bit for the respective playback.
Fixes: 327ef6470266 ("ASoC: tegra: Add Tegra186 based DSPK driver")
Cc: stable@...r.kernel.org
Signed-off-by: Sameer Pujar <spujar@...dia.com>
---
changes in v2:
* moved common setting to S32_LE switch case.
sound/soc/tegra/tegra186_dspk.c | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/tegra/tegra186_dspk.c b/sound/soc/tegra/tegra186_dspk.c
index aa37c4ab0adb..21cd41fec7a9 100644
--- a/sound/soc/tegra/tegra186_dspk.c
+++ b/sound/soc/tegra/tegra186_dspk.c
@@ -1,8 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only
+// SPDX-FileCopyrightText: Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
//
// tegra186_dspk.c - Tegra186 DSPK driver
-//
-// Copyright (c) 2020 NVIDIA CORPORATION. All rights reserved.
#include <linux/clk.h>
#include <linux/device.h>
@@ -241,14 +240,14 @@ static int tegra186_dspk_hw_params(struct snd_pcm_substream *substream,
return -EINVAL;
}
- cif_conf.client_bits = TEGRA_ACIF_BITS_24;
-
switch (params_format(params)) {
case SNDRV_PCM_FORMAT_S16_LE:
cif_conf.audio_bits = TEGRA_ACIF_BITS_16;
+ cif_conf.client_bits = TEGRA_ACIF_BITS_16;
break;
case SNDRV_PCM_FORMAT_S32_LE:
cif_conf.audio_bits = TEGRA_ACIF_BITS_32;
+ cif_conf.client_bits = TEGRA_ACIF_BITS_24;
break;
default:
dev_err(dev, "unsupported format!\n");
--
2.25.1
Powered by blists - more mailing lists