From 49b09c95c72d17d69982b5b3e7043d71f43d53c9 Mon Sep 17 00:00:00 2001 From: Sameer Pujar Date: Wed, 18 Dec 2019 17:57:40 +0530 Subject: [PATCH] ASoC: tegra-alt: remove S24_LE format S24_LE is a 32-bit container with 24-bit data in LSBs, with zeroes in most significant byte. S32_LE can act as 32-bit container for 24-bit data where data is pushed to MSBs and zeroes are filled in least significant byte. For example below is how the data is represented for different containers, where 'abc' is 24-bit data. 0abc (S24_LE) abc0 (S32_LE) As per IAS, most significant bits are pushed first when data moves in AHUB. For any down conversion LSBs are discarded, where as for any up conversion, zeroes are filled in the LSBs. Hence extraction of S24_LE results in data loss. Mentioned below are some of the examples to illustrate this. Consider for playback path, where data flow is from memory to AHUB and its clients, where 'abc' is valid data and 'x' is to ignore. * S32_LE abc0 --> audio = 32, client = 32 --> abc0 abc0 --> audio = 32, client = 24 --> abcx abc0 --> audio = 32, client = 16 --> abxx * S24_LE 0abc --> audio = 32, client = 32 --> 0abc 0abc --> audio = 32, client = 24 --> 0abx (data loss) 0abc --> audio = 32, client = 16 --> 0axx (data loss) Thus this patch removes S24_LE format from the drivers since Tegra audio HW is not designed to support this. Also S24_LE is not a commonly used format. Bug 200568187 Change-Id: I778d2f70527c17f00728fce75fe152d902c5aaa0 Signed-off-by: Sameer Pujar Reviewed-on: https://git-master.nvidia.com/r/2264822 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Viswanath L GVS: Gerrit_Virtual_Submit Reviewed-by: Sharad Gupta Reviewed-by: mobile promotions Tested-by: mobile promotions --- sound/soc/tegra-alt/include/tegra210_i2s_alt.h | 10 +--------- sound/soc/tegra-alt/include/tegra210_xbar_alt.h | 4 +--- .../machine_drivers/tegra_machine_driver_mobile.c | 5 +---- sound/soc/tegra-alt/tegra186_arad_alt.c | 4 ++-- sound/soc/tegra-alt/tegra186_asrc_alt.c | 7 +------ sound/soc/tegra-alt/tegra210_admaif_alt.c | 13 +------------ sound/soc/tegra-alt/tegra210_adsp_alt.c | 11 +---------- sound/soc/tegra-alt/tegra210_adx_alt.c | 5 +---- sound/soc/tegra-alt/tegra210_amx_alt.c | 5 +---- sound/soc/tegra-alt/tegra210_i2s_alt.c | 14 +------------- sound/soc/tegra-alt/tegra210_mixer_alt.c | 4 +--- sound/soc/tegra-alt/tegra210_mvc_alt.c | 4 +--- sound/soc/tegra-alt/tegra210_ope_alt.c | 4 +--- sound/soc/tegra-alt/tegra210_sfc_alt.c | 4 +--- sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c | 4 ++-- sound/soc/tegra-alt/utils/tegra_pcm_alt.c | 4 +--- 16 files changed, 18 insertions(+), 84 deletions(-) diff --git a/sound/soc/tegra-alt/include/tegra210_i2s_alt.h b/sound/soc/tegra-alt/include/tegra210_i2s_alt.h index ea709582..16b98cac 100644 --- a/sound/soc/tegra-alt/include/tegra210_i2s_alt.h +++ b/sound/soc/tegra-alt/include/tegra210_i2s_alt.h @@ -1,7 +1,7 @@ /* * tegra210_i2s_alt.h - Definitions for Tegra210 I2S driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -151,20 +151,12 @@ #define TEGRA210_I2S_CTRL_LPBK_EN (1 << TEGRA210_I2S_CTRL_LPBK_SHIFT) #define TEGRA210_I2S_BITS_8 1 -#define TEGRA210_I2S_BITS_12 2 #define TEGRA210_I2S_BITS_16 3 -#define TEGRA210_I2S_BITS_20 4 -#define TEGRA210_I2S_BITS_24 5 -#define TEGRA210_I2S_BITS_28 6 #define TEGRA210_I2S_BITS_32 7 #define TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT 0 #define TEGRA210_I2S_CTRL_BIT_SIZE_MASK (7 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) #define TEGRA210_I2S_CTRL_BIT_SIZE_8 (TEGRA210_I2S_BITS_8 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) -#define TEGRA210_I2S_CTRL_BIT_SIZE_12 (TEGRA210_I2S_BITS_12 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) #define TEGRA210_I2S_CTRL_BIT_SIZE_16 (TEGRA210_I2S_BITS_16 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) -#define TEGRA210_I2S_CTRL_BIT_SIZE_20 (TEGRA210_I2S_BITS_20 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) -#define TEGRA210_I2S_CTRL_BIT_SIZE_24 (TEGRA210_I2S_BITS_24 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) -#define TEGRA210_I2S_CTRL_BIT_SIZE_28 (TEGRA210_I2S_BITS_28 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) #define TEGRA210_I2S_CTRL_BIT_SIZE_32 (TEGRA210_I2S_BITS_32 << TEGRA210_I2S_CTRL_BIT_SIZE_SHIFT) /* Fields in TEGRA210_I2S_TIMING */ diff --git a/sound/soc/tegra-alt/include/tegra210_xbar_alt.h b/sound/soc/tegra-alt/include/tegra210_xbar_alt.h index 48d536d1..af97874f 100644 --- a/sound/soc/tegra-alt/include/tegra210_xbar_alt.h +++ b/sound/soc/tegra-alt/include/tegra210_xbar_alt.h @@ -1,7 +1,7 @@ /* * tegra210_xbar_alt.h - TEGRA210 XBAR registers * - * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -107,7 +107,6 @@ .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .capture = { \ @@ -117,7 +116,6 @@ .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ } diff --git a/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c b/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c index 68eaf4d4..2510ebbe 100644 --- a/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c +++ b/sound/soc/tegra-alt/machine_drivers/tegra_machine_driver_mobile.c @@ -1,7 +1,7 @@ /* * tegra_machine_driver_mobile.c - Tegra ASoC Machine driver for mobile * - * Copyright (c) 2017-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2017-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -203,9 +203,6 @@ static int tegra_machine_dai_init(struct snd_soc_pcm_runtime *runtime, case SNDRV_PCM_FMTBIT_S16_LE: bclk_rate = srate * channels * 16; break; - case SNDRV_PCM_FMTBIT_S24_LE: - bclk_rate = srate * channels * 24; - break; case SNDRV_PCM_FMTBIT_S32_LE: bclk_rate = srate * channels * 32; break; diff --git a/sound/soc/tegra-alt/tegra186_arad_alt.c b/sound/soc/tegra-alt/tegra186_arad_alt.c index c53976f6..5fce7cb8 100644 --- a/sound/soc/tegra-alt/tegra186_arad_alt.c +++ b/sound/soc/tegra-alt/tegra186_arad_alt.c @@ -1,7 +1,7 @@ /* * tegra186_arad_alt.c - Tegra186 ARAD driver * - * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -136,7 +136,7 @@ static struct snd_soc_dai_driver tegra186_arad_dais[] = { .channels_min = 2, .channels_max = 2, .rates = SNDRV_PCM_RATE_8000_192000, - .formats = SNDRV_PCM_FMTBIT_S24_LE, + .formats = SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &tegra186_arad_out_dai_ops, }, diff --git a/sound/soc/tegra-alt/tegra186_asrc_alt.c b/sound/soc/tegra-alt/tegra186_asrc_alt.c index 7ecde812..e393be74 100644 --- a/sound/soc/tegra-alt/tegra186_asrc_alt.c +++ b/sound/soc/tegra-alt/tegra186_asrc_alt.c @@ -1,7 +1,7 @@ /* * tegra186_asrc_alt.c - Tegra186 ASRC driver * - * Copyright (c) 2015-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2015-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -236,9 +236,6 @@ static int tegra186_asrc_set_audio_cif(struct tegra186_asrc *asrc, case SNDRV_PCM_FORMAT_S16_LE: audio_bits = TEGRA210_AUDIOCIF_BITS_16; break; - case SNDRV_PCM_FORMAT_S24_LE: - audio_bits = TEGRA210_AUDIOCIF_BITS_24; - break; case SNDRV_PCM_FORMAT_S32_LE: audio_bits = TEGRA210_AUDIOCIF_BITS_32; break; @@ -598,7 +595,6 @@ static struct snd_soc_dai_ops tegra186_asrc_out_dai_ops = { .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = dai_ops, \ @@ -614,7 +610,6 @@ static struct snd_soc_dai_ops tegra186_asrc_out_dai_ops = { .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = dai_ops, \ diff --git a/sound/soc/tegra-alt/tegra210_admaif_alt.c b/sound/soc/tegra-alt/tegra210_admaif_alt.c index d5c7661d..bf49cd63 100644 --- a/sound/soc/tegra-alt/tegra210_admaif_alt.c +++ b/sound/soc/tegra-alt/tegra210_admaif_alt.c @@ -1,7 +1,7 @@ /* * tegra210_admaif_alt.c - Tegra ADMAIF driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -334,11 +334,6 @@ static int tegra_admaif_hw_params(struct snd_pcm_substream *substream, cif_conf.client_bits = TEGRA210_AUDIOCIF_BITS_16; valid_bit = DATA_16BIT; break; - case SNDRV_PCM_FORMAT_S24_LE: - cif_conf.audio_bits = TEGRA210_AUDIOCIF_BITS_24; - cif_conf.client_bits = TEGRA210_AUDIOCIF_BITS_24; - valid_bit = DATA_32BIT; - break; case SNDRV_PCM_FORMAT_S32_LE: cif_conf.audio_bits = TEGRA210_AUDIOCIF_BITS_32; cif_conf.client_bits = TEGRA210_AUDIOCIF_BITS_32; @@ -637,7 +632,6 @@ static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .capture = { \ @@ -647,7 +641,6 @@ static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = &tegra_admaif_dai_ops, \ @@ -663,7 +656,6 @@ static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .capture = { \ @@ -673,7 +665,6 @@ static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = &tegra_admaif_dai_ops, \ @@ -689,7 +680,6 @@ static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .capture = { \ @@ -699,7 +689,6 @@ static int tegra_admaif_dai_probe(struct snd_soc_dai *dai) .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ } diff --git a/sound/soc/tegra-alt/tegra210_adsp_alt.c b/sound/soc/tegra-alt/tegra210_adsp_alt.c index b316ff0f..12bcced5 100644 --- a/sound/soc/tegra-alt/tegra210_adsp_alt.c +++ b/sound/soc/tegra-alt/tegra210_adsp_alt.c @@ -2,7 +2,7 @@ * tegra210_adsp_alt.c - Tegra ADSP audio driver * * Author: Sumit Bhattacharya - * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -198,7 +198,6 @@ static const struct snd_pcm_hardware adsp_pcm_hardware = { SNDRV_PCM_INFO_DRAIN_TRIGGER, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, .channels_min = 1, .channels_max = 2, @@ -2151,10 +2150,6 @@ static int tegra210_adsp_null_sink_hw_params(struct snd_soc_dapm_widget *w, adma_params.intr_dur = 1000 * max_bytes / (channels * rate * 2); break; - case SNDRV_PCM_FORMAT_S24_LE: - adma_params.intr_dur = - 1000 * max_bytes / (channels * rate * 3); - break; case SNDRV_PCM_FORMAT_S32_LE: adma_params.intr_dur = 1000 * max_bytes / (channels * rate * 4); @@ -2814,7 +2809,6 @@ static struct snd_soc_dai_ops tegra210_adsp_eavb_dai_ops = { .rates = SNDRV_PCM_RATE_8000_48000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .capture = { \ @@ -2824,7 +2818,6 @@ static struct snd_soc_dai_ops tegra210_adsp_eavb_dai_ops = { .rates = SNDRV_PCM_RATE_8000_48000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ } @@ -2871,7 +2864,6 @@ static struct snd_soc_dai_ops tegra210_adsp_eavb_dai_ops = { .rates = SNDRV_PCM_RATE_8000_48000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .capture = { \ @@ -2881,7 +2873,6 @@ static struct snd_soc_dai_ops tegra210_adsp_eavb_dai_ops = { .rates = SNDRV_PCM_RATE_8000_48000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = &tegra210_adsp_fe_dai_ops, \ diff --git a/sound/soc/tegra-alt/tegra210_adx_alt.c b/sound/soc/tegra-alt/tegra210_adx_alt.c index 14407346..324d6adb 100644 --- a/sound/soc/tegra-alt/tegra210_adx_alt.c +++ b/sound/soc/tegra-alt/tegra210_adx_alt.c @@ -1,7 +1,7 @@ /* * tegra210_adx_alt.c - Tegra210 ADX driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -283,9 +283,6 @@ static int tegra210_adx_set_audio_cif(struct snd_soc_dai *dai, case SNDRV_PCM_FORMAT_S16_LE: audio_bits = TEGRA210_AUDIOCIF_BITS_16; break; - case SNDRV_PCM_FORMAT_S24_LE: - audio_bits = TEGRA210_AUDIOCIF_BITS_24; - break; case SNDRV_PCM_FORMAT_S32_LE: audio_bits = TEGRA210_AUDIOCIF_BITS_32; break; diff --git a/sound/soc/tegra-alt/tegra210_amx_alt.c b/sound/soc/tegra-alt/tegra210_amx_alt.c index d2a8d8c9..1078dbb9 100644 --- a/sound/soc/tegra-alt/tegra210_amx_alt.c +++ b/sound/soc/tegra-alt/tegra210_amx_alt.c @@ -1,7 +1,7 @@ /* * tegra210_amx_alt.c - Tegra210 AMX driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -319,9 +319,6 @@ static int tegra210_amx_set_audio_cif(struct snd_soc_dai *dai, case SNDRV_PCM_FORMAT_S16_LE: audio_bits = TEGRA210_AUDIOCIF_BITS_16; break; - case SNDRV_PCM_FORMAT_S24_LE: - audio_bits = TEGRA210_AUDIOCIF_BITS_24; - break; case SNDRV_PCM_FORMAT_S32_LE: audio_bits = TEGRA210_AUDIOCIF_BITS_32; break; diff --git a/sound/soc/tegra-alt/tegra210_i2s_alt.c b/sound/soc/tegra-alt/tegra210_i2s_alt.c index e0f610cc..0e3ea0c4 100644 --- a/sound/soc/tegra-alt/tegra210_i2s_alt.c +++ b/sound/soc/tegra-alt/tegra210_i2s_alt.c @@ -1,7 +1,7 @@ /* * tegra210_i2s.c - Tegra210 I2S driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -603,12 +603,6 @@ static int tegra210_i2s_hw_params(struct snd_pcm_substream *substream, cif_conf.audio_bits = TEGRA210_AUDIOCIF_BITS_16; cif_conf.client_bits = TEGRA210_AUDIOCIF_BITS_16; break; - case SNDRV_PCM_FORMAT_S24_LE: - val = TEGRA210_I2S_CTRL_BIT_SIZE_24; - sample_size = 24; - cif_conf.audio_bits = TEGRA210_AUDIOCIF_BITS_24; - cif_conf.client_bits = TEGRA210_AUDIOCIF_BITS_24; - break; case SNDRV_PCM_FORMAT_S32_LE: val = TEGRA210_I2S_CTRL_BIT_SIZE_32; sample_size = 32; @@ -703,7 +697,6 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .capture = { @@ -713,7 +706,6 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, }, @@ -726,7 +718,6 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .capture = { @@ -736,7 +727,6 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &tegra210_i2s_dai_ops, @@ -751,7 +741,6 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .capture = { @@ -761,7 +750,6 @@ static struct snd_soc_dai_driver tegra210_i2s_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, }, diff --git a/sound/soc/tegra-alt/tegra210_mixer_alt.c b/sound/soc/tegra-alt/tegra210_mixer_alt.c index 82ef7bc5..893ba8b2 100644 --- a/sound/soc/tegra-alt/tegra210_mixer_alt.c +++ b/sound/soc/tegra-alt/tegra210_mixer_alt.c @@ -1,7 +1,7 @@ /* * tegra210_mixer_alt.c - Tegra210 MIXER driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -315,7 +315,6 @@ static struct snd_soc_dai_ops tegra210_mixer_in_dai_ops = { .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = dai_ops, \ @@ -331,7 +330,6 @@ static struct snd_soc_dai_ops tegra210_mixer_in_dai_ops = { .rates = SNDRV_PCM_RATE_8000_192000, \ .formats = SNDRV_PCM_FMTBIT_S8 | \ SNDRV_PCM_FMTBIT_S16_LE | \ - SNDRV_PCM_FMTBIT_S24_LE | \ SNDRV_PCM_FMTBIT_S32_LE, \ }, \ .ops = dai_ops, \ diff --git a/sound/soc/tegra-alt/tegra210_mvc_alt.c b/sound/soc/tegra-alt/tegra210_mvc_alt.c index 3c35bd00..8c3404a7 100644 --- a/sound/soc/tegra-alt/tegra210_mvc_alt.c +++ b/sound/soc/tegra-alt/tegra210_mvc_alt.c @@ -1,7 +1,7 @@ /* * tegra210_mvc_alt.c - Tegra210 MVC driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -467,7 +467,6 @@ static struct snd_soc_dai_driver tegra210_mvc_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, }, @@ -480,7 +479,6 @@ static struct snd_soc_dai_driver tegra210_mvc_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &tegra210_mvc_dai_ops, diff --git a/sound/soc/tegra-alt/tegra210_ope_alt.c b/sound/soc/tegra-alt/tegra210_ope_alt.c index 5a18c3f0..42ca3125 100644 --- a/sound/soc/tegra-alt/tegra210_ope_alt.c +++ b/sound/soc/tegra-alt/tegra210_ope_alt.c @@ -1,7 +1,7 @@ /* * tegra210_ope_alt.c - Tegra210 OPE driver * - * Copyright (c) 2014-2019, NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020, NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -165,7 +165,6 @@ static struct snd_soc_dai_driver tegra210_ope_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, }, @@ -178,7 +177,6 @@ static struct snd_soc_dai_driver tegra210_ope_dais[] = { .rates = SNDRV_PCM_RATE_8000_192000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &tegra210_ope_dai_ops, diff --git a/sound/soc/tegra-alt/tegra210_sfc_alt.c b/sound/soc/tegra-alt/tegra210_sfc_alt.c index ee488e6c..ce007233 100644 --- a/sound/soc/tegra-alt/tegra210_sfc_alt.c +++ b/sound/soc/tegra-alt/tegra210_sfc_alt.c @@ -1,7 +1,7 @@ /* * tegra210_sfc_alt.c - Tegra210 SFC driver * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -3316,7 +3316,6 @@ static struct snd_soc_dai_driver tegra210_sfc_dais[] = { .rates = SNDRV_PCM_RATE_8000_96000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &tegra210_sfc_in_dai_ops, @@ -3330,7 +3329,6 @@ static struct snd_soc_dai_driver tegra210_sfc_dais[] = { .rates = SNDRV_PCM_RATE_8000_96000, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE, }, .ops = &tegra210_sfc_out_dai_ops, diff --git a/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c b/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c index 7e772f7c..bb184b62 100644 --- a/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c +++ b/sound/soc/tegra-alt/utils/tegra_asoc_machine_alt.c @@ -1,7 +1,7 @@ /* * tegra_asoc_machine_alt.c - Tegra xbar dai link for machine drivers * - * Copyright (c) 2014-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2014-2020 NVIDIA CORPORATION. All rights reserved. * * This program is free software; you can redistribute it and/or modify it * under the terms and conditions of the GNU General Public License, @@ -53,7 +53,7 @@ static struct snd_soc_pcm_stream tdm_link_params = { }; __maybe_unused static struct snd_soc_pcm_stream arad_link_params = { - .formats = SNDRV_PCM_FMTBIT_S24_LE, + .formats = SNDRV_PCM_FMTBIT_S32_LE, .rate_min = 48000, .rate_max = 48000, .channels_min = 2, diff --git a/sound/soc/tegra-alt/utils/tegra_pcm_alt.c b/sound/soc/tegra-alt/utils/tegra_pcm_alt.c index 7b398e70..b024d452 100644 --- a/sound/soc/tegra-alt/utils/tegra_pcm_alt.c +++ b/sound/soc/tegra-alt/utils/tegra_pcm_alt.c @@ -2,7 +2,7 @@ * tegra_alt_pcm.c - Tegra PCM driver * * Author: Stephen Warren - * Copyright (c) 2011-2019 NVIDIA CORPORATION. All rights reserved. + * Copyright (c) 2011-2020 NVIDIA CORPORATION. All rights reserved. * * Based on code copyright/by: * @@ -45,8 +45,6 @@ static const struct snd_pcm_hardware tegra_alt_pcm_hardware = { SNDRV_PCM_INFO_INTERLEAVED, .formats = SNDRV_PCM_FMTBIT_S8 | SNDRV_PCM_FMTBIT_S16_LE | - SNDRV_PCM_FMTBIT_S24_LE | - SNDRV_PCM_FMTBIT_S20_3LE | SNDRV_PCM_FMTBIT_S32_LE, .period_bytes_min = 128, .period_bytes_max = PAGE_SIZE * 4,