summaryrefslogtreecommitdiffstats
path: root/sound/usb
Commit message (Collapse)AuthorAgeFilesLines
...
| * | sound: usb-audio: limit playback queue lengthClemens Ladisch2009-01-261-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once our URBs contain enough packets, queueing more URBs does not give us any additional underrun protection (as we use double-buffering) but just increases latency unnecessarily. Therefore, we try to limit the queue length to some reasonable value. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | sound: usb-audio: use normal number of frames for no-data URBsClemens Ladisch2009-01-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When sending a silence URB (before playback has started, or when it is paused), use the number of frames that would be normally sent instead of a single frame so that the rate at which completion interrupts arrive is consistent. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: usb-audio - Quirk for Serato phonoAndreas Bergmeier2009-01-181-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore errors (wrong usb interface data) found when using the serato scratch live box with alsa Thus the alsa controls can be accessed (beware: they don't work though - but at least it's one ugly error message less) Signed-off-by: Andreas Bergmeier <lcid-fire@gmx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'topic/usb-mixer-cache' into next/usb-audioTakashi Iwai2009-01-175-68/+91
| |\ \
| | * | ALSA: usb-audio - Cache mixer valuesTakashi Iwai2009-01-151-52/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Cache mixer values in usb-audio driver to reduce too excessive accesses to the hardware. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: rename "Device" to "Toshiba SB-0500" via quirksAndrea Borgia2009-01-131-0/+10
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Andrea Borgia <andrea@borgia.bo.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: preliminary support for Toshiba SB-0500Andrea Borgia2009-01-072-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Toshiba Multimedia Center SB-0500 is a rebranded version of the Creative Technology SB Live! 24-bit External: it shares the same chipset and only has minor cosmetic differences. Remote controller works with alsa_usb module, basic audio is there and mixer controls are mostly untested. Signed-off-by: Andrea Borgia <andrea@borgia.bo.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'topic/misc' into for-linusTakashi Iwai2009-03-243-5/+4Star
|\ \ \ \
| * | | | ALSA: sound/usb/usx2y: fix sparse warning: do-while statement is not a ↵Hannes Eder2009-02-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | compound ... Fix this sparse warning: sound/usb/usx2y/usbusx2y.c:231:33: warning: do-while statement is not a compound statement Signed-off-by: Hannes Eder <hannes@hanneseder.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: sound/usb/usx2y: fix sparse warning: Should it be static?Hannes Eder2009-02-262-3/+2Star
| | |_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Impact: Move declaration to header file. Fix this sparse warning: sound/usb/usx2y/usx2yhwdeppcm.c:739:5: warning: symbol 'usX2Y_hwdep_pcm_new' was not declared. Should it be static? Signed-off-by: Hannes Eder <hannes@hanneseder.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'topic/hwdep-cleanup' into for-linusTakashi Iwai2009-03-242-33/+1Star
|\ \ \ \
| * | | | ALSA: Remove superfluous hwdep opsTakashi Iwai2009-02-052-33/+1Star
| |/ / / | | | | | | | | | | | | | | | | | | | | Remove NOP hwdep ops in sound drivers. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | Merge branch 'topic/snd_card_new-err' into for-linusTakashi Iwai2009-03-244-55/+84
|\ \ \ \
| * | | | ALSA: Return proper error code at probe in sound/usb/*Takashi Iwai2009-01-123-44/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some drivers in soudn/usb/* don't handle the error code properly from snd_card_create(). This patch fixes these places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: Convert to snd_card_create() in other sound/*Takashi Iwai2009-01-124-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Convert from snd_card_new() to the new snd_card_create() function in other sound subdirectories. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: usb-audio - Workaround for misdetected sample rate with CM6207Joris van Rantwijk2009-02-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CM6207 incorrectly advertises its 96 kHz playback setting as 48 kHz in its USB device descriptor. This patch extends an existing workaround in usbaudio.c to also cover the CM6207. This resolves issue 0004249 in the ALSA bug tracker. Signed-off-by: Joris van Rantwijk <jorispubl@xs4all.nl> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | ALSA: usb-audio - Fix non-continuous rate detectionTakashi Iwai2009-02-161-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The detection of non-continuous rates (given via rate tables) isn't processed properly (e.g. for type II). This patch fixes and simplifies the detection code. Tested-by: Joris van Rantwijk <jorispubl@xs4all.nl> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | sound: usb-audio: fix uninitialized variable with M-Audio MIDI interfacesClemens Ladisch2009-02-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the snd_usbmidi_create_endpoints_midiman() function, which forgot to set the out_interval member of the endpoint info structure for Midiman/ M-Audio devices. Since kernel 2.6.24, any non-zero value makes the driver use interrupt transfers instead of bulk transfers. With EHCI controllers, these random interval values result in unbearably large latencies for output MIDI transfers. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Reported-by: David <devurandom@foobox.com> Tested-by: David <devurandom@foobox.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | | sound: usb-audio: handle wMaxPacketSize for FIXED_ENDPOINT devicesClemens Ladisch2009-02-061-0/+1
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For audio devices that do not have proper audio descriptors (e.g., Edirol UA-20), we use hardcoded parameters from our quirks list. However, we must still read the maximum packet size from the standard endpoint descriptor; otherwise, we might use packets that are too big and therefore rejected by the USB core. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: USB quirk for Logitech Quickcam Pro 9000 nameSigned-off-by: Peter Stokes2009-01-141-0/+8
| |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | The Logitech QuickCam Pro 9000 does not appear to any product identification strings in its USB device descriptor. Therefore it receives a device name of "USB Device 0x46d:0x990". Th e attached patch below adds a USB quirk to provide a more friendly name. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: caiaq - Version 1.3.10Takashi Iwai2009-01-091-1/+1
| | | | | | | | | | | | | | | | | | Increase the version number in module info to indicate the fixes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: caiaq - Fix Oops with MIDITakashi Iwai2009-01-082-14/+19
|/ / | | | | | | | | | | | | | | | | The snd-usb-caiaq driver causes Oops occasionally when accessing MIDI devices. This patch fixes the Oops and invalid URB submission errors as well. Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
* / trivial: fix then -> than typos in comments and documentationFrederik Schwarzer2009-01-061-1/+1
|/ | | | | | | - (better, more, bigger ...) then -> (...) than Signed-off-by: Frederik Schwarzer <schwarzerf@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* ALSA: sound/usb: Use negated usb_endpoint_xfer_control, etcJulia Lawall2009-01-042-12/+8Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch extends 42a6e66f1e40a930d093c33ba0bb9d8d8e4555ed by using usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk, and usb_endpoint_xfer_int in the negated case as well. This patch also rewrites some calls to usb_endpoint_dir_in as negated calls to !usb_endpoint_dir_out, and vice versa, to better correspond to the intent of the original code. The semantic patch that makes this change is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\)) + !usb_endpoint_xfer_control(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\)) + !usb_endpoint_xfer_isoc(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\)) + !usb_endpoint_xfer_bulk(epd) @@ struct usb_endpoint_descriptor *epd; @@ - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\)) + !usb_endpoint_xfer_int(epd) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: Use usb_set/get_intfdataJulia Lawall2009-01-024-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the USB functions usb_get_intfdata and usb_set_intfdata instead of dev_get_drvdata and dev_set_drvdata, respectively. The semantic patch that makes this change for the usb_get_intfdata case is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @header@ @@ #include <linux/usb.h> @same depends on header@ position p; @@ usb_get_intfdata@p(...) { ... } @depends on header@ position _p!=same.p; identifier _f; struct usb_interface*intf; @@ _f@_p(...) { <+... - dev_get_drvdata(&intf->dev) + usb_get_intfdata(intf) ...+> } // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: sound/usb: use USB API functions rather than constantsJulia Lawall2009-01-012-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This set of patches introduces calls to the following set of functions: usb_endpoint_dir_in(epd) usb_endpoint_dir_out(epd) usb_endpoint_is_bulk_in(epd) usb_endpoint_is_bulk_out(epd) usb_endpoint_is_int_in(epd) usb_endpoint_is_int_out(epd) usb_endpoint_num(epd) usb_endpoint_type(epd) usb_endpoint_xfer_bulk(epd) usb_endpoint_xfer_control(epd) usb_endpoint_xfer_int(epd) usb_endpoint_xfer_isoc(epd) In some cases, introducing one of these functions is not possible, and it just replaces an explicit integer value by one of the following constants: USB_ENDPOINT_XFER_BULK USB_ENDPOINT_XFER_CONTROL USB_ENDPOINT_XFER_INT USB_ENDPOINT_XFER_ISOC An extract of the semantic patch that makes these changes is as follows: (http://www.emn.fr/x-info/coccinelle/) // <smpl> @r1@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bmAttributes & \(USB_ENDPOINT_XFERTYPE_MASK\|3\)) == - \(USB_ENDPOINT_XFER_CONTROL\|0\)) + usb_endpoint_xfer_control(epd) @r5@ struct usb_endpoint_descriptor *epd; @@ - ((epd->bEndpointAddress & \(USB_ENDPOINT_DIR_MASK\|0x80\)) == - \(USB_DIR_IN\|0x80\)) + usb_endpoint_dir_in(epd) @inc@ @@ #include <linux/usb.h> @depends on !inc && (r1||r5)@ @@ + #include <linux/usb.h> #include <linux/usb/...> // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/convert-tasklet' into to-pushTakashi Iwai2008-12-251-1/+1
|\
| * ALSA: hda - Convert from takslet_hi_schedule() to tasklet_schedule()Takashi Iwai2008-12-181-1/+1
| | | | | | | | | | | | | | | | Replace all tasklet_hi_schedule() callers with the normal tasklet_schedule(). The former often causes troubles with RT-kernels, and has actually no merit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: sound: Make staticRoel Kluin2008-12-101-1/+2
| | | | | | | | | | | | | | Sparse asked whether these could be static. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: snd-usb-caiaq: clean up the control adding codeDaniel Mack2008-11-272-44/+31Star
|/ | | | | | | | snd-usb-caiaq: clean up the control adding code by moving dulpicate code to a function. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb - Add quirk for Edirol UA-25EX advanced modesTakashi Iwai2008-10-301-0/+30
| | | | | | | | Added the quirk for UA-25EX advanced modes. UA-25EX is almost compatible with UA-25. Tested-by: Serge Perinsky <sergebass@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: us122l: fix missing unlock in usb_stream_hwdep_vm_fault()Li Zefan2008-10-151-6/+7
| | | | | | | Should unlock us122l->mutex before returning VM_FAULT_SIGBUS. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-audio: dynamic detection of MIDI interfaces in uaxx-quirkPedro Lopez-Cabanillas2008-10-102-15/+28
| | | | | | | | | | The MIDI interfaces have to be detected dynamically for Edirol devices ua-700, ua-25 and ua4-fx. This patch reverses the wrong changes made by my other patch in uaxx-quirk. Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: snd-usb-audio: support for Edirol UA-4FX devicePedro Lopez-Cabanillas2008-10-103-40/+57
| | | | | | | | | | Renamed the old quirk function for ua-700/ua-25 to become more generic, moving the MIDI interfaces to the quirk data header. Added a new quirk for the Edirol UA-4FX. Signed-off-by: Pedro Lopez-Cabanillas <pedro.lopez.cabanillas@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: usb - Fix possible Oops at USB-MIDI disconnectionTakashi Iwai2008-10-101-0/+9
| | | | | | | | | The endpoints should be released immediately at disconnection rather than the delayed release. This could be a reason of Oops at USB-audio device disconnection being used. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: usb-audio: add support for E-Mu Tracker PreEran Tromer2008-10-102-1/+9
| | | | | | | | | | | | Add support for the E-Mu "Tracker Pre" USB sound card, following the example of the (very similar) E-Mu 0202 and E-Mu 0404 USB. As with the 0202 and 0404 USB, functionality is very limited: just a couple of sample rates, no volume/mute control, etc. Signed-off-by: Eran Tromer <eran@tromer.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: us122l - Add missing dependency on CONFIG_SND_HWDEPRandy Dunlap2008-09-091-0/+1
| | | | | | | | | | | CONFIG_SND_USB_US122L uses snd_hwdep_new(), so SND_HWDEP needs to be enabled (selected). ERROR: "snd_hwdep_new" [sound/usb/usx2y/snd-usb-us122l.ko] undefined! Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: usb-audio - Add ignore_ctl_error parameterTakashi Iwai2008-08-153-7/+10
| | | | | | | | | Added the ignore_ctl_error parameter to enable/disable the control-error handling for mixer interfaces. It was a hard-coded ifdef, and now you can change it more easily. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: Kill snd_assert() in other placesTakashi Iwai2008-08-132-5/+10
| | | | | | | | Kill snd_assert() in other places, either removed or replaced with if () with snd_BUG_ON(). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: snd_usb_audio: fix SB Extigy IR Remote regressionPhillip Michael Jordan2008-08-061-4/+5
| | | | | | | | | | | | | | | | | | | | The support for the SB Extigy's remote seems to be broken in all recent ALSA versions, including 1.0.17. The driver detects the event correctly, then submits a URB to query the RC code. On the Extigy, the URB is submitted with a length of 2 bytes. My hardware, however, only replies with 1 byte, containing the correct RC button code. The current implementation discards this as being too short. (line 1784 of usbmixer.c) This patch specifies a "minimum packet length" in the remote control configuration. I've left the values for the Audigy 2/Live! the same as the packet length, as I'm assuming the existing code works with them. (I don't have the hardware to confirm) This fixes the Extigy RC support, e.g. for use with Lirc. Signed-off-by: Phillip Michael Jordan <phil@philjordan.eu> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: Add USB US122L driverKarsten Wiese2008-08-019-0/+1646
| | | | | | | | Added a new US122L usb-audio driver. This driver works together with a dedicated alsa-lib plugin. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* ALSA: usb-audio: add BOSS GT-10 supportClemens Ladisch2008-07-281-2/+29
| | | | | | Add a quirk entry for the BOSS GT-10. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* ALSA: usb-audio: add some Yamaha USB MIDI quirksClemens Ladisch2008-07-101-0/+4
| | | | | | Add quirk entries for four Yamaha USB MIDI devices. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* ALSA: usb-audio: fix Yamaha KX quirkClemens Ladisch2008-07-101-1/+1
| | | | | | | | | We have to restrict the quirk to interface 0 because the second interface is not MIDI but HID. Additionally, this product ID is used by all four KX models, so it is better to read the product name from the device. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* ALSA: Add Yamaha KX49 (USB MIDI controller) to usbquirks.hRichard Chan2008-07-101-0/+1
| | | | | | | | | | This patch is for the Yamaha USB MIDI controller KX49. http://www.yamahasynth.com/products/kx/index.html It has a 3-port MIDI interface and an HID interface (it has a tiny keyboard subset). Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* [ALSA] usbaudio.c: remove #ifndef CONFIG_USB_EHCI_SPLIT_ISO codeAdrian Bunk2008-06-061-4/+0Star
| | | | | | | | | Since USB_EHCI_SPLIT_ISO is now unconditionally enabled the #ifndef CONFIG_USB_EHCI_SPLIT_ISO became wrong. Reported-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* sound: Convert to menuconfigTakashi Iwai2008-05-271-6/+10
| | | | | | Convert menu in sound Kconfig files to menuconfig and if. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio - Support for Roland SonicCell sound moduleChris Mennie2008-05-271-0/+33
| | | | | | | | | Added entry into usbquirks.h to recognize Roland SonicCell sound module by mostly duplicating the entry for the Roland SH-201. USB MIDI works just fine, though the USB audio is a little unreliable (but still works well enough). Signed-off-by: Chris Mennie <camennie@alumni.uwaterloo.ca> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] snd_usb_caiaq: add support for 'Session I/O' interfaceDaniel Mack2008-05-193-3/+11
| | | | | | | | | This patch adds suport for Native Instruments new 'Guitar Rig Session I/O' audio hardware. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
* caiaq endianness fixAl Viro2008-05-221-2/+2
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>