From: Stefan Richter <stefanr@s5r6.in-berlin.de>
To: Clemens Ladisch <clemens@ladisch.de>
Cc: alsa-devel@alsa-project.org,
linux1394-devel@lists.sourceforge.net,
Jay Fenlason <fenlason@redhat.com>
Subject: Re: [PATCH 1/2] ALSA: add LaCie Firewire Speakers/Griffin FireWave surround driver
Date: Mon, 7 Feb 2011 15:40:25 +0100 [thread overview]
Message-ID: <20110207154025.13fdeba3@stein> (raw)
In-Reply-To: <4D4FB7F6.8000801@ladisch.de>
On Feb 07 Clemens Ladisch wrote:
> Add a driver for two playback-only FireWire devices based on the OXFW970
> chip.
>
> v2: Better AMDTP API abstraction; fix fw_unit leak; small fixes.
> Two- and four-channel output on the FireWave is experimental.
>
> Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
> ---
> drivers/firewire/core-iso.c | 1
> drivers/firewire/core.h | 3
> include/linux/firewire.h | 7
> sound/Kconfig | 2
> sound/Makefile | 2
> sound/firewire/Kconfig | 25 +
> sound/firewire/Makefile | 6
> sound/firewire/amdtp.c | 511 ++++++++++++++++++++++++++++++++
> sound/firewire/amdtp.h | 151 +++++++++
> sound/firewire/cmp.c | 316 +++++++++++++++++++
> sound/firewire/cmp.h | 40 ++
> sound/firewire/fcp.c | 223 +++++++++++++
> sound/firewire/fcp.h | 12
> sound/firewire/iso-resources.c | 224 ++++++++++++++
> sound/firewire/iso-resources.h | 39 ++
> sound/firewire/lib.c | 68 ++++
> sound/firewire/lib.h | 19 +
> sound/firewire/packets-buffer.c | 74 ++++
> sound/firewire/packets-buffer.h | 26 +
> sound/firewire/speakers.c | 484 ++++++++++++++++++++++++++++++
> 20 files changed, 2229 insertions(+), 4 deletions(-)
[...]
> --- a/drivers/firewire/core-iso.c
> +++ b/drivers/firewire/core-iso.c
> @@ -369,3 +369,4 @@ void fw_iso_resource_manage(struct fw_ca
> *channel = ret;
> }
> }
> +EXPORT_SYMBOL(fw_iso_resource_manage);
> --- a/drivers/firewire/core.h
> +++ b/drivers/firewire/core.h
> @@ -147,9 +147,6 @@ void fw_node_event(struct fw_card *card,
> /* -iso */
>
> int fw_iso_buffer_map(struct fw_iso_buffer *buffer, struct vm_area_struct *vma);
> -void fw_iso_resource_manage(struct fw_card *card, int generation,
> - u64 channels_mask, int *channel, int *bandwidth,
> - bool allocate, __be32 buffer[2]);
>
>
> /* -topology */
> --- a/include/linux/firewire.h
> +++ b/include/linux/firewire.h
> @@ -42,6 +42,10 @@
> #define CSR_BROADCAST_CHANNEL 0x234
> #define CSR_CONFIG_ROM 0x400
> #define CSR_CONFIG_ROM_END 0x800
> +#define CSR_OMPR 0x900
> +#define CSR_OPCR(i) (0x904 + (i) * 4)
> +#define CSR_IMPR 0x980
> +#define CSR_IPCR(i) (0x984 + (i) * 4)
> #define CSR_FCP_COMMAND 0xB00
> #define CSR_FCP_RESPONSE 0xD00
> #define CSR_FCP_END 0xF00
> @@ -441,5 +445,8 @@ int fw_iso_context_start(struct fw_iso_c
> int cycle, int sync, int tags);
> int fw_iso_context_stop(struct fw_iso_context *ctx);
> void fw_iso_context_destroy(struct fw_iso_context *ctx);
> +void fw_iso_resource_manage(struct fw_card *card, int generation,
> + u64 channels_mask, int *channel, int *bandwidth,
> + bool allocate, __be32 buffer[2]);
>
> #endif /* _LINUX_FIREWIRE_H */
[...]
The firewire subsystem parts of this patch and their being routed through
the ALSA development repository are fine with me. The export of
fw_iso_resource_manage is also going to be needed by
drivers/media/dvb/firewire/firedtv* eventually (maintained through the
v4l-dvb tree), but I suppose my lack of development speed with firedtv
will prevent any conflicts (which would be trivial to resolve in git
anyway). Hence,
Acked-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
I am going to test this driver with LaCie FireWire Speakers and Griffin
FireWave RSN. BTW, FireWave is a 6-channel-out device which is targeted to
be used on OS X as either a stereo or a 5.1-Dolby-surround output. I heard
that the 5.1 mode is configured by a vendor-specific AV/C command. (The
FireWave was sold with an OS X driver; without this vendor driver it just
works as a stereo-out soundcard with OS X' stock driver.)
--
Stefan Richter
-=====-==-== --=- --===
http://arcgraph.de/sr/
------------------------------------------------------------------------------
The modern datacenter depends on network connectivity to access resources
and provide services. The best practices for maximizing a physical server's
connectivity to a physical network are well understood - see how these
rules translate into the virtual world?
http://p.sf.net/sfu/oracle-sfdevnlfb
next prev parent reply other threads:[~2011-02-07 14:40 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <4D46933D.5050609@ladisch.de>
2011-02-07 9:13 ` [PATCH 0/2] LaCie Firewire Speakers/Griffin FireWave support Clemens Ladisch
2011-02-07 9:14 ` [PATCH 1/2] ALSA: add LaCie Firewire Speakers/Griffin FireWave surround driver Clemens Ladisch
2011-02-07 14:40 ` Stefan Richter [this message]
2011-02-07 14:56 ` Clemens Ladisch
2011-02-07 21:56 ` Stefan Richter
2011-02-08 8:05 ` Clemens Ladisch
2011-02-08 13:37 ` Clemens Ladisch
2011-02-08 21:10 ` Stefan Richter
2011-02-07 16:49 ` Stefan Richter
2011-02-07 16:57 ` Clemens Ladisch
2011-02-10 9:46 ` [PATCH] " Clemens Ladisch
2011-02-07 9:14 ` [PATCH 2/2] alsa-lib: add LaCie Firewire Speakers/Griffin FireWave Surround driver Clemens Ladisch
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=20110207154025.13fdeba3@stein \
--to=stefanr@s5r6.in-berlin.de \
--cc=alsa-devel@alsa-project.org \
--cc=clemens@ladisch.de \
--cc=fenlason@redhat.com \
--cc=linux1394-devel@lists.sourceforge.net \
/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.