summaryrefslogtreecommitdiffstats
path: root/sound/usb
Commit message (Collapse)AuthorAgeFilesLines
* [ALSA] usb-audio: fix non-48k sample rates with SB Audigy 2 ZSClemens Ladisch2006-01-221-2/+3
| | | | | | | | | | Modules: USB generic driver On the Audigy 2 ZS, disable all sample rate that are not a multiple of 48 kHz because the others work only with the digital output which is not yet supported. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* [ALSA] usb-audio: don't use empty packets at start of playbackClemens Ladisch2006-01-221-5/+21
| | | | | | | | | | | Modules: USB generic driver Some widespread USB interface chips with adaptive iso endpoints hang after receiving a series of empty packets when they expect data (ALSA bug#1585). To avoid this, we have to send packets containing silence (zero samples) instead. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsaLinus Torvalds2006-01-0413-927/+954
|\
| * [ALSA] usb-audio: fix Edirol UA-20 supportClemens Ladisch2006-01-031-3/+37
| | | | | | | | | | | | | | | | | | | | Modules: USB generic driver Somebody at Edirol fucked up and released a new revision of the UA-20 without class-specific descriptors, so now we have to hard-code the sample format. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
| * [ALSA] Remove xxx_t typedefs: USB-USX2YTakashi Iwai2006-01-038-267/+299
| | | | | | | | | | | | | | | | Modules: USB USX2Y Remove xxx_t typedefs from the USB-USX2Y driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * [ALSA] Remove xxx_t typedefs: USB-AudioTakashi Iwai2006-01-035-533/+521
| | | | | | | | | | | | | | | | Modules: USB generic driver Remove xxx_t typedefs from the USB-Audio driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * [ALSA] usx2y - Code clean upTakashi Iwai2006-01-034-129/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | Modules: USB USX2Y Clean up snd-usb-usx2y driver code: - Avoid unnecessary cast - Fix spaces/indents - Use kzalloc() - Remove weird debug prints Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * [ALSA] Remove superfluous pcm_free callbacksTakashi Iwai2006-01-032-11/+1
| | | | | | | | | | | | Remove superflous pcm_free callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | [PATCH] USB: remove .owner field from struct usb_driverGreg Kroah-Hartman2006-01-042-2/+0
|/ | | | | | It is no longer needed, so let's remove it, saving a bit of memory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] unpaged: sound nopage get_pageHugh Dickins2005-11-221-0/+1
| | | | | | | | | | | | | | | | | | Something noticed when studying use of VM_RESERVED in different drivers: snd_usX2Y_hwdep_pcm_vm_nopage omitted to get_page: fixed. And how did this work before? Aargh! That nopage is returning a page from within a buffer allocated by snd_malloc_pages, which allocates a high-order page, then does SetPageReserved on each 0-order page within. That would have worked in 2.6.14, because when the area was unmapped, PageReserved inhibited put_page. 2.6.15-rc1 removed that inhibition (while leaving ineffective PageReserveds around for now), but it hasn't caused trouble because.. we've not been freeing from VM_RESERVED at all. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [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>