All of lore.kernel.org
 help / color / mirror / Atom feed
* [FT C400,PATCH RFC,v4 00/10] M-Audio Fast Track C400
@ 2012-11-28 22:55 Eldad Zack
  2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 01/10] usb-audio: replace hardcoded value with const Eldad Zack
                   ` (10 more replies)
  0 siblings, 11 replies; 26+ messages in thread
From: Eldad Zack @ 2012-11-28 22:55 UTC (permalink / raw)
  To: Takashi Iwai, Daniel Mack, Felix Homann, Clemens Ladisch,
	alsa-devel
  Cc: Grant Diffey, George Willian Condomitti, Chris Cavey, Eldad Zack

Hi,

The following patches adds support for the M-Audio Fast Track C400.
This is version 4 of the patch series.

* Incoroprated the feedback from Clemens Ladisch <clemens@ladisch.de>: 
Moved the quirks structure to the right place (also in other places, though
not strictly required) and removed the "set quirks" log messages.
Thanks, Clemens!

* Added a patch to address the regression introduced by commit
947d299686aa9cc8aecf749d54e8475c6e498956 , "ALSA: snd-usb: properly initialize
the sync endpoint". I believe there are no other devices that affected by this
issue. Opening only the playback stream without first opening the capture
stream now works with the C400.

v3:
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-November/057477.html

v2:
http://mailman.alsa-project.org/pipermail/alsa-devel/2012-November/056750.html

This series was tested with the latest mainline tree, 3.7-rc7
(HEAD e23739b4ade80a3a7f87198f008f6c44a7cbc9fd )

Also applies against current sound-unstable (not tested).
(HEAD 900b0690ee7b2a227c5db5f1642ceb67d90c49fc )

* Everything works: mixer controls, effects control, playback and capture
(with the correct sampling frequency set). 
Note that the device doesn't really have a master control or left/right
pan. It's just "emulated" in the software.

* To deal with the mixer channel IDs, limited by cmask bit length,
I introduced an offset value. This allows to get rid of the shorehorning
of the IDs into cmask and device-referencing in the low-level functions.
Is this a good approach?

* Audio in/out seems to work good in this series, mainly because the
playback is an implicit feedback endpoint, and it is now configured
with the capture endpoint as its sync-buddy. Also needed to correct
the calculation, because of the different channel numbers between
the two endpoints on the C400 (6 playback - implicit feedback, 4 capture).

* The clock sources are still named "Unit 129" (0x81, internal) and
"Unit 130" (0x82, SPDIF). I'll fix this later. I also plan to fix the
channel names (i.e., instead of "AIn3", use "SPDIF In L").

* I've touched one FTU mixer creation function. I'd appreciate if someone
can test this with the FTU to make sure I didn't break something.
(I haven't gotten any feedback on that one yet)

Cheers,
Eldad

Signed-off-by: Eldad Zack <eldad@fogrefinery.com>

Eldad Zack (10):
  usb-audio: replace hardcoded value with const
  usb-audio: correct sync endpoint initialization
  usb-audio: use sender stride for implicit feedback
  usb-audio: add control index offset
  usb-audio: skip UAC2 EFFECT_UNIT
  usb-audio: parameterize FTU effect unit control
  usb-audio: M-Audio Fast Track C400 quirks table
  usb-audio: Fast Track C400 mixer ranges
  usb-audio: Fast Track C400 mixer controls
  usb-audio: FT C400 sync playback EP to capture EP

 sound/usb/endpoint.c     |    9 ++-
 sound/usb/mixer.c        |   44 +++++++++-
 sound/usb/mixer.h        |    1 +
 sound/usb/mixer_quirks.c |  216 ++++++++++++++++++++++++++++++++++++++++++++--
 sound/usb/pcm.c          |   94 ++++++++++++++++++--
 sound/usb/quirks-table.h |   71 +++++++++++++++
 6 files changed, 414 insertions(+), 21 deletions(-)

-- 
1.7.8.6

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2012-12-09 10:38 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-28 22:55 [FT C400,PATCH RFC,v4 00/10] M-Audio Fast Track C400 Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 01/10] usb-audio: replace hardcoded value with const Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 02/10] usb-audio: correct sync ep init Eldad Zack
2012-11-29  8:02   ` Takashi Iwai
2012-12-01 22:47     ` Eldad Zack
2012-12-01 22:50     ` [PATCH sound-unstable] usb-audio: sync ep init fix for audioformat mistmatch Eldad Zack
2012-12-03  8:58       ` Takashi Iwai
2012-12-03  9:34       ` Daniel Mack
2012-12-03  9:43         ` Takashi Iwai
2012-12-03 18:48           ` Eldad Zack
2012-12-03 19:30             ` [PATCH sound-unstable] usb-audio: sync ep init fix for audioformat mismatch Eldad Zack
2012-12-04  7:18               ` Takashi Iwai
2012-12-06 21:34                 ` Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 03/10] usb-audio: use sender stride for implicit feedback Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 04/10] usb-audio: add control index offset Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 05/10] usb-audio: skip UAC2 EFFECT_UNIT Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 06/10] usb-audio: parameterize FTU effect unit control Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 07/10] usb-audio: M-Audio Fast Track C400 quirks table Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 08/10] usb-audio: Fast Track C400 mixer ranges Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 09/10] usb-audio: Fast Track C400 mixer controls Eldad Zack
2012-11-28 22:55 ` [FT C400, PATCH RFC, v4 10/10] usb-audio: FT C400 sync playback EP to capture EP Eldad Zack
2012-11-29  7:53 ` [FT C400, PATCH RFC, v4 00/10] M-Audio Fast Track C400 Takashi Iwai
2012-11-30 14:06   ` Eldad Zack
2012-11-30 14:15     ` Takashi Iwai
2012-12-07 15:03       ` Felix Homann
2012-12-09 10:38         ` Eldad Zack

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.