From: Mark Brown <broonie@kernel.org>
To: Qais Yousef <qais.yousef@imgtec.com>
Cc: alsa-devel@alsa-project.org, Liam Girdwood <lgirdwood@gmail.com>,
Jaroslav Kysela <perex@perex.cz>, Takashi Iwai <tiwai@suse.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 06/10] ALSA: axd: add basic files for sending/receiving axd cmds
Date: Thu, 3 Sep 2015 13:40:45 +0100 [thread overview]
Message-ID: <20150903124045.GY12027@sirena.org.uk> (raw)
In-Reply-To: <55E581FB.4000202@imgtec.com>
[-- Attachment #1: Type: text/plain, Size: 2495 bytes --]
On Tue, Sep 01, 2015 at 11:46:19AM +0100, Qais Yousef wrote:
> On 08/29/2015 11:18 AM, Mark Brown wrote:
> >On Thu, Aug 27, 2015 at 04:40:09PM +0100, Qais Yousef wrote:
Again, please delete unneeded contexts and leave blanks between
paragraphs (I notice you've even been removing the blank lines from
quoted material).
> >>>>+#define PIPE_STARTED 1
> >>>>+#define PIPE_RUNNING 2
> >>>Why is the case with in place buffers not a simple zero iteration loop?
> >>This is important when AXD is not consuming the data through I2S and
> >>returning them to Linux. What we're trying to deal with here is the firmware
> >>processed some data and expects Linux to consume whatever it has sent back
> >>to it. We want to ensure that if the user suddenly stopped consuming this
> >>data by closing the pipe to drop anything we receive back from AXD otherwise
> >>the workqueue would block indefinitely waiting for the user that disappeared
> >>to consume it causing a deadlock.
> >That doesn't seem to address the question...
> I'm sorry I don't understand your question then. Can you rephrase it please?
Why don't we just always try to consume any buffers that are in flight?
> >Why not just reuse the bufferq implementation if that's what you want to
> >use? More generally most audio ring buffers just keep track of the last
> >place read or written and don't bother with semaphores (why do we even
> >need to block?). It's not just the semaphore you're using here but also
> >some non-atomic variables accessed with memory barriers and mutexes all
> >scattered over a very large block of code. It is far too much effort to
> >reason about what the locking scheme is supposed to be here to determine
> >if it is safe, and that's not going to get any easier when reviewing
> >future changes.
> We need to block because in the past at least the driver could work on
> blocking mode and it would return the buffers back to Linux and there was no
> guarantee that the reader and writer would be on the same rate. The worst
> case assumption was that the writer and the reader could be 2 different
> apps. For example an app getting data from network to AXD to be encoded and
> another app reading the encoded data to store it on disk. And AXD supports
> multi-pipeline, so more one of these operations could be happening at the
> same time.
I can't really connect the above with a need to block, sorry... I'm
going to assume this was something to do with old non-standard external
interfaces.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2015-09-03 12:41 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 12:39 [PATCH 00/10] Add support for img AXD audio hardware decoder Qais Yousef
2015-08-24 12:39 ` [PATCH 01/10] irqchip: irq-mips-gic: export gic_send_ipi Qais Yousef
2015-08-24 12:49 ` Thomas Gleixner
2015-08-24 13:02 ` Qais Yousef
2015-08-24 13:32 ` Marc Zyngier
2015-08-24 14:27 ` Qais Yousef
2015-08-24 15:07 ` Thomas Gleixner
2015-08-24 16:39 ` Qais Yousef
2015-08-24 17:17 ` Marc Zyngier
2015-08-26 11:23 ` Qais Yousef
2015-08-26 13:19 ` Thomas Gleixner
2015-08-26 14:57 ` Qais Yousef
2015-08-26 15:08 ` Thomas Gleixner
2015-08-26 15:41 ` Qais Yousef
2015-08-26 21:40 ` Thomas Gleixner
2015-08-27 2:22 ` Jiang Liu
2015-08-28 10:38 ` Qais Yousef
2015-08-28 14:22 ` Thomas Gleixner
2015-08-28 15:12 ` Qais Yousef
2015-09-02 9:33 ` Qais Yousef
2015-09-02 9:55 ` Marc Zyngier
2015-09-02 10:48 ` Qais Yousef
2015-09-02 11:53 ` Marc Zyngier
2015-09-02 13:25 ` Qais Yousef
2015-09-02 14:14 ` Marc Zyngier
2015-09-02 12:12 ` Jason Cooper
2015-08-24 14:55 ` Thomas Gleixner
2015-08-24 15:11 ` Qais Yousef
2015-08-24 12:39 ` [PATCH 02/10] dt: add img,axd.txt device tree binding document Qais Yousef
2015-08-24 13:26 ` Mark Rutland
2015-08-24 13:49 ` Qais Yousef
2015-08-24 12:39 ` [PATCH 03/10] ALSA: add AXD Audio Processing IP alsa driver Qais Yousef
2015-08-26 18:37 ` Mark Brown
2015-08-27 12:15 ` Qais Yousef
2015-08-27 15:32 ` Mark Brown
2015-08-28 9:22 ` Qais Yousef
2015-09-03 12:46 ` Mark Brown
2015-08-24 12:39 ` [PATCH 04/10] ALSA: axd: add fw binary header manipulation files Qais Yousef
2015-08-24 12:39 ` [PATCH 05/10] ALSA: axd: add buffers " Qais Yousef
2015-08-26 18:43 ` Mark Brown
2015-08-27 14:21 ` Qais Yousef
2015-08-29 9:47 ` Mark Brown
2015-09-01 10:00 ` Qais Yousef
2015-09-03 12:32 ` Mark Brown
2015-09-14 9:11 ` Qais Yousef
2015-09-14 18:50 ` Mark Brown
2015-08-24 12:39 ` [PATCH 06/10] ALSA: axd: add basic files for sending/receiving axd cmds Qais Yousef
2015-08-26 19:16 ` Mark Brown
2015-08-27 15:40 ` Qais Yousef
2015-08-29 10:18 ` Mark Brown
2015-09-01 10:46 ` Qais Yousef
2015-09-03 12:40 ` Mark Brown [this message]
2015-08-24 12:39 ` [PATCH 07/10] ALSA: axd: add cmd interface helper functions Qais Yousef
2015-08-24 12:39 ` [PATCH 08/10] ALSA: axd: add low level AXD platform setup files Qais Yousef
2015-08-24 12:39 ` [PATCH 09/10] ALSA: axd: add alsa compress offload operations Qais Yousef
2015-08-24 12:39 ` [PATCH 10/10] ALSA: axd: add Makefile Qais Yousef
2015-08-26 18:04 ` [PATCH 00/10] Add support for img AXD audio hardware decoder Mark Brown
2015-08-27 9:07 ` Qais Yousef
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=20150903124045.GY12027@sirena.org.uk \
--to=broonie@kernel.org \
--cc=alsa-devel@alsa-project.org \
--cc=lgirdwood@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=perex@perex.cz \
--cc=qais.yousef@imgtec.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®