summaryrefslogtreecommitdiffstats
path: root/sound/usb
AgeCommit message (Collapse)AuthorFilesLines
2006-03-22[ALSA] usb-audio: add Edirol PC-50 supportClemens Ladisch1-1/+14
Modules: USB generic driver Add a quirk entry for the Edirol PC-50. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22[ALSA] PCM midlevel & PCM OSS - make procfs & OSS plugin code optionalJaroslav Kysela1-2/+11
Modules: ALSA Core,PCM Midlevel,ALSA<-OSS emulation,USB generic driver 1) The verbose procfs code for the PCM midlevel and usb audio can be removed now (more patches will follow). CONFIG_SND_VERBOSE_PROCFS 2) The PCM OSS plugin system can be also compiled optionaly. CONFIG_SND_PCM_OSS_PLUGINS Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22[ALSA] usb-audio: factor out packet size calculation codeClemens Ladisch1-20/+14
Modules: USB generic driver Move the common packet size calculation code from prepare_startup_playback_urb() and prepare_playback_urb() to a new function. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22[ALSA] usb-audio: cosmetic changesClemens Ladisch2-33/+23
Modules: USB generic driver Move some entries around to keep them sorted by ID. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22[ALSA] Add support for EDIROL UM-3exBrent Cook2-0/+24
Modules: USB generic driver This is my naive attempt at adding ALSA device support. The attached patch provides support for the EDIROL UM-3ex. This is a 3-port USB midi interface with a built-in USB hub and the ability to chain 2 other UM-3x's in a master-slave configuration. I only have one, so I do not know how this works in practice. Though this is a 3-port device, I had to throw in that 4th 'Control' interface to the definition in order to make the 3rd port work. If I set in/out_cables to 0x000b, a 3rd interface appears on the driver, but it does nothing. Changing it to 0x000f allows the 3rd interface to work, but of course interface 4 does not work because it does not exist. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-22[ALSA] usb-audio: fix non-48k sample rates with SB Audigy 2 ZSClemens Ladisch1-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>
2006-01-22[ALSA] usb-audio: don't use empty packets at start of playbackClemens Ladisch1-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>
2006-01-04Merge git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsaLinus Torvalds13-927/+954
2006-01-04[PATCH] USB: remove .owner field from struct usb_driverGreg Kroah-Hartman2-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>
2006-01-03[ALSA] usb-audio: fix Edirol UA-20 supportClemens Ladisch1-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>
2006-01-03[ALSA] Remove xxx_t typedefs: USB-USX2YTakashi Iwai8-267/+299
Modules: USB USX2Y Remove xxx_t typedefs from the USB-USX2Y driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] Remove xxx_t typedefs: USB-AudioTakashi Iwai5-533/+521
Modules: USB generic driver Remove xxx_t typedefs from the USB-Audio driver. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03[ALSA] usx2y - Code clean upTakashi Iwai4-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>
2006-01-03[ALSA] Remove superfluous pcm_free callbacksTakashi Iwai2-11/+1
Remove superflous pcm_free callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2005-11-22[PATCH] unpaged: sound nopage get_pageHugh Dickins1-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>
2005-11-04[ALSA] usb-audio: remove duplicate fixup entry (Hercules DJ Console)Jaroslav Kysela1-5/+0
Modules: USB generic driver Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-11-04[ALSA] usb-audio: start submitting URBs in the prepared stateClemens Ladisch1-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>
2005-11-04[ALSA] usb-audio: remove superfluous includeClemens Ladisch1-1/+0
Modules: USB generic driver Remove a superfluous include of the sound/minors.h header. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-11-04[ALSA] Fix schedule_timeout usageNishanth Aravamudan1-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>
2005-11-04[ALSA] Add missing KERN_* prefixTakashi Iwai5-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>
2005-11-04[ALSA] usb-audio: don't call usb_reset_configuration() when probingClemens Ladisch1-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>
2005-11-04[ALSA] Remove vmalloc wrapper, kfree_nocheck()Takashi Iwai1-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>
2005-11-04[ALSA] usb-audio: remove old compatibility wrappers (2/2)Clemens Ladisch3-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>
2005-11-04[ALSA] usb-audio: remove old compatibility wrappers (1/2)Clemens Ladisch2-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>
2005-11-04[ALSA] usb-audio: add quirk commentsClemens Ladisch1-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>
2005-11-04[ALSA] usb-audio: ignore Hercules DJ Console mixer errorsClemens Ladisch1-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>
2005-11-04[ALSA] usb-audio: simplify MIDI quirk handlingClemens Ladisch2-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>
2005-10-28[PATCH] gfp_t: drivers/usbAl Viro1-1/+1
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-10-07[ALSA] usb-audio: add MIDI quirk for Hercules DJ ConsoleClemens Ladisch1-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>
2005-10-07[ALSA] usb-audio: add another ID for Hercules DJ ConsoleClemens Ladisch1-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>
2005-10-07[ALSA] usb-audio: increase max buffer sizeClemens Ladisch1-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>
2005-10-07[ALSA] usb-audio: add another ID for the TerraTec PHASE26Clemens Ladisch1-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>
2005-10-07[ALSA] usb-audio: add more Yamaha USB MIDI devicesClemens Ladisch1-0/+4
USB generic driver Add quirk entries for four unknown Yamaha USB MIDI devices. Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2005-10-07[ALSA] usb-audio: add Roland RD-700SX supportClemens Ladisch1-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>
2005-10-07[ALSA] usb-audio: ignore Hercules DJ Console mixer errorsClemens Ladisch1-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>
2005-09-12[ALSA] Replace with kzalloc() - othersTakashi Iwai4-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>
2005-09-12[ALSA] usb-audio: add SNDRV_PCM_INFO_BATCH flagClemens Ladisch1-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>
2005-09-08[PATCH] USB: URB_ASYNC_UNLINK flag removed from the kernelAlan Stern1-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>
2005-08-30[ALSA] usb-audio: throttle MIDI URB resubmits on USB errorsClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: fix Emagic MIDI protocol handlingClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: use vmalloc for the PCM bufferClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: use usb_buffer_alloc/freeClemens Ladisch2-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>
2005-08-30[ALSA] usb-audio: properly lock hwptr_done accessesClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: actually schedule playback URBs at frame boundariesClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: double-buffer all playback dataClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: optimize handling of capture URBsClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: schedule high speed URBs with 1 ms alignmentClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: make nrpacks parameter writeableClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: fix packets per URB calculation for playbackClemens Ladisch1-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>
2005-08-30[ALSA] usb-audio: use 1 ms URBs when capturingClemens Ladisch1-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>