From: Damien Horsley <Damien.Horsley-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
To: Mark Brown <broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org,
James Hartley
<James.Hartley-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Liam Girdwood <lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Jaroslav Kysela <perex-/Fr2/VpizcU@public.gmane.org>,
Takashi Iwai <tiwai-IBi9RG/b67k@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [alsa-devel] [PATCH V2 02/10] ASoC: img: Add driver for I2S input controller
Date: Thu, 29 Oct 2015 15:42:59 +0000 [thread overview]
Message-ID: <56323E83.5010605@imgtec.com> (raw)
In-Reply-To: <20151028234334.GF28319-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
On 28/10/15 23:43, Mark Brown wrote:
> On Wed, Oct 28, 2015 at 09:18:20PM +0000, Damien Horsley wrote:
>> On 28/10/15 01:04, Mark Brown wrote:
>
>>>> I think it also makes sense to keep the blocks consistent with each
>>>> other. The spdif (out and in), and parallel out, all flush automatically
>>>> when stopped, and the fifo for the i2s out block is cleared when the
>>>> reset is asserted.
>
>>> This seems like an issue that got missed in the other drivers then. I'd
>>> expect the trigger operation to be a minimal operation which starts and
>>> stops the data transfer, not doing anything else.
>
>> The spdif out, spdif in, and parallel out blocks auto-flush whenever
>> they are stopped. It is not possible for software to prevent this behavior.
>
> Oh, so this isn't the drivers doing this? In that case it's fine for
> them to do that, if it's what the hardware does it's what the hardware
> does. It sounded like you were saying that there was similar code in
> the other drivers.
>
For the I2S In, there is another issue with flushing on stream close. If
the stream is stopped, then reconfigured to use a larger number of
channels (without the stream being closed), then the per-channel fifos
will become inconsistent with each other. The new channels will have no
samples in their FIFOs, while the others may contain samples from the
previous stream.
Would hw_params be the correct place to flush instead?
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Damien Horsley <Damien.Horsley@imgtec.com>
To: Mark Brown <broonie@kernel.org>
Cc: <alsa-devel@alsa-project.org>,
James Hartley <James.Hartley@imgtec.com>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
Kumar Gala <galak@codeaurora.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [alsa-devel] [PATCH V2 02/10] ASoC: img: Add driver for I2S input controller
Date: Thu, 29 Oct 2015 15:42:59 +0000 [thread overview]
Message-ID: <56323E83.5010605@imgtec.com> (raw)
In-Reply-To: <20151028234334.GF28319@sirena.org.uk>
On 28/10/15 23:43, Mark Brown wrote:
> On Wed, Oct 28, 2015 at 09:18:20PM +0000, Damien Horsley wrote:
>> On 28/10/15 01:04, Mark Brown wrote:
>
>>>> I think it also makes sense to keep the blocks consistent with each
>>>> other. The spdif (out and in), and parallel out, all flush automatically
>>>> when stopped, and the fifo for the i2s out block is cleared when the
>>>> reset is asserted.
>
>>> This seems like an issue that got missed in the other drivers then. I'd
>>> expect the trigger operation to be a minimal operation which starts and
>>> stops the data transfer, not doing anything else.
>
>> The spdif out, spdif in, and parallel out blocks auto-flush whenever
>> they are stopped. It is not possible for software to prevent this behavior.
>
> Oh, so this isn't the drivers doing this? In that case it's fine for
> them to do that, if it's what the hardware does it's what the hardware
> does. It sounded like you were saying that there was similar code in
> the other drivers.
>
For the I2S In, there is another issue with flushing on stream close. If
the stream is stopped, then reconfigured to use a larger number of
channels (without the stream being closed), then the per-channel fifos
will become inconsistent with each other. The new channels will have no
samples in their FIFOs, while the others may contain samples from the
previous stream.
Would hw_params be the correct place to flush instead?
next prev parent reply other threads:[~2015-10-29 15:42 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-12 12:40 [PATCH V2 00/10] Add support for Imagination Technologies audio controllers Damien Horsley
2015-10-12 12:40 ` [PATCH V2 01/10] ASoC: img: Add binding document for I2S input controller Damien Horsley
2015-10-12 12:40 ` [PATCH V2 02/10] ASoC: img: Add driver " Damien Horsley
2015-10-19 17:47 ` Mark Brown
2015-10-19 17:47 ` [alsa-devel] " Mark Brown
[not found] ` <20151019174732.GG32054-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-22 19:09 ` Damien Horsley
2015-10-22 19:09 ` Damien Horsley
[not found] ` <56293472.7000401-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-10-23 22:57 ` Mark Brown
2015-10-23 22:57 ` Mark Brown
[not found] ` <20151023225723.GO29919-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-27 13:55 ` Damien Horsley
2015-10-27 13:55 ` Damien Horsley
2015-10-28 1:04 ` Mark Brown
2015-10-28 1:04 ` [alsa-devel] " Mark Brown
2015-10-28 21:18 ` Damien Horsley
2015-10-28 21:18 ` Damien Horsley
2015-10-28 23:43 ` Mark Brown
[not found] ` <20151028234334.GF28319-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-29 15:42 ` Damien Horsley [this message]
2015-10-29 15:42 ` Damien Horsley
[not found] ` <56323E83.5010605-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-10-30 1:20 ` Mark Brown
2015-10-30 1:20 ` Mark Brown
2015-10-12 12:40 ` [PATCH V2 03/10] ASoC: img: Add binding document for I2S output controller Damien Horsley
2015-10-19 17:56 ` [alsa-devel] " Mark Brown
[not found] ` <20151019175658.GI32054-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-22 19:11 ` Damien Horsley
2015-10-22 19:11 ` Damien Horsley
2015-10-12 12:40 ` [PATCH V2 04/10] ASoC: img: Add driver " Damien Horsley
2015-10-12 12:40 ` [PATCH V2 05/10] ASoC: img: Add binding document for parallel " Damien Horsley
2015-10-12 12:40 ` [PATCH V2 06/10] ASoC: img: Add driver " Damien Horsley
2015-10-19 18:07 ` Mark Brown
2015-10-19 18:07 ` [alsa-devel] " Mark Brown
[not found] ` <20151019180757.GJ32054-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-22 19:21 ` Damien Horsley
2015-10-22 19:21 ` Damien Horsley
[not found] ` <5629371F.5080700-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-10-23 22:58 ` Mark Brown
2015-10-23 22:58 ` Mark Brown
2015-10-12 12:40 ` [PATCH V2 07/10] ASoC: img: Add binding document for SPDIF input controller Damien Horsley
2015-10-12 12:40 ` [PATCH V2 08/10] ASoC: img: Add driver " Damien Horsley
[not found] ` <1444653637-14711-9-git-send-email-Damien.Horsley-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org>
2015-10-19 18:27 ` [alsa-devel] " Mark Brown
2015-10-19 18:27 ` Mark Brown
[not found] ` <20151019182758.GK32054-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2015-10-22 19:21 ` Damien Horsley
2015-10-22 19:21 ` Damien Horsley
2015-10-12 12:40 ` [PATCH V2 09/10] ASoC: img: Add binding document for SPDIF output controller Damien Horsley
2015-10-12 12:40 ` [PATCH V2 10/10] ASoC: img: Add driver " Damien Horsley
2015-10-19 18:36 ` [alsa-devel] [PATCH V2 00/10] Add support for Imagination Technologies audio controllers Mark Brown
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=56323E83.5010605@imgtec.com \
--to=damien.horsley-1axoqhu6uovqt0dzr+alfa@public.gmane.org \
--cc=James.Hartley-1AXoQHu6uovQT0dZR+AlfA@public.gmane.org \
--cc=alsa-devel-K7yf7f+aM1XWsZ/bQMPhNw@public.gmane.org \
--cc=broonie-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=lgirdwood-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=perex-/Fr2/VpizcU@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=tiwai-IBi9RG/b67k@public.gmane.org \
/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.