Commit Graph

122 Commits

Author SHA1 Message Date
Sam Revitch
e217e30c35 [ALSA] usb-audio support for Turtle Beach Roadie
From: Sam Revitch <sam.revitch@gmail.com>Recently a Turtle Beach Audio Advantage Roadie device ended up in my
possession.  It seems to work with the snd-usb-audio driver, but only
using the headphone jack in 2-channel mode.  The device has a DIN
connector carrying six more channels that are otherwise silent.
C-Media has freely available documentation for the CM106 chip around
which this device is based, and enabling 8-channel output, or
6-channel output with the headphone jack following the front pair is a
matter of setting one of its registers.
Attached is a patch to try to enable 5.1 output mode at probe time.
It seems to work correctly with my device.  There is quite list of
other configurables for this device that might deserve controls.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-06-28 19:30:39 +02:00
Ben Williamson
c4a87ef4de [ALSA] USB midi: Remove duplicate CS_AUDIO_* #defines
Removed the CS_AUDIO_* #defines, which were duplicates of the
class-specific USB_DT_CS_* #defines in <linux/usb_ch9.h>.

Signed-off-by: Ben Williamson <ben.williamson@greyinnovation.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:34:31 +02:00
Takashi Iwai
f8c7579051 [ALSA] usbaudio - Fix a typo
Fix a typo introduced by the last fix.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:50 +02:00
Clemens Ladisch
faf8d11743 [ALSA] usb-audio: add workaround for CSR Bluetooth Headphones (Saitek A-250)
Some devices don't have the required class-specific endpoint descriptors.
Instead of making this case an error, this patch makes the driver guess the
endpoint attributes.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-06-22 21:33:47 +02:00
Raimonds Cicans
4d1a70dad0 [ALSA] add support for SB Live! 24-Bit External remote control
This patch rewrites the remote control code to use a table for
the peculiarities of the various SB models, and adds support
for a third model.

Signed-off-by: Raimonds Cicans <ray@vardes.lv>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-06-22 21:33:30 +02:00
Clemens Ladisch
a7b928ac5f [ALSA] rawmidi: add get_port_info callback for sequencer information flags
Add a get_port_info callback to the snd_rawmidi_global_ops structure to
allow the USB MIDI driver to supply information flags for the sequencer
ports created by seq_midi.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-06-22 21:33:20 +02:00
Takashi Iwai
0df63e44c3 [ALSA] Add O_APPEND flag support to PCM
Added O_APPEND flag support to PCM to enable shared substreams
among multiple processes.  This mechanism is used by dmix and
dsnoop plugins.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:13 +02:00
Takashi Iwai
bf850204a7 [ALSA] Remove unneeded read/write_size fields in proc text ops
Remove unneeded read/write_size fields in proc text ops.
snd_info_set_text_ops() is fixed, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-06-22 21:33:09 +02:00
Clemens Ladisch
bc56eff127 [ALSA] add another Phase 26 quirk
Add a quirk entry for the TerraTec Phase 26 with yet another product ID.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-04-27 21:10:04 +02:00
Takashi Iwai
14790f1c73 [ALSA] Test volume resolution of usb audio at initialization
Test the volume of usb audio whether actually it works and adjusts
the resolution value according to it.

Some USB audio devices report a lower resolution than it reacts.
The only possible check is to write and read a volume value.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-31 17:59:00 +02:00
Alexey Dobriyan
7f927fcc2f [PATCH] Typo fixes
Fix a lot of typos.  Eyeballed by jmc@ in OpenBSD.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-28 09:16:08 -08:00
Jesper Juhl
878b478919 [ALSA] fix resource leak in usbmixer
Modules: USB generic driver

We may leak 'namelist' in sound/usb/usbmixer.c::parse_audio_selector_unit()

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:39:28 +01:00
Clemens Ladisch
c7a93b852b [ALSA] usb-audio: add Maya44 mixer control names
Modules: USB generic driver

Add mixer control names for the AudioTrak Maya44 USB.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:39:11 +01:00
Clemens Ladisch
9808dc962f [ALSA] usb-audio: add Casio PL-40R support
Modules: USB generic driver

Add a quirk entry for the Casio PL-40R.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:39:07 +01:00
Clemens Ladisch
4ccb4a4387 [ALSA] usb-audio: add MDP-5/EZ-J24 support
Modules: USB generic driver

Add support for the Yamaha MDP-5 and EZ-J24.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:38:41 +01:00
Thibault LE MEUR
e311334ee6 [ALSA] Fixes audiophile usb analog capture with the new device_setup parameter
Modules: Documentation,USB generic driver

The patch adds the 'device_setup' module parameter and a specific
quirk to correctly initialize the audiophile usb device: this fixes
the distorted sound bug on the Analog capture port. Backward
compatibility is achieved by simply omitting the new parameter.

Signed-off-by: Thibault LE MEUR <Thibault.LeMeur@supelec.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:38:38 +01:00
Clemens Ladisch
3e964432f5 [ALSA] usb-audio: add error message about missing split iso support
Modules: USB generic driver

Add an error message for -ENOSYS for situations when split iso support
is needed but not enabled.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:38:20 +01:00
Clemens Ladisch
318d27f8b4 [ALSA] usb-audio: change Casio quirk product name
Modules: USB generic driver

Use a generic name for USB device 0x07cf:0x6802 because this ID is used
by several devices without a product ID.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:36:53 +01:00
Clemens Ladisch
32e19e882c [ALSA] usb-audio: show USB error descriptions
Modules: USB generic driver

When usb_submit_urb() fails, show an error description instead of just
the error code.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:36:37 +01:00
Clemens Ladisch
0243ef71ac [ALSA] usb-audio: add Casio AP-80R support
Modules: USB generic driver

Add a quirk for the Casio AP-80R.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:36:29 +01:00
Dave Jones
a2df813bea [ALSA] fix usbmixer double kfree
Modules: USB generic driver

snd_ctl_add() kfree's the kcontrol already if we fail there,
so this driver is currently doing a double kfree.

Coverity bug #959

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:35:19 +01:00
Clemens Ladisch
62f09c3d32 [ALSA] usb-audio: optimize snd_usbmidi_count_bits()
Modules: USB generic driver

Reduce the code size of the snd_usbmidi_count_bits() function by using
simpler operations.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:31:19 +01:00
Jesper Juhl
9c4be3d334 [ALSA] no need to check pointers passed to vfree() for NULL
Modules: Digigram VX core,USB generic driver

There's no need to check pointers passed to vfree() for NULL.

Signed-off-by: Jesper Juhl <jesper.juhl@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:29:21 +01:00
Clemens Ladisch
b2b8229dde [ALSA] usb-audio: add Miditech Play'n Roll support
Modules: USB generic driver

Add a quirk entry for the Miditech Play'n Roll.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:28:31 +01:00
Clemens Ladisch
cc7a59bd8d [ALSA] usb-audio: rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME
Modules: USB generic driver

Rename QUIRK_MIDI_MIDITECH to QUIRK_MIDI_CME because Miditech keyboards
are built by CME and use the same protocol, and don't force a Miditech
product name for the USB ID used by both Miditech and CME UF-x
keyboards.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:28:22 +01:00
Clemens Ladisch
119c4ff52e [ALSA] usb-audio: add UM-1EX/UM-2EX information
Modules: USB generic driver

Add comments with information about UM-1EX/UM-2EX devices.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:27:14 +01:00
Clemens Ladisch
05422575d4 [ALSA] usb-audio: fix number of G-70 ports
Modules: USB generic driver

The G-70 has one MIDI port in each direction, no two.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:27:10 +01:00
Jaroslav Kysela
3f72a30ccf [ALSA] snd_pcm_format_name() is no longer exported
Modules: PCM Midlevel,USB generic driver

Because snd_pcm_format_name() function is used only for informational
purposes, it is no longer exported from the PCM midlevel to reduce
space and dependency. usbaudio module shows only numeric value for format.

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2006-03-22 10:27:05 +01:00
Clemens Ladisch
cdca881d79 [ALSA] usb-audio: add Roland G-70 support
Modules: USB generic driver

Add a quirk entry for the Roland G-70.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:26:24 +01:00
Ingo Molnar
12aa757905 [ALSA] semaphore -> mutex (Archs, misc buses)
Semaphore to mutex conversion.

The conversion was generated via scripts, and the result was validated
automatically via a script as well.

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-03-22 10:25:43 +01:00
Clemens Ladisch
415b09e455 [ALSA] usb-audio: add Edirol PC-50 support
Modules: USB generic driver

Add a quirk entry for the Edirol PC-50.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
2006-03-22 10:23:47 +01:00
Jaroslav Kysela
21a3479a0b [ALSA] PCM midlevel & PCM OSS - make procfs & OSS plugin code optional
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 10:23:12 +01:00
Clemens Ladisch
9568f461e5 [ALSA] usb-audio: factor out packet size calculation code
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 10:22:27 +01:00
Clemens Ladisch
7c79b7682e [ALSA] usb-audio: cosmetic changes
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 10:22:22 +01:00
Brent Cook
e03173fce2 [ALSA] Add support for EDIROL UM-3ex
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-03-22 10:22:14 +01:00
Clemens Ladisch
3315937825 [ALSA] usb-audio: fix non-48k sample rates with SB Audigy 2 ZS
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 16:24:16 +01:00
Clemens Ladisch
4b28492834 [ALSA] usb-audio: don't use empty packets at start of playback
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-22 16:24:09 +01:00
Linus Torvalds
4da5cc2cec Merge git://git.kernel.org/pub/scm/linux/kernel/git/perex/alsa 2006-01-04 16:38:36 -08:00
Greg Kroah-Hartman
75318d2d7c [PATCH] USB: remove .owner field from struct usb_driver
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-04 13:48:34 -08:00
Clemens Ladisch
1f14a657d8 [ALSA] usb-audio: fix Edirol UA-20 support
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 12:29:32 +01:00
Takashi Iwai
bbe85bbd02 [ALSA] Remove xxx_t typedefs: USB-USX2Y
Modules: USB USX2Y

Remove xxx_t typedefs from the USB-USX2Y driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:19:56 +01:00
Takashi Iwai
86e07d3465 [ALSA] Remove xxx_t typedefs: USB-Audio
Modules: USB generic driver

Remove xxx_t typedefs from the USB-Audio driver.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:19:55 +01:00
Takashi Iwai
cb432379ef [ALSA] usx2y - Code clean up
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 12:17:09 +01:00
Takashi Iwai
c3e6f7d876 [ALSA] Remove superfluous pcm_free callbacks
Remove superflous pcm_free callbacks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2006-01-03 12:16:21 +01:00
Hugh Dickins
1cdca61bf8 [PATCH] unpaged: sound nopage get_page
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-22 09:13:42 -08:00
Jaroslav Kysela
c2f2f0fa38 [ALSA] usb-audio: remove duplicate fixup entry (Hercules DJ Console)
Modules: USB generic driver

Signed-off-by: Jaroslav Kysela <perex@suse.cz>
2005-11-04 13:26:03 +01:00
Clemens Ladisch
b55bbf06e8 [ALSA] usb-audio: start submitting URBs in the prepared state
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 13:25:06 +01:00
Clemens Ladisch
c8a7e5c40d [ALSA] usb-audio: remove superfluous include
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 13:20:03 +01:00
Nishanth Aravamudan
8433a509c0 [ALSA] Fix schedule_timeout usage
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 13:19:49 +01:00
Takashi Iwai
d3d579f84e [ALSA] Add missing KERN_* prefix
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 13:19:32 +01:00