diff options
author | Sameer Pujar <spujar@nvidia.com> | 2024-04-05 10:43:06 +0000 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-04-08 13:38:46 +0100 |
commit | 2e93a29b48a017c777d4fcbfcc51aba4e6a90d38 (patch) | |
tree | 92b77c58cfc31ad621cff1d7c07ef41f1c275302 /sound | |
parent | 7a1625c1711b526a77cb9c3acc15dbba71896a40 (diff) | |
download | linux-stable-2e93a29b48a017c777d4fcbfcc51aba4e6a90d38.tar.gz linux-stable-2e93a29b48a017c777d4fcbfcc51aba4e6a90d38.tar.bz2 linux-stable-2e93a29b48a017c777d4fcbfcc51aba4e6a90d38.zip |
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@vger.kernel.org
Signed-off-by: Sameer Pujar <spujar@nvidia.com>
Acked-by: Thierry Reding <treding@nvidia.com>
Link: https://msgid.link/r/20240405104306.551036-1-spujar@nvidia.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/tegra/tegra186_dspk.c | 7 |
1 files 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"); |