android_kernel_google_msm/sound/usb
Calvin Owens cd25cf8987 ALSA: usb: Add quirk for 192KHz recording on E-Mu devices
commit 1539d4f82a upstream.

When recording at 176.2KHz or 192Khz, the device adds a 32-bit length
header to the capture packets, which obviously needs to be ignored for
recording to work properly.

Userspace expected:  L0 L1 L2 R0 R1 R2
...but actually got: R2 L0 L1 L2 R0 R1

Also, the last byte of the length header being interpreted as L0 of
the first sample caused spikes every 0.5ms, resulting in a loud 16KHz
tone (about the highest 'B' on a piano) being present throughout
captures.

Tested at all sample rates on an E-Mu 0404USB, and tested for
regressions on a generic USB headset.

Signed-off-by: Calvin Owens <jcalvinowens@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
[bwh: Backported to 3.2: adjust filenames, context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Cc: Weng Meiling <wengmeiling.weng@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-04-14 06:44:22 -07:00
..
6fire ALSA: 6fire: Fix unlocked snd_pcm_stop() call 2014-03-11 16:10:08 -07:00
caiaq ALSA: snd-usb-caiaq: initialize card pointer 2012-12-03 11:46:36 -08:00
misc ALSA: ua101: Fix unlocked snd_pcm_stop() call 2014-03-11 16:10:08 -07:00
usx2y ALSA: usx2y: Fix unlocked snd_pcm_stop() call 2014-03-11 16:10:08 -07:00
card.c ALSA: usb-audio: work around Android accessory firmware bug 2013-06-27 11:27:30 -07:00
card.h ALSA: usb: Add quirk for 192KHz recording on E-Mu devices 2014-04-14 06:44:22 -07:00
clock.c
clock.h
debug.h
endpoint.c ALSA: usb: Add quirk for 192KHz recording on E-Mu devices 2014-04-14 06:44:22 -07:00
endpoint.h
format.c
format.h
helper.c
helper.h
Kconfig
Makefile
midi.c ALSA: usb-audio: disable autopm for MIDI devices 2013-05-07 19:51:55 -07:00
midi.h
mixer.c ALSA: usb-audio: Add quirk for Logitech Webcam C500 2014-03-23 21:37:05 -07:00
mixer.h
mixer_maps.c ALSA: usb-audio: work around KEF X300A firmware bug 2014-03-11 16:09:59 -07:00
mixer_quirks.c ALSA: usb-audio: fix endianness bug in snd_nativeinstruments_* 2013-04-16 21:27:25 -07:00
mixer_quirks.h
pcm.c ALSA: usb-audio: Use rwsem for disconnect protection 2012-11-17 13:16:12 -08:00
pcm.h
power.h
proc.c ALSA: usb-audio: Fix races at disconnection 2012-11-17 13:16:12 -08:00
proc.h
quirks-table.h ALSA: usb-audio - Apply Logitech QuickCam Pro 9000 quirk only to audio iface 2013-06-13 09:44:53 -07:00
quirks.c ALSA: usb: Add quirk for 192KHz recording on E-Mu devices 2014-04-14 06:44:22 -07:00
quirks.h
stream.c ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT 2013-05-07 19:51:55 -07:00
stream.h
usbaudio.h ALSA: usb-audio: Use rwsem for disconnect protection 2012-11-17 13:16:12 -08:00