aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
Commit message (Collapse)AuthorAgeFilesLines
* [ALSA] usb-audio: remove duplicate fixup entry (Hercules DJ Console)Jaroslav Kysela2005-11-041-5/+0
| | | | | | Modules: USB generic driver Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] usb-audio: start submitting URBs in the prepared stateClemens Ladisch2005-11-041-38/+62
| | | | | | | | | | | | | | | | | | Modules: USB generic driver If we submit all our URBs when a playback stream is started, the first hwptr_done update for each URB happens at the same time. This results in an underrun when there isn't enough PCM data available at this point for all URBs. To avoid this, we begin submitting our URBs earlier (when the stream is prepared), with empy packets. When the stream is started, the prepare_playback_urb() call for each URB will be run only when the respective URB has completed previously, so the first hwptr_done updates will be done nicely staggered. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio: remove superfluous includeClemens Ladisch2005-11-041-1/+0
| | | | | | | | Modules: USB generic driver Remove a superfluous include of the sound/minors.h header. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] Fix schedule_timeout usageNishanth Aravamudan2005-11-041-2/+1
| | | | | | | | | | | Use schedule_timeout_{,un}interruptible() instead of set_current_state()/schedule_timeout() to reduce kernel size. Also use human-time conversion functions instead of hard-coded division to avoid rounding issues. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] Add missing KERN_* prefixTakashi Iwai2005-11-045-23/+21
| | | | | | | | Modules: ALSA<-OSS emulation,USB generic driver,USB USX2Y Added missing KERN_* prefix to printk. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio: don't call usb_reset_configuration() when probingClemens Ladisch2005-11-041-7/+0
| | | | | | | | | | Modules: USB generic driver Remove the usb_reset_configuration() call from the probe callback because it isn't needed and it may interfere with other drivers already loaded for the device. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] Remove vmalloc wrapper, kfree_nocheck()Takashi Iwai2005-11-041-3/+3
| | | | | | | | - Remove vmalloc wrapper - Add release_and_free_resource() to remove kfree_nocheck() from each driver and simplify the code Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio: remove old compatibility wrappers (2/2)Clemens Ladisch2005-11-043-14/+8
| | | | | | | | | Modules: USB generic driver Move the usb_complete_callback() compatibility wrapper out of the kernel tree. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: remove old compatibility wrappers (1/2)Clemens Ladisch2005-11-042-8/+2
| | | | | | | | | Modules: USB generic driver Move the usb_pipe_needs_resubmit() compatibility wrapper out of the kernel tree. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: add quirk commentsClemens Ladisch2005-11-041-1/+39
| | | | | | | | | Modules: USB generic driver Add more comments about other device modes and unsupported devices to the Roland part of the quirks table. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: ignore Hercules DJ Console mixer errorsClemens Ladisch2005-11-041-0/+5
| | | | | | | | | Modules: USB generic driver Add a quirk entry for the Hercules DJ Console to ignore timeouts on some mixer control transfers. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: simplify MIDI quirk handlingClemens Ladisch2005-11-042-56/+45
| | | | | | | | | | | | Modules: USB generic driver Simplify the handling of MIDI quirks by treating an interface without quirks as a QUIRK_MIDI_STANDARD_INTERFACE. This also fixes the bug where a MIDI_STANDARD quirk would not be recognized. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [PATCH] gfp_t: drivers/usbAl Viro2005-10-281-1/+1
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [ALSA] usb-audio: add MIDI quirk for Hercules DJ ConsoleClemens Ladisch2005-10-071-0/+21
| | | | | | | | USB generic driver Add a quirk entry for the external MIDI ports of the Windows Edition of the Hercules DJ Console. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: add another ID for Hercules DJ ConsoleClemens Ladisch2005-10-071-1/+6
| | | | | | | | USB generic driver Add a mixer quirk entry for the Hercules DJ Console (Windows Edition) that uses a different USB product ID. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: increase max buffer sizeClemens Ladisch2005-10-071-4/+4
| | | | | | | | | USB generic driver Increase the maximum PCM buffer size to 1 MB. The USB driver doesn't have any inherent buffer size limit, and big multichannel interfaces may benefit from this. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: add another ID for the TerraTec PHASE26Clemens Ladisch2005-10-071-1/+11
| | | | | | | | USB generic driver There is another revision of the PHASE26 with a different product ID; add a quirk entry for that, too. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: add more Yamaha USB MIDI devicesClemens Ladisch2005-10-071-0/+4
| | | | | | | USB generic driver Add quirk entries for four unknown Yamaha USB MIDI devices. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: add Roland RD-700SX supportClemens Ladisch2005-10-071-0/+13
| | | | | | | | USB generic driver Add a quirk entry for the Roland RD-700SX. This should work for the RD-300SX, too. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: ignore Hercules DJ Console mixer errorsClemens Ladisch2005-10-071-0/+5
| | | | | | | | USB generic driver Add a quirk entry for the Hercules DJ Console to ignore timeouts on some mixer control transfers. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] Replace with kzalloc() - othersTakashi Iwai2005-09-124-10/+10
| | | | | | | | | | | Documentation,SA11xx UDA1341 driver,Generic drivers,MPU401 UART,OPL3 OPL4,Digigram VX core,I2C cs8427,I2C lib core,I2C tea6330t,L3 drivers AK4114 receiver,AK4117 receiver,PDAudioCF driver,PPC PMAC driver SPARC AMD7930 driver,SPARC cs4231 driver,Synth,Common EMU synth USB generic driver,USB USX2Y Replace kcalloc(1,..) with kzalloc(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio: add SNDRV_PCM_INFO_BATCH flagClemens Ladisch2005-09-121-6/+10
| | | | | | | | USB generic driver Add the SNDRV_PCM_INFO_BATCH flag to the PCM hardware information to indicate that the driver uses double buffering. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [PATCH] USB: URB_ASYNC_UNLINK flag removed from the kernelAlan Stern2005-09-081-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 29 July 2005, Cambridge, MA: This afternoon Alan Stern submitted a patch to remove the URB_ASYNC_UNLINK flag from the Linux kernel. Mr. Stern explained, "This flag is a relic from an earlier, less-well-designed system. For over a year it hasn't been used for anything other than printing warning messages." An anonymous spokesman for the Linux kernel development community commented, "This is exactly the sort of thing we see happening all the time. As the kernel evolves, support for old techniques and old code can be jettisoned and replaced by newer, better approaches. Proprietary operating systems do not have the freedom or flexibility to change so quickly." Mr. Stern, a staff member at Harvard University's Rowland Institute who works on Linux only as a hobby, noted that the patch (labelled as548) did not update two files, keyspan.c and option.c, in the USB drivers' "serial" subdirectory. "Those files need more extensive changes," he remarked. "They examine the status field of several URBs at times when they're not supposed to. That will need to be fixed before the URB_ASYNC_UNLINK flag is removed." Greg Kroah-Hartman, the kernel maintainer responsible for overseeing all of Linux's USB drivers, did not respond to our inquiries or return our calls. His only comment was "Applied, thanks." Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [ALSA] usb-audio: throttle MIDI URB resubmits on USB errorsClemens Ladisch2005-08-301-13/+64
| | | | | | | | | USB generic driver When a USB error occurs that might indicate that the device has been unplugged, don't resubmit the URB immediately to prevent flooding the log with error messages before khubd has us disconnect()ed. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: fix Emagic MIDI protocol handlingClemens Ladisch2005-08-301-5/+12
| | | | | | | | USB generic driver Emagic devices pad their packets not with 0xff bytes but with a 0xff byte followed by garbage, so we have to stop at the first such byte. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: use vmalloc for the PCM bufferClemens Ladisch2005-08-301-9/+44
| | | | | | | | | USB generic driver With the double buffering, we no longer need contiguous memory for the PCM buffer, so we can use vmalloc() instead of the preallocation functions, and increase the maximum size to 256 KB. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: use usb_buffer_alloc/freeClemens Ladisch2005-08-302-23/+46
| | | | | | | | USB generic driver Use the USB buffer allocation functions to avoid repeated DMA mappings of our buffers, which are re-used quite a lot. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: properly lock hwptr_done accessesClemens Ladisch2005-08-301-2/+8
| | | | | | | | USB generic driver Take the substream lock when reading hwptr_done to avoid a race condition with the updates in the URB callbacks. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: actually schedule playback URBs at frame boundariesClemens Ladisch2005-08-301-1/+7
| | | | | | | | USB generic driver Change prepare_playback_urb() not to stop preparing packets before a frame boundary has been reached. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: double-buffer all playback dataClemens Ladisch2005-08-301-86/+65
| | | | | | | | | | | | | | | USB generic driver We always had to use double buffering when capturing, and when playback data for one URB crosses a buffer boundary. The latter would make hwptr updates less precise because the double-buffered data is read from the buffer much earlier than the other data is read by the host controller. Double-buffering all data allows to update hwptr immediately after the data was copied to the USB buffer(s), which has the additional benefit of avoiding the latency imposed by the host controller's delay of up to one frame when interrupting. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: optimize handling of capture URBsClemens Ladisch2005-08-301-18/+8
| | | | | | | | | | | | | | USB generic driver When preparing capture URBs, we don't need to stop when we cross a period boundary because we now never handle more than one millisecond of data per URB anyway. When handling captured data, use an extra flag to call snd_pcm_period_elapsed() no more than once. This allows us to move the period boundary checking code before the copying of the data which avoids a second locking of the substream's lock. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: schedule high speed URBs with 1 ms alignmentClemens Ladisch2005-08-301-6/+14
| | | | | | | | | USB generic driver The EHCI driver doesn't interrupt more than once per millisecond, and organizes all iso transfers with frame-sized ITDs, so we can (try to) be more efficient by aligning all URBs on frame boundaries. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: make nrpacks parameter writeableClemens Ladisch2005-08-301-3/+5
| | | | | | | | USB generic driver The nrpacks module parameter is used only when initializing a playback stream, so it doesn't hurt to make it writeable. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: fix packets per URB calculation for playbackClemens Ladisch2005-08-301-1/+9
| | | | | | | | | | USB generic driver When determining how many packets are needed for one period, we cannot assume that all packets have their maximum size -- we always use the nominal sample rate when sending data, and could use an even lower rate when the endpoint uses frequency feedback. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: use 1 ms URBs when capturingClemens Ladisch2005-08-301-6/+12
| | | | | | | | | | | | | USB generic driver When capturing audio data, we do not know beforehand how many samples the device sends per frame, so we have to use URBs that are as short as possible to make sure that we can handle period boundaries without any additional latencies. Furthermore, the total count of URBs submitted doesn't matter when capturing, so we can just use the maximum number. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] ALSA's struct _snd_pcm_substream: Obsolete open_flagKarsten Wiese2005-08-301-1/+1
| | | | | | | | | | PCM Midlevel,ALSA<-OSS emulation,USB USX2Y This patch removes open_flag from struct _snd_pcm_substream. All of its uses are substituted by querying struct _snd_pcm_substream's member ffile instead. Signed-off-by: Karsten Wiese <annabellesgarden@yahoo.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio - change quirk type handlingClemens Ladisch2005-07-282-41/+53
| | | | | | | | | USB generic driver Make the quirk type an enum instead of a #defined integer, and use a table for the quirk constructor functions instead of a big switch statement. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - add support for Miditech USB MIDI keyboardsClemens Ladisch2005-07-284-0/+26
| | | | | | | | USB generic driver Add support for Miditech Midistart and MidiStudio keyboards (another case of devices using the standard protocol but having no descriptors). Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] Fix-up sleeping in sound/usbNishanth Aravamudan2005-07-283-8/+5
| | | | | | | | | | | | USB generic driver,USB USX2Y Description: Fix-up sleeping in sound/usb. Replace big_mdelay() with msleep() to guarantee the task delays as expected. This also involved replacing/removing custom sleep functions. Patch is compile-tested. Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
* [ALSA] usb-audio - use bDeviceSubClass to detect MOTU FastLaneClemens Ladisch2005-07-281-1/+6
| | | | | | | | | USB generic driver MOTU builds other USB MIDI interfaces with the same product ID as the FastLane, so we have to check the bDeviceSubClass field to differentiate between them. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - rename QUIRK_MIDI_MOTU to QUIRK_MIDI_RAWClemens Ladisch2005-07-284-13/+13
| | | | | | | | | USB generic driver Rename the protocol used by the MOTU FastLane to 'raw' because it might be useful with other devices, and there are other MOTU interfaces that do not use this protocol. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - enable high speed transfers with Audiy 2 NXClemens Ladisch2005-07-281-3/+0
| | | | | | | | | USB generic driver This patch enables the boot commands to activate high speed mode (and associated sample formats like 8 channels with 24 bits at 96 kHz) on the SB Audigy 2 NX. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: add support for an unknown Yamaha USB MIDI deviceClemens Ladisch2005-07-281-0/+1
| | | | | | | USB generic driver Add a quirk for the Yamaha USB MIDI device with USB ID 0x103d. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - fix capture of non-48k sample rates on Audigy 2 NXClemens Ladisch2005-07-281-2/+1
| | | | | | | | USB generic driver On the SB Audigy 2 NX, capturing with sample rates that are not a multiple of 48 kHz does not seem to work, so disable it. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - high speed audio supportClemens Ladisch2005-07-281-12/+25
| | | | | | | | USB generic driver Add support for endpoints with bInterval > 1, and decoding of the wMaxPacketSize field of high-speed endpoints. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [PATCH] clean up inline static vs static inlineJesper Juhl2005-07-272-6/+6
| | | | | | | | | | | | | | | `gcc -W' likes to complain if the static keyword is not at the beginning of the declaration. This patch fixes all remaining occurrences of "inline static" up with "static inline" in the entire kernel tree (140 occurrences in 47 files). While making this change I came across a few lines with trailing whitespace that I also fixed up, I have also added or removed a blank line or two here and there, but there are no functional changes in the patch. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [ALSA] Remove redundant NULL checks before kfreeJesper Juhl2005-06-223-16/+8
| | | | | | | | | | | | | | | | Timer Midlevel,ALSA sequencer,ALSA<-OSS sequencer,Digigram VX core I2C tea6330t,GUS Library,VIA82xx driver,VIA82xx-modem driver CA0106 driver,CS46xx driver,EMU10K1/EMU10K2 driver,YMFPCI driver Digigram VX Pocket driver,Common EMU synth,USB generic driver,USB USX2Y Checking a pointer for NULL before calling kfree() on it is redundant, kfree() deals with NULL pointers just fine. This patch removes such checks from sound/ This patch also makes another, but closely related, change. It avoids casting pointers about to be kfree()'ed. Signed-off-by: Jesper Juhl <juhl-lkml@dif.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* [ALSA] usb-audio - fix synchronization packet interval with Audigy 2 NXClemens Ladisch2005-05-291-2/+7
| | | | | | | | | | USB generic driver When a device does not provide the bRefresh field in its audio endpoint descriptors, use the bInterval field instead. Furthermore, increase the number of sync URBs for better queueing. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - claim all interfaces for Roland USB MIDI devicesClemens Ladisch2005-05-291-50/+220
| | | | | | | | USB generic driver Many Roland USB MIDI devices have two interfaces that are currently not used by the driver; claim them anyway. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio - avoid unnecessary double bufferingClemens Ladisch2005-05-291-0/+2
| | | | | | | | | | | | USB generic driver When a USB packet boundary falls exactly on a buffer boundary, hwptr remains at the end of the buffer which causes an overflow in the next iteration and triggers double buffering although the next packet would actually be contiguous. This patch ensures that hwptr is always smaller than buffer_size. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>