All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Osipenko <digetx@gmail.com>
To: Ben Dooks <ben.dooks@codethink.co.uk>,
	Jon Hunter <jonathanh@nvidia.com>,
	linux-tegra@vger.kernel.org, alsa-devel@alsa-project.org,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>
Cc: linux-kernel@lists.codethink.co.uk,
	Edward Cragg <edward.cragg@codethink.co.uk>
Subject: Re: [PATCH v5 2/7] ASoC: tegra: Allow 24bit and 32bit samples
Date: Sun, 22 Dec 2019 20:08:36 +0300	[thread overview]
Message-ID: <9a5447e2-155c-7e6e-b8f1-95523c6f42c6@gmail.com> (raw)
In-Reply-To: <29db3df4-6f51-7c0f-1eef-90171f1d233a@codethink.co.uk>

20.12.2019 20:06, Ben Dooks пишет:
> On 20/12/2019 16:40, Dmitry Osipenko wrote:
>> 20.12.2019 18:25, Ben Dooks пишет:
>>> On 20/12/2019 15:02, Dmitry Osipenko wrote:
>>>> 20.12.2019 17:56, Ben Dooks пишет:
>>>>> On 20/12/2019 14:43, Dmitry Osipenko wrote:
>>>>>> 20.12.2019 16:57, Jon Hunter пишет:
>>>>>>>
>>>>>>> On 20/12/2019 11:38, Ben Dooks wrote:
>>>>>>>> On 20/12/2019 11:30, Jon Hunter wrote:
>>>>>>>>>
>>>>>>>>> On 25/11/2019 17:28, Dmitry Osipenko wrote:
>>>>>>>>>> 25.11.2019 20:22, Dmitry Osipenko пишет:
>>>>>>>>>>> 25.11.2019 13:37, Ben Dooks пишет:
>>>>>>>>>>>> On 23/11/2019 21:09, Dmitry Osipenko wrote:
>>>>>>>>>>>>> 18.10.2019 18:48, Ben Dooks пишет:
>>>>>>>>>>>>>> From: Edward Cragg <edward.cragg@codethink.co.uk>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The tegra3 audio can support 24 and 32 bit sample sizes so
>>>>>>>>>>>>>> add
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> option to the tegra30_i2s_hw_params to configure the
>>>>>>>>>>>>>> S24_LE or
>>>>>>>>>>>>>> S32_LE
>>>>>>>>>>>>>> formats when requested.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Signed-off-by: Edward Cragg <edward.cragg@codethink.co.uk>
>>>>>>>>>>>>>> [ben.dooks@codethink.co.uk: fixup merge of 24 and 32bit]
>>>>>>>>>>>>>> [ben.dooks@codethink.co.uk: add pm calls around ytdm config]
>>>>>>>>>>>>>> [ben.dooks@codethink.co.uk: drop debug printing to dev_dbg]
>>>>>>>>>>>>>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>> squash 5aeca5a055fd ASoC: tegra: i2s:
>>>>>>>>>>>>>> pm_runtime_get_sync() is
>>>>>>>>>>>>>> needed
>>>>>>>>>>>>>> in tdm code
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ASoC: tegra: i2s: pm_runtime_get_sync() is needed in tdm code
>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>       sound/soc/tegra/tegra30_i2s.c | 25
>>>>>>>>>>>>>> ++++++++++++++++++++-----
>>>>>>>>>>>>>>       1 file changed, 20 insertions(+), 5 deletions(-)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> diff --git a/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> b/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> index 73f0dddeaef3..063f34c882af 100644
>>>>>>>>>>>>>> --- a/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> +++ b/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> @@ -127,7 +127,7 @@ static int tegra30_i2s_hw_params(struct
>>>>>>>>>>>>>> snd_pcm_substream *substream,
>>>>>>>>>>>>>>           struct device *dev = dai->dev;
>>>>>>>>>>>>>>           struct tegra30_i2s *i2s =
>>>>>>>>>>>>>> snd_soc_dai_get_drvdata(dai);
>>>>>>>>>>>>>>           unsigned int mask, val, reg;
>>>>>>>>>>>>>> -    int ret, sample_size, srate, i2sclock, bitcnt;
>>>>>>>>>>>>>> +    int ret, sample_size, srate, i2sclock, bitcnt,
>>>>>>>>>>>>>> audio_bits;
>>>>>>>>>>>>>>           struct tegra30_ahub_cif_conf cif_conf;
>>>>>>>>>>>>>>             if (params_channels(params) != 2)
>>>>>>>>>>>>>> @@ -137,8 +137,19 @@ static int tegra30_i2s_hw_params(struct
>>>>>>>>>>>>>> snd_pcm_substream *substream,
>>>>>>>>>>>>>>           switch (params_format(params)) {
>>>>>>>>>>>>>>           case SNDRV_PCM_FORMAT_S16_LE:
>>>>>>>>>>>>>>               val = TEGRA30_I2S_CTRL_BIT_SIZE_16;
>>>>>>>>>>>>>> +        audio_bits = TEGRA30_AUDIOCIF_BITS_16;
>>>>>>>>>>>>>>               sample_size = 16;
>>>>>>>>>>>>>>               break;
>>>>>>>>>>>>>> +    case SNDRV_PCM_FORMAT_S24_LE:
>>>>>>>>>>>>>> +        val = TEGRA30_I2S_CTRL_BIT_SIZE_24;
>>>>>>>>>>>>>> +        audio_bits = TEGRA30_AUDIOCIF_BITS_24;
>>>>>>>>>>>>>> +        sample_size = 24;
>>>>>>>>>>>>>> +        break;
>>>>>>>>>>>>>> +    case SNDRV_PCM_FORMAT_S32_LE:
>>>>>>>>>>>>>> +        val = TEGRA30_I2S_CTRL_BIT_SIZE_32;
>>>>>>>>>>>>>> +        audio_bits = TEGRA30_AUDIOCIF_BITS_32;
>>>>>>>>>>>>>> +        sample_size = 32;
>>>>>>>>>>>>>> +        break;
>>>>>>>>>>>>>>           default:
>>>>>>>>>>>>>>               return -EINVAL;
>>>>>>>>>>>>>>           }
>>>>>>>>>>>>>> @@ -170,8 +181,8 @@ static int tegra30_i2s_hw_params(struct
>>>>>>>>>>>>>> snd_pcm_substream *substream,
>>>>>>>>>>>>>>           cif_conf.threshold = 0;
>>>>>>>>>>>>>>           cif_conf.audio_channels = 2;
>>>>>>>>>>>>>>           cif_conf.client_channels = 2;
>>>>>>>>>>>>>> -    cif_conf.audio_bits = TEGRA30_AUDIOCIF_BITS_16;
>>>>>>>>>>>>>> -    cif_conf.client_bits = TEGRA30_AUDIOCIF_BITS_16;
>>>>>>>>>>>>>> +    cif_conf.audio_bits = audio_bits;
>>>>>>>>>>>>>> +    cif_conf.client_bits = audio_bits;
>>>>>>>>>>>>>>           cif_conf.expand = 0;
>>>>>>>>>>>>>>           cif_conf.stereo_conv = 0;
>>>>>>>>>>>>>>           cif_conf.replicate = 0;
>>>>>>>>>>>>>> @@ -306,14 +317,18 @@ static const struct snd_soc_dai_driver
>>>>>>>>>>>>>> tegra30_i2s_dai_template = {
>>>>>>>>>>>>>>               .channels_min = 2,
>>>>>>>>>>>>>>               .channels_max = 2,
>>>>>>>>>>>>>>               .rates = SNDRV_PCM_RATE_8000_96000,
>>>>>>>>>>>>>> -        .formats = SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>> +        .formats = SNDRV_PCM_FMTBIT_S32_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S24_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>>           },
>>>>>>>>>>>>>>           .capture = {
>>>>>>>>>>>>>>               .stream_name = "Capture",
>>>>>>>>>>>>>>               .channels_min = 2,
>>>>>>>>>>>>>>               .channels_max = 2,
>>>>>>>>>>>>>>               .rates = SNDRV_PCM_RATE_8000_96000,
>>>>>>>>>>>>>> -        .formats = SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>> +        .formats = SNDRV_PCM_FMTBIT_S32_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S24_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>>           },
>>>>>>>>>>>>>>           .ops = &tegra30_i2s_dai_ops,
>>>>>>>>>>>>>>           .symmetric_rates = 1,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>
>>>>>>>>>>>>> This patch breaks audio on Tegra30. I don't see errors
>>>>>>>>>>>>> anywhere, but
>>>>>>>>>>>>> there is no audio and reverting this patch helps. Please
>>>>>>>>>>>>> fix it.
>>>>>>>>>>>>
>>>>>>>>>>>> What is the failure mode? I can try and take a look at this
>>>>>>>>>>>> some
>>>>>>>>>>>> time
>>>>>>>>>>>> this week, but I am not sure if I have any boards with an
>>>>>>>>>>>> actual
>>>>>>>>>>>> useful
>>>>>>>>>>>> audio output?
>>>>>>>>>>>
>>>>>>>>>>> The failure mode is that there no sound. I also noticed that
>>>>>>>>>>> video
>>>>>>>>>>> playback stutters a lot if movie file has audio track, seems
>>>>>>>>>>> something
>>>>>>>>>>> times out during of the audio playback. For now I don't have any
>>>>>>>>>>> more info.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Oh, I didn't say how to reproduce it.. for example simply playing
>>>>>>>>>> big_buck_bunny_720p_h264.mov in MPV has the audio problem.
>>>>>>>>>>
>>>>>>>>>> https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_h264.mov
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Given that the audio drivers uses regmap, it could be good to
>>>>>>>>> dump the
>>>>>>>>> I2S/AHUB registers while the clip if playing with and without this
>>>>>>>>> patch
>>>>>>>>> to see the differences. I am curious if the audio is now being
>>>>>>>>> played as
>>>>>>>>> 24 or 32-bit instead of 16-bit now these are available.
>>>>>>>>>
>>>>>>>>> You could also dump the hw_params to see the format while
>>>>>>>>> playing as
>>>>>>>>> well ...
>>>>>>>>>
>>>>>>>>> $ /proc/asound/<scard-name>/pcm0p/sub0/hw_params
>>>>>>>>
>>>>>>>> I suppose it is also possible that the codec isn't properly
>>>>>>>> doing >16
>>>>>>>> bits and the fact we now offer 24 and 32 could be an issue. I've
>>>>>>>> not
>>>>>>>> got anything with an audio output on it that would be easy to test.
>>>>>>>
>>>>>>> I thought I had tested on a Jetson TK1 (Tegra124) but it was
>>>>>>> sometime
>>>>>>> back. However, admittedly I may have only done simple 16-bit testing
>>>>>>> with speaker-test.
>>>>>>>
>>>>>>> We do verify that all soundcards are detected and registered as
>>>>>>> expected
>>>>>>> during daily testing, but at the moment we don't have anything that
>>>>>>> verifies actual playback.
>>>>>>
>>>>>> Please take a look at the attached logs.
>>>>>
>>>>> I wonder if we are falling into FIFO configuration issues with the
>>>>> non-16 bit case.
>>>>>
>>>>> Can you try adding the following two patches?
>>>>
>>>> It is much better now! There is no horrible noise and no stuttering,
>>>> but
>>>> audio still has a "robotic" effect, like freq isn't correct.
>>>
>>> I wonder if there's an issue with FIFO stoking? I should also possibly
>>> add the correctly stop FIFOs patch as well.
>>
>> I'll be happy to try more patches.
>>
>> Meanwhile sound on v5.5+ is broken and thus the incomplete patches
>> should be reverted.
> 
> Have you checked if just removing the 24/32 bits from .formats in
> the dai template and see if the problem continues? 

It works.

> I will try and
> see if I can find the code that does the fifo level checking and
> see if the problem is in the FIFO fill or something else in the
> audio hub setup.

Ok
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

WARNING: multiple messages have this Message-ID (diff)
From: Dmitry Osipenko <digetx@gmail.com>
To: Ben Dooks <ben.dooks@codethink.co.uk>,
	Jon Hunter <jonathanh@nvidia.com>,
	 linux-tegra@vger.kernel.org, alsa-devel@alsa-project.org,
	Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	Mark Brown <broonie@kernel.org>,
	Thierry Reding <thierry.reding@gmail.com>
Cc: linux-kernel@lists.codethink.co.uk,
	Edward Cragg <edward.cragg@codethink.co.uk>
Subject: Re: [alsa-devel] [PATCH v5 2/7] ASoC: tegra: Allow 24bit and 32bit samples
Date: Sun, 22 Dec 2019 20:08:36 +0300	[thread overview]
Message-ID: <9a5447e2-155c-7e6e-b8f1-95523c6f42c6@gmail.com> (raw)
In-Reply-To: <29db3df4-6f51-7c0f-1eef-90171f1d233a@codethink.co.uk>

20.12.2019 20:06, Ben Dooks пишет:
> On 20/12/2019 16:40, Dmitry Osipenko wrote:
>> 20.12.2019 18:25, Ben Dooks пишет:
>>> On 20/12/2019 15:02, Dmitry Osipenko wrote:
>>>> 20.12.2019 17:56, Ben Dooks пишет:
>>>>> On 20/12/2019 14:43, Dmitry Osipenko wrote:
>>>>>> 20.12.2019 16:57, Jon Hunter пишет:
>>>>>>>
>>>>>>> On 20/12/2019 11:38, Ben Dooks wrote:
>>>>>>>> On 20/12/2019 11:30, Jon Hunter wrote:
>>>>>>>>>
>>>>>>>>> On 25/11/2019 17:28, Dmitry Osipenko wrote:
>>>>>>>>>> 25.11.2019 20:22, Dmitry Osipenko пишет:
>>>>>>>>>>> 25.11.2019 13:37, Ben Dooks пишет:
>>>>>>>>>>>> On 23/11/2019 21:09, Dmitry Osipenko wrote:
>>>>>>>>>>>>> 18.10.2019 18:48, Ben Dooks пишет:
>>>>>>>>>>>>>> From: Edward Cragg <edward.cragg@codethink.co.uk>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> The tegra3 audio can support 24 and 32 bit sample sizes so
>>>>>>>>>>>>>> add
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> option to the tegra30_i2s_hw_params to configure the
>>>>>>>>>>>>>> S24_LE or
>>>>>>>>>>>>>> S32_LE
>>>>>>>>>>>>>> formats when requested.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Signed-off-by: Edward Cragg <edward.cragg@codethink.co.uk>
>>>>>>>>>>>>>> [ben.dooks@codethink.co.uk: fixup merge of 24 and 32bit]
>>>>>>>>>>>>>> [ben.dooks@codethink.co.uk: add pm calls around ytdm config]
>>>>>>>>>>>>>> [ben.dooks@codethink.co.uk: drop debug printing to dev_dbg]
>>>>>>>>>>>>>> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>> squash 5aeca5a055fd ASoC: tegra: i2s:
>>>>>>>>>>>>>> pm_runtime_get_sync() is
>>>>>>>>>>>>>> needed
>>>>>>>>>>>>>> in tdm code
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ASoC: tegra: i2s: pm_runtime_get_sync() is needed in tdm code
>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>>       sound/soc/tegra/tegra30_i2s.c | 25
>>>>>>>>>>>>>> ++++++++++++++++++++-----
>>>>>>>>>>>>>>       1 file changed, 20 insertions(+), 5 deletions(-)
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> diff --git a/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> b/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> index 73f0dddeaef3..063f34c882af 100644
>>>>>>>>>>>>>> --- a/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> +++ b/sound/soc/tegra/tegra30_i2s.c
>>>>>>>>>>>>>> @@ -127,7 +127,7 @@ static int tegra30_i2s_hw_params(struct
>>>>>>>>>>>>>> snd_pcm_substream *substream,
>>>>>>>>>>>>>>           struct device *dev = dai->dev;
>>>>>>>>>>>>>>           struct tegra30_i2s *i2s =
>>>>>>>>>>>>>> snd_soc_dai_get_drvdata(dai);
>>>>>>>>>>>>>>           unsigned int mask, val, reg;
>>>>>>>>>>>>>> -    int ret, sample_size, srate, i2sclock, bitcnt;
>>>>>>>>>>>>>> +    int ret, sample_size, srate, i2sclock, bitcnt,
>>>>>>>>>>>>>> audio_bits;
>>>>>>>>>>>>>>           struct tegra30_ahub_cif_conf cif_conf;
>>>>>>>>>>>>>>             if (params_channels(params) != 2)
>>>>>>>>>>>>>> @@ -137,8 +137,19 @@ static int tegra30_i2s_hw_params(struct
>>>>>>>>>>>>>> snd_pcm_substream *substream,
>>>>>>>>>>>>>>           switch (params_format(params)) {
>>>>>>>>>>>>>>           case SNDRV_PCM_FORMAT_S16_LE:
>>>>>>>>>>>>>>               val = TEGRA30_I2S_CTRL_BIT_SIZE_16;
>>>>>>>>>>>>>> +        audio_bits = TEGRA30_AUDIOCIF_BITS_16;
>>>>>>>>>>>>>>               sample_size = 16;
>>>>>>>>>>>>>>               break;
>>>>>>>>>>>>>> +    case SNDRV_PCM_FORMAT_S24_LE:
>>>>>>>>>>>>>> +        val = TEGRA30_I2S_CTRL_BIT_SIZE_24;
>>>>>>>>>>>>>> +        audio_bits = TEGRA30_AUDIOCIF_BITS_24;
>>>>>>>>>>>>>> +        sample_size = 24;
>>>>>>>>>>>>>> +        break;
>>>>>>>>>>>>>> +    case SNDRV_PCM_FORMAT_S32_LE:
>>>>>>>>>>>>>> +        val = TEGRA30_I2S_CTRL_BIT_SIZE_32;
>>>>>>>>>>>>>> +        audio_bits = TEGRA30_AUDIOCIF_BITS_32;
>>>>>>>>>>>>>> +        sample_size = 32;
>>>>>>>>>>>>>> +        break;
>>>>>>>>>>>>>>           default:
>>>>>>>>>>>>>>               return -EINVAL;
>>>>>>>>>>>>>>           }
>>>>>>>>>>>>>> @@ -170,8 +181,8 @@ static int tegra30_i2s_hw_params(struct
>>>>>>>>>>>>>> snd_pcm_substream *substream,
>>>>>>>>>>>>>>           cif_conf.threshold = 0;
>>>>>>>>>>>>>>           cif_conf.audio_channels = 2;
>>>>>>>>>>>>>>           cif_conf.client_channels = 2;
>>>>>>>>>>>>>> -    cif_conf.audio_bits = TEGRA30_AUDIOCIF_BITS_16;
>>>>>>>>>>>>>> -    cif_conf.client_bits = TEGRA30_AUDIOCIF_BITS_16;
>>>>>>>>>>>>>> +    cif_conf.audio_bits = audio_bits;
>>>>>>>>>>>>>> +    cif_conf.client_bits = audio_bits;
>>>>>>>>>>>>>>           cif_conf.expand = 0;
>>>>>>>>>>>>>>           cif_conf.stereo_conv = 0;
>>>>>>>>>>>>>>           cif_conf.replicate = 0;
>>>>>>>>>>>>>> @@ -306,14 +317,18 @@ static const struct snd_soc_dai_driver
>>>>>>>>>>>>>> tegra30_i2s_dai_template = {
>>>>>>>>>>>>>>               .channels_min = 2,
>>>>>>>>>>>>>>               .channels_max = 2,
>>>>>>>>>>>>>>               .rates = SNDRV_PCM_RATE_8000_96000,
>>>>>>>>>>>>>> -        .formats = SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>> +        .formats = SNDRV_PCM_FMTBIT_S32_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S24_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>>           },
>>>>>>>>>>>>>>           .capture = {
>>>>>>>>>>>>>>               .stream_name = "Capture",
>>>>>>>>>>>>>>               .channels_min = 2,
>>>>>>>>>>>>>>               .channels_max = 2,
>>>>>>>>>>>>>>               .rates = SNDRV_PCM_RATE_8000_96000,
>>>>>>>>>>>>>> -        .formats = SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>> +        .formats = SNDRV_PCM_FMTBIT_S32_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S24_LE |
>>>>>>>>>>>>>> +               SNDRV_PCM_FMTBIT_S16_LE,
>>>>>>>>>>>>>>           },
>>>>>>>>>>>>>>           .ops = &tegra30_i2s_dai_ops,
>>>>>>>>>>>>>>           .symmetric_rates = 1,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hello,
>>>>>>>>>>>>>
>>>>>>>>>>>>> This patch breaks audio on Tegra30. I don't see errors
>>>>>>>>>>>>> anywhere, but
>>>>>>>>>>>>> there is no audio and reverting this patch helps. Please
>>>>>>>>>>>>> fix it.
>>>>>>>>>>>>
>>>>>>>>>>>> What is the failure mode? I can try and take a look at this
>>>>>>>>>>>> some
>>>>>>>>>>>> time
>>>>>>>>>>>> this week, but I am not sure if I have any boards with an
>>>>>>>>>>>> actual
>>>>>>>>>>>> useful
>>>>>>>>>>>> audio output?
>>>>>>>>>>>
>>>>>>>>>>> The failure mode is that there no sound. I also noticed that
>>>>>>>>>>> video
>>>>>>>>>>> playback stutters a lot if movie file has audio track, seems
>>>>>>>>>>> something
>>>>>>>>>>> times out during of the audio playback. For now I don't have any
>>>>>>>>>>> more info.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Oh, I didn't say how to reproduce it.. for example simply playing
>>>>>>>>>> big_buck_bunny_720p_h264.mov in MPV has the audio problem.
>>>>>>>>>>
>>>>>>>>>> https://download.blender.org/peach/bigbuckbunny_movies/big_buck_bunny_720p_h264.mov
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Given that the audio drivers uses regmap, it could be good to
>>>>>>>>> dump the
>>>>>>>>> I2S/AHUB registers while the clip if playing with and without this
>>>>>>>>> patch
>>>>>>>>> to see the differences. I am curious if the audio is now being
>>>>>>>>> played as
>>>>>>>>> 24 or 32-bit instead of 16-bit now these are available.
>>>>>>>>>
>>>>>>>>> You could also dump the hw_params to see the format while
>>>>>>>>> playing as
>>>>>>>>> well ...
>>>>>>>>>
>>>>>>>>> $ /proc/asound/<scard-name>/pcm0p/sub0/hw_params
>>>>>>>>
>>>>>>>> I suppose it is also possible that the codec isn't properly
>>>>>>>> doing >16
>>>>>>>> bits and the fact we now offer 24 and 32 could be an issue. I've
>>>>>>>> not
>>>>>>>> got anything with an audio output on it that would be easy to test.
>>>>>>>
>>>>>>> I thought I had tested on a Jetson TK1 (Tegra124) but it was
>>>>>>> sometime
>>>>>>> back. However, admittedly I may have only done simple 16-bit testing
>>>>>>> with speaker-test.
>>>>>>>
>>>>>>> We do verify that all soundcards are detected and registered as
>>>>>>> expected
>>>>>>> during daily testing, but at the moment we don't have anything that
>>>>>>> verifies actual playback.
>>>>>>
>>>>>> Please take a look at the attached logs.
>>>>>
>>>>> I wonder if we are falling into FIFO configuration issues with the
>>>>> non-16 bit case.
>>>>>
>>>>> Can you try adding the following two patches?
>>>>
>>>> It is much better now! There is no horrible noise and no stuttering,
>>>> but
>>>> audio still has a "robotic" effect, like freq isn't correct.
>>>
>>> I wonder if there's an issue with FIFO stoking? I should also possibly
>>> add the correctly stop FIFOs patch as well.
>>
>> I'll be happy to try more patches.
>>
>> Meanwhile sound on v5.5+ is broken and thus the incomplete patches
>> should be reverted.
> 
> Have you checked if just removing the 24/32 bits from .formats in
> the dai template and see if the problem continues? 

It works.

> I will try and
> see if I can find the code that does the fifo level checking and
> see if the problem is in the FIFO fill or something else in the
> audio hub setup.

Ok
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
https://mailman.alsa-project.org/mailman/listinfo/alsa-devel

  reply	other threads:[~2019-12-22 17:08 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-18 15:48 tegra30 tdm audio support Ben Dooks
2019-10-18 15:48 ` [alsa-devel] " Ben Dooks
2019-10-18 15:48 ` [PATCH v5 1/7] ASoC: tegra: add a TDM configuration callback Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-24 15:50   ` Jon Hunter
2019-10-24 15:50     ` [alsa-devel] " Jon Hunter
2019-10-25 10:12   ` Applied "ASoC: tegra: add a TDM configuration callback" to the asoc tree Mark Brown
2019-10-25 10:12     ` [alsa-devel] " Mark Brown
2019-10-18 15:48 ` [PATCH v5 2/7] ASoC: tegra: Allow 24bit and 32bit samples Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-24 15:54   ` Jon Hunter
2019-10-24 15:54     ` [alsa-devel] " Jon Hunter
2019-10-25 10:12   ` Applied "ASoC: tegra: Allow 24bit and 32bit samples" to the asoc tree Mark Brown
2019-10-25 10:12     ` [alsa-devel] " Mark Brown
2019-11-23 21:09   ` [PATCH v5 2/7] ASoC: tegra: Allow 24bit and 32bit samples Dmitry Osipenko
2019-11-23 21:09     ` [alsa-devel] " Dmitry Osipenko
2019-11-25 10:37     ` Ben Dooks
2019-11-25 10:37       ` [alsa-devel] " Ben Dooks
2019-11-25 17:22       ` Dmitry Osipenko
2019-11-25 17:22         ` [alsa-devel] " Dmitry Osipenko
2019-11-25 17:28         ` Dmitry Osipenko
2019-11-25 17:28           ` [alsa-devel] " Dmitry Osipenko
2019-12-19 21:21           ` Dmitry Osipenko
2019-12-19 21:21             ` [alsa-devel] " Dmitry Osipenko
2019-12-20 10:56             ` Ben Dooks
2019-12-20 10:56               ` [alsa-devel] " Ben Dooks
2019-12-20 11:30           ` Jon Hunter
2019-12-20 11:30             ` [alsa-devel] " Jon Hunter
2019-12-20 11:38             ` Ben Dooks
2019-12-20 11:38               ` [alsa-devel] " Ben Dooks
2019-12-20 13:57               ` Jon Hunter
2019-12-20 13:57                 ` [alsa-devel] " Jon Hunter
2019-12-20 14:43                 ` Dmitry Osipenko
2019-12-20 14:43                   ` [alsa-devel] " Dmitry Osipenko
2019-12-20 14:56                   ` Ben Dooks
2019-12-20 14:56                     ` [alsa-devel] " Ben Dooks
2019-12-20 15:02                     ` Dmitry Osipenko
2019-12-20 15:02                       ` [alsa-devel] " Dmitry Osipenko
2019-12-20 15:25                       ` Ben Dooks
2019-12-20 15:25                         ` [alsa-devel] " Ben Dooks
2019-12-20 16:40                         ` Dmitry Osipenko
2019-12-20 16:40                           ` [alsa-devel] " Dmitry Osipenko
2019-12-20 17:06                           ` Ben Dooks
2019-12-20 17:06                             ` [alsa-devel] " Ben Dooks
2019-12-22 17:08                             ` Dmitry Osipenko [this message]
2019-12-22 17:08                               ` Dmitry Osipenko
2020-01-05  0:04                               ` Ben Dooks
2020-01-05  0:04                                 ` [alsa-devel] " Ben Dooks
2020-01-05  1:48                                 ` Dmitry Osipenko
2020-01-05  1:48                                   ` [alsa-devel] " Dmitry Osipenko
2020-01-05 10:53                                   ` Ben Dooks
2020-01-05 10:53                                     ` [alsa-devel] " Ben Dooks
2020-01-06 19:00                                     ` [Linux-kernel] " Ben Dooks
2020-01-06 19:00                                       ` [alsa-devel] " Ben Dooks
2020-01-07  1:39                                       ` Dmitry Osipenko
2020-01-07  1:39                                         ` [alsa-devel] " Dmitry Osipenko
2020-01-08 11:37                                         ` Jon Hunter
2020-01-08 11:37                                           ` [alsa-devel] " Jon Hunter
     [not found]                                           ` <07cd66dc-1a6c-6b49-55a9-1420fe235161-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-20 16:50                                             ` Dmitry Osipenko
2020-01-20 16:50                                               ` [alsa-devel] " Dmitry Osipenko
     [not found]                                               ` <ebfaa0d3-1236-cac4-4bd8-4456a171d773-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-20 17:36                                                 ` Ben Dooks
2020-01-20 17:36                                                   ` [alsa-devel] " Ben Dooks
     [not found]                                         ` <a2744ea0-cf6d-d083-75e6-853746195001-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-23 19:38                                           ` Ben Dooks
2020-01-23 19:38                                             ` Ben Dooks
     [not found]                                             ` <28cafc56-095b-68c6-638d-270608a2983f-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-23 21:59                                               ` Ben Dooks
2020-01-23 21:59                                                 ` Ben Dooks
     [not found]                                                 ` <9b3a0cdd-34c7-ecb4-4a26-268fd4a63041-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-23 22:11                                                   ` Dmitry Osipenko
2020-01-23 22:11                                                     ` Dmitry Osipenko
     [not found]                                                     ` <76a6a818-ab60-45eb-a85e-fa3090266d6f-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-24  4:31                                                       ` Dmitry Osipenko
2020-01-24  4:31                                                         ` Dmitry Osipenko
2020-01-24 16:56                                                   ` Jon Hunter
2020-01-24 16:56                                                     ` Jon Hunter
     [not found]                                                     ` <26aeb591-e770-5e6a-5ee4-05414ae4ddc6-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-24 17:00                                                       ` Mark Brown
2020-01-24 17:00                                                         ` Mark Brown
     [not found]                                                         ` <20200124170059.GB4918-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2020-01-24 17:03                                                           ` Ben Dooks
2020-01-24 17:03                                                             ` Ben Dooks
2020-01-24 16:50                                               ` Jon Hunter
2020-01-24 16:50                                                 ` Jon Hunter
     [not found]                                                 ` <3d8544be-af20-f382-85fd-32183365267b-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-24 17:00                                                   ` Ben Dooks
2020-01-24 17:00                                                     ` Ben Dooks
     [not found]                                                     ` <318f0256-fe6d-c34d-4deb-74540fca8d0d-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-28  7:49                                                       ` Ricard Wanderlof
2020-01-28  7:49                                                         ` Ricard Wanderlof
2020-01-24 17:06                                                   ` Ben Dooks
2020-01-24 17:06                                                     ` Ben Dooks
2020-01-27 19:20                                                   ` Dmitry Osipenko
2020-01-27 19:20                                                     ` Dmitry Osipenko
     [not found]                                                     ` <1b3c2af4-510e-306c-749a-efffc994b20a-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-27 19:23                                                       ` Dmitry Osipenko
2020-01-27 19:23                                                         ` Dmitry Osipenko
2020-01-28  8:59                                                         ` Ben Dooks
2020-01-28  8:59                                                           ` [alsa-devel] " Ben Dooks
     [not found]                                                           ` <62cea895-c1f1-a833-b63c-050642bb8a79-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-28 13:19                                                             ` Jon Hunter
2020-01-28 13:19                                                               ` Jon Hunter
     [not found]                                                               ` <d6bb92e2-16ba-3c00-2f07-e741ecaa5ec8-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-28 15:25                                                                 ` Dmitry Osipenko
2020-01-28 15:25                                                                   ` Dmitry Osipenko
2020-01-28 15:26                                                                 ` Mark Brown
2020-01-28 15:26                                                                   ` Mark Brown
     [not found]                                                                   ` <20200128152632.GF4689-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2020-01-28 17:45                                                                     ` Dmitry Osipenko
2020-01-28 17:45                                                                       ` Dmitry Osipenko
2020-01-28 18:42                                                                 ` Jon Hunter
2020-01-28 18:42                                                                   ` Jon Hunter
     [not found]                                                                   ` <7d9a06b5-c001-2d01-f999-10ccd1195ebe-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-30  8:04                                                                     ` Ben Dooks
2020-01-30  8:04                                                                       ` Ben Dooks
2020-01-28 12:13                                                       ` Mark Brown
2020-01-28 12:13                                                         ` Mark Brown
     [not found]                                                         ` <20200128121315.GD4689-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2020-01-28 17:42                                                           ` Dmitry Osipenko
2020-01-28 17:42                                                             ` Dmitry Osipenko
     [not found]                                                             ` <047c8caa-e715-5295-9794-67ff3e10cea2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-28 18:19                                                               ` Jon Hunter
2020-01-28 18:19                                                                 ` Jon Hunter
     [not found]                                                                 ` <70f344bf-f991-606c-55ab-bdadea27d233-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-29  0:17                                                                   ` Dmitry Osipenko
2020-01-29  0:17                                                                     ` Dmitry Osipenko
     [not found]                                                                     ` <2ff97414-f0a5-7224-0e53-6cad2ed0ccd2-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2020-01-30  8:05                                                                       ` Ben Dooks
2020-01-30  8:05                                                                         ` [alsa-devel] (no subject) Ben Dooks
2020-01-30  9:31                                                                         ` Clemens Ladisch
2020-01-30  9:31                                                                           ` [alsa-devel] " Clemens Ladisch
     [not found]                                                                           ` <96ed04cb-24ab-7e4d-bd44-6a4bb7c046ac-P6GI/4k7KOmELgA04lAiVw@public.gmane.org>
2020-01-30  9:39                                                                             ` Ben Dooks
2020-01-30  9:39                                                                               ` Ben Dooks
     [not found]                                                                               ` <8161fc88-fa8c-ec92-cc14-1caa5c6f2fe7-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-30 14:58                                                                                 ` Clemens Ladisch
2020-01-30 14:58                                                                                   ` Clemens Ladisch
     [not found]                                                                                   ` <182fd434-f15a-f049-1ba1-83bd864b4590-P6GI/4k7KOmELgA04lAiVw@public.gmane.org>
2020-01-31 10:50                                                                                     ` Ben Dooks
2020-01-31 10:50                                                                                       ` Ben Dooks
2020-01-31 11:03                                                                                       ` Clemens Ladisch
2020-01-31 11:03                                                                                         ` [alsa-devel] " Clemens Ladisch
2020-01-29 10:49                                                           ` [alsa-devel] [Linux-kernel] [PATCH v5 2/7] ASoC: tegra: Allow 24bit and 32bit samples Jon Hunter
2020-01-29 10:49                                                             ` Jon Hunter
     [not found]                                                             ` <4b90efd2-5d0c-84df-961d-80cee288e0d4-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-29 14:33                                                               ` Jon Hunter
2020-01-29 14:33                                                                 ` Jon Hunter
     [not found]                                                                 ` <586ea2b9-c204-2bd1-f8e2-875e0974e42d-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-29 15:22                                                                   ` Dmitry Osipenko
2020-01-29 15:22                                                                     ` Dmitry Osipenko
2020-01-30  8:17                                                                   ` Ben Dooks
2020-01-30  8:17                                                                     ` Ben Dooks
     [not found]                                                                     ` <fe002ec7-ae6e-f770-b82a-49237e0b29c6-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-30 12:05                                                                       ` Jon Hunter
2020-01-30 12:05                                                                         ` Jon Hunter
     [not found]                                                                         ` <c01e6e09-d3ed-7c39-5a66-e25950f8bdcc-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-30 12:07                                                                           ` Ben Dooks
2020-01-30 12:07                                                                             ` Ben Dooks
     [not found]                                                                             ` <5898e2ed-1773-8f8f-b26b-d4613a8ad4de-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-30 13:09                                                                               ` Jon Hunter
2020-01-30 13:09                                                                                 ` Jon Hunter
2020-01-30 13:10                                                                       ` Mark Brown
2020-01-30 13:10                                                                         ` Mark Brown
     [not found]                                                                         ` <20200130131039.GC6682-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2020-03-19 15:32                                                                           ` Ben Dooks
2020-03-19 15:32                                                                             ` Ben Dooks
     [not found]                                                                             ` <1df9cc13ea636502ac09191523ff0669-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-03-20 14:18                                                                               ` Dmitry Osipenko
2020-03-20 14:18                                                                                 ` Dmitry Osipenko
2020-01-30  8:06                                                               ` Ben Dooks
2020-01-30  8:06                                                                 ` Ben Dooks
2020-01-29 17:52                                                           ` Ben Dooks
2020-01-29 17:52                                                             ` Ben Dooks
2020-01-28  8:58                                                     ` Ben Dooks
2020-01-28  8:58                                                       ` [alsa-devel] " Ben Dooks
2020-01-07 10:29                                     ` Jon Hunter
2020-01-07 10:29                                       ` [alsa-devel] " Jon Hunter
2020-01-07 10:35                                       ` Ben Dooks
2020-01-07 10:35                                         ` [alsa-devel] " Ben Dooks
     [not found]                                       ` <eb90ee78-e462-401a-de60-4a9bfc2a00c4-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2020-01-21 18:15                                         ` Ben Dooks
2020-01-21 18:15                                           ` Ben Dooks
     [not found]                                           ` <9fc97644-b679-ef9f-41ca-1d3a5f296f3a-4yDnlxn2s6sWdaTGBSpHTA@public.gmane.org>
2020-01-21 18:54                                             ` Dmitry Osipenko
2020-01-21 18:54                                               ` Dmitry Osipenko
2019-10-18 15:48 ` [PATCH v5 3/7] ASoC: tegra: i2s: Add support for more than 2 channels Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-24 16:12   ` Jon Hunter
2019-10-24 16:12     ` [alsa-devel] " Jon Hunter
2019-10-24 19:18     ` Mark Brown
2019-10-24 19:18       ` [alsa-devel] " Mark Brown
2019-10-25  7:48       ` Jon Hunter
2019-10-25  7:48         ` [alsa-devel] " Jon Hunter
2019-10-18 15:48 ` [PATCH v5 4/7] ASoC: tegra: disable rx_fifo after disable stream Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-24 16:12   ` Jon Hunter
2019-10-24 16:12     ` [alsa-devel] " Jon Hunter
2019-10-25 10:12   ` Applied "ASoC: tegra: disable rx_fifo after disable stream" to the asoc tree Mark Brown
2019-10-25 10:12     ` [alsa-devel] " Mark Brown
2019-10-18 15:48 ` [PATCH v5 5/7] ASoC: tegra: set i2s_offset to 0 for tdm Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-25  7:58   ` Jon Hunter
2019-10-25  7:58     ` [alsa-devel] " Jon Hunter
2019-10-18 15:48 ` [PATCH v5 6/7] ASoC: tegra: config fifos on hw_param changes Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-25  8:18   ` Jon Hunter
2019-10-25  8:18     ` [alsa-devel] " Jon Hunter
2019-10-18 15:48 ` [PATCH v5 7/7] ASoC: tegra: take packing settings from the audio cif_config Ben Dooks
2019-10-18 15:48   ` [alsa-devel] " Ben Dooks
2019-10-25  8:47   ` Jon Hunter
2019-10-25  8:47     ` [alsa-devel] " Jon Hunter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9a5447e2-155c-7e6e-b8f1-95523c6f42c6@gmail.com \
    --to=digetx@gmail.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=ben.dooks@codethink.co.uk \
    --cc=broonie@kernel.org \
    --cc=edward.cragg@codethink.co.uk \
    --cc=jonathanh@nvidia.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@lists.codethink.co.uk \
    --cc=linux-tegra@vger.kernel.org \
    --cc=perex@perex.cz \
    --cc=thierry.reding@gmail.com \
    --cc=tiwai@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.