From: Daniel Mack <zonque@gmail.com>
To: Daniel Mack <zonque@gmail.com>
Cc: alsa-devel@alsa-project.org, tiwai@suse.de, clemens@ladisch.de,
gdiffey@gmail.com, linuxaudio@showlabor.de, blablack@gmail.com
Subject: Re: [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic
Date: Mon, 31 Oct 2011 13:38:20 +0100 [thread overview]
Message-ID: <4EAE96BC.6060605@gmail.com> (raw)
In-Reply-To: <1320063030-3502-1-git-send-email-zonque@gmail.com>
On 10/31/2011 01:10 PM, Daniel Mack wrote:
> I didn't sign-off the patches on purpose, as I would really like to
> get them reviewed before they go in. Can people have a look and state
> whether the whole idea is at all sane?
To briefly state the idea as such: the new implementation defines a
model (snd_usb_endpoint) that handles everything that is related to an
USB endpoint and its streaming. There are functions to activate and
deactivate an endpoint (which call usb_set_interface()), and to start
and stop its URBs. It also has function pointers to be called when data
was received or is about to be sent, and pointer to a sync slave
(another snd_usb_endpoint) that is informed when data has been received.
A snd_usb_endpoint knows about its state and implements a refcounting,
so only the first user will actually start the URBs and only the last
one to stop it will tear them down again.
With this sort of abstraction, the actual streaming is decoupled from
the pcm handling, which makes the "implicit feedback" mechanisms easy to
implement. All the code that actually handles the payload of a stream's
packets is now implemented in pcm.c, which is were it belongs to.
But I'm sure there are some unresolved corner cases which need attention.
Daniel
next prev parent reply other threads:[~2011-10-31 12:38 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-31 12:10 [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic Daniel Mack
2011-10-31 12:10 ` [PATCH 1/5] ALSA: snd-usb: implement new endpoint streaming model Daniel Mack
2011-11-01 20:57 ` Clemens Ladisch
2011-11-02 8:36 ` Daniel Mack
2011-11-02 10:26 ` Clemens Ladisch
2011-11-02 14:29 ` Daniel Mack
2011-11-02 15:49 ` Clemens Ladisch
2011-11-03 15:21 ` Daniel Mack
2011-11-03 16:42 ` Clemens Ladisch
2011-10-31 12:10 ` [PATCH 2/5] ALSA: snd-usb: switch over to new endpoint streaming logic Daniel Mack
2011-11-01 20:57 ` Clemens Ladisch
2011-11-02 15:58 ` Takashi Iwai
2011-11-02 16:18 ` Clemens Ladisch
2011-11-02 16:18 ` Takashi Iwai
2011-11-02 22:01 ` Torsten Schenk
2011-11-18 14:44 ` Daniel Mack
2011-11-18 14:41 ` Daniel Mack
2011-10-31 12:10 ` [PATCH 3/5] ALSA: snd-usb: remove old " Daniel Mack
2011-10-31 12:10 ` [PATCH 4/5] ALSA: snd-usb: set MAX_URBS to 16 Daniel Mack
2011-11-01 20:57 ` Clemens Ladisch
2011-10-31 12:10 ` [PATCH 5/5] ALSA: snd-usb: add support for implicit feedback Daniel Mack
2011-10-31 12:38 ` Daniel Mack [this message]
2011-11-01 8:50 ` [PATCH 0/5] RFC for snd-usb: rework usb endpoint logic Aurélien Leblond
2011-11-01 9:15 ` Daniel Mack
2011-11-01 9:40 ` Felix Homann
2011-11-01 10:25 ` Daniel Mack
2011-11-01 10:39 ` Felix Homann
2011-11-01 12:11 ` Daniel Mack
2011-11-01 13:59 ` Grant Diffey
2011-11-01 15:36 ` Takashi Iwai
2011-11-01 16:19 ` Takashi Iwai
2011-11-01 19:03 ` Felix Homann
2011-11-02 6:49 ` Takashi Iwai
2011-11-02 8:27 ` Daniel Mack
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=4EAE96BC.6060605@gmail.com \
--to=zonque@gmail.com \
--cc=alsa-devel@alsa-project.org \
--cc=blablack@gmail.com \
--cc=clemens@ladisch.de \
--cc=gdiffey@gmail.com \
--cc=linuxaudio@showlabor.de \
--cc=tiwai@suse.de \
/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;
as well as URLs for NNTP newsgroup(s).