aboutsummaryrefslogtreecommitdiffstats
path: root/sound (follow)
AgeCommit message (Collapse)AuthorFilesLines
2010-03-02Merge remote branch 'alsa/devel' into topic/miscTakashi Iwai5-155/+37
Conflicts: sound/usb/usbaudio.c
2010-03-02ALSA: ua101: removing debugging codeClemens Ladisch1-55/+0
Remove some code that is no longer needed now that the relevant parts of the driver have been tested. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-03-02ALSA: sound/usb/caiaq/midi.h: Checkpatch cleanupAndrea Gelmini1-1/+1
sound/usb/caiaq/midi.h:6: ERROR: "foo* bar" should be "foo *bar" Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net> Acked-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-03-02sound/oss/coproc.h: Checkpatch cleanupAndrea Gelmini1-1/+1
sound/oss/coproc.h:7: ERROR: trailing whitespace Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-03-02sound/oss/v_midi.h: Checkpatch cleanupAndrea Gelmini1-3/+2
sound/oss/v_midi.h:5: ERROR: code indent should use tabs where possible sound/oss/v_midi.h:7: ERROR: trailing whitespace Signed-off-by: Andrea Gelmini <andrea.gelmini@gelma.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-03-01ALSA: ua101: add Edirol UA-1000 supportClemens Ladisch5-100/+37
Add support for the Edirol UA-1000 to the UA-101 driver. Both devices behave the same, so we just have to shuffle around some interface numbers and name strings. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-23ALSA: usbaudio: consolidate header filesDaniel Mack6-216/+121
Use the definitions from linux/usb/audio.h all over the ALSA USB audio driver and add some missing definitions there as well. Use the endpoint attribute macros from linux/usb/ch9 and remove the own things from sound/usb/usbaudio.h. Now things are also nicely prefixed which makes understanding the code easier. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: usbmixer: bail out early when parsing audio class v2 descriptorsDaniel Mack1-1/+12
This is just a quick hack that needs to be removed once the new units defined by the audio class v2.0 standard are supported. However, it allows using these devices for now, without mixer support. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: usbaudio: implement basic set of class v2.0 parserDaniel Mack2-63/+292
This adds a number of parsers for audio class v2.0. In particular, the following internals are different and now handled by the code: * the number of streaming interfaces is now reported by an interface association descriptor. The old approach using a proprietary descriptor is deprecated. * The number of channels per interface is now stored in the AS_GENERAL descriptor (used to be part of the FORMAT_TYPE descriptor). * The list of supported sample rates is no longer stored in a variable length appendix of the format_type descriptor but is retrieved from the device using a class specific GET_RANGE command. * Supported sample formats are now reported as 32bit bitmap rather than a fixed value. For now, this is worked around by choosing just one of them. * A devices needs to have at least one CLOCK_SOURCE descriptor which denotes a clockID that is needed im the class request command. * Many descriptors (format_type, ...) have changed their layout. Handle this by casting the descriptors to the appropriate structs. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: usbaudio: introduce new types for audio class v2Daniel Mack2-10/+23
This patch adds some definitions for audio class v2. Unfortunately, the UNIT types PROCESSING_UNIT and EXTENSION_UNIT have different numerical representations in both standards, so there is need for a _V1 add-on now. usbmixer.c is changed accordingly. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-23ALSA: usbaudio: parse USB descriptors with structsDaniel Mack2-95/+140
In preparation of support for v2.0 audio class, use the structs from linux/usb/audio.h and add some new ones to describe the fields that are actually parsed by the descriptor decoders. Also, factor out code from usb_create_streams(). This makes it easier to adopt the new iteration logic needed for v2.0. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-22ALSA: usbaudio Mbox support, output onlyChris J Arges1-0/+45
Signed-off-by: Chris J Arges <christopherarges@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-18ALSA: cs46xx - fix some typosFlorian Zumbiehl1-4/+4
Signed-off-by: Florian Zumbiehl <florz@florz.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-18ALSA: cs46xx - Do test writes to register AC97_REC_GAIN inFlorian Zumbiehl1-1/+1
snd_cs46xx_codec_reset() bypassing the register cache, so as to not clobber the cached register value during resume. Signed-off-by: Florian Zumbiehl <florz@florz.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-17Merge branch 'fix/misc' into topic/miscTakashi Iwai16-57/+191
Conflicts: sound/pci/hda/patch_realtek.c
2010-02-17Merge remote branch 'alsa/fixes' into fix/miscTakashi Iwai2-7/+19
2010-02-17ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50Giuliano Pochini1-1/+3
This patch fixes a division by zero error in the irq handler. There is a small window between the hw_params() callback and when runtime->frame_bits is set by ALSA middle layer. When another substream is already running, if an interrupt is delivered during that window the irq handler calls pcm_pointer() which does a division by zero. The patch below makes the irq handler skip substreams that are initialized but not started yet. Cc to Clemens Ladisch because he proposed an alternate fix. For more information, please read the original thread in the linux-kernel mailing list: http://lkml.org/lkml/2010/2/2/187 Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-16ALSA: usbmixer - use MAX_ID_ELEMS where possibleJaroslav Kysela1-2/+3
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-16ALSA: usbmixer - add usb_id value to usbmixer proc fileJaroslav Kysela1-2/+3
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-16ALSA: pcm core - fix fifo_size channels interval checkJaroslav Kysela1-4/+4
Signed-off-by: Jaroslav Kysela <perex@perex.cz> Cc: <stable@kernel.org>
2010-02-16ALSA: usbmixer - introduce /proc/asound/card#/usbmixer fileJaroslav Kysela1-14/+61
The usbmixer proc file contains mapping between ALSA control API and USB mixer control units. The purpose of this file is for debugging and a problem diagnostics. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-16Merge branch 'topic/misc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into develJaroslav Kysela119-1321/+3364
2010-02-16Merge branch 'fixes' into develJaroslav Kysela24-132/+155
2010-02-16ALSA: USB MIDI support for Access Music VirusTISebastien Alaiwan3-0/+65
Here's a patch that adds MIDI support through USB for one of the Access Music synths, the VirusTI. The synth uses standard USBMIDI protocol on its USB interface 3, although it does signal "vendor specific" class. A magic string has to be sent on interface 3 to enable the sending of MIDI from the synth (this string was found by sniffing usb communication of the Windows driver). This is all my patch does, and it works on my computer. Please note that the synth can also do standard usb audio I/O on its interfaces 2&3, which already works with the current snd-usb-audio driver, except for the audio input from the synth. I'm going to work on it when I have some time. Signed-off-by: Sebastien Alaiwan <sebastien.alaiwan@gmail.com> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> (cosmetics, list terminator) Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-16ALSA: usb-audio: reduce MIDI packet size to work around broken firmwareClemens Ladisch1-3/+15
Extend the list of devices whose firmware does not expect more than one USB MIDI packet in one USB packet. bug report: https://bugtrack.alsa-project.org/alsa-bug/view.php?id=3752 Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@kernel.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-15ALSA: Echoaudio - Add suspend support #2Giuliano Pochini3-78/+222
This patch adds rearranges parts of the initialization code and adds suspend and resume callbacks. This patch adds suspend and resume callbacks. It also rearranges parts of the initialization code so it can be used in both the first initialization (when the module is loaded we also have to load default settings) and the resume callback (where we have to restore the previous settings). Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add suspend support #1Giuliano Pochini15-80/+115
Move the controls init code outside the init_hw() function because is must not be called during resume. This patch moves the code that initializes the card's controls with default valued from the init_hw() function into a separated set_mixer_defaults() function (one for each of the 16 supported cards). This change is necessary because during resume we must resurrect the hardware without losing the previous settings. set_mixer_defaults() must be called only once when the module is loaded. Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add firmware cache #2Giuliano Pochini2-4/+41
This patch implements a simple cache for the firmware files when CONFIG_PM is defined. This patch changes get_firmware(), free_firmware() and adds free_firmware_cache(). The first two functions implement a very simple cache and the latter is used to actually release all the stored firmwares when the module is unloaded. When CONFIG_PM is not enabled those functions act as before, that is free_firmware() releases the firmware immediately and free_firmware_cache() does nothing. Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-15ALSA: Echoaudio - Add firmware cache #1Giuliano Pochini18-65/+69
Changes the way the firmware is passed through functions. When CONFIG_PM is enabled the firmware cannot be released because the driver will need it again to resume the card. With this patch the firmware is passed as an index of the struct firmware card_fw[] in place of a pointer. That same index is then used to locate the firmware in the firmware cache. Signed-off-by: Giuliano Pochini <pochini@shiny.it> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-12Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6Linus Torvalds1-6/+3
* 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - use WARN_ON_ONCE() for zero-division detection
2010-02-12ALSA: hda - use WARN_ON_ONCE() for zero-division detectionTakashi Iwai1-6/+3
Replace the zero-division warning message with WARN_ON_ONCE() per the advice by Linus. This shouldn't happen, but if it happens, it's possible that the bug happens often due to buggy IRQs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-12Merge branch 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6Linus Torvalds1-0/+6
* 'fix/hda' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda-intel: Avoid divide by zero crash
2010-02-12Merge remote branch 'alsa/devel' into topic/miscTakashi Iwai3-165/+273
2010-02-11ALSA: usbmixer - add possibility to remap dB valuesJaroslav Kysela2-55/+93
USB devices tends to represent dB ranges in different way than ALSA expects. Add possibility to override these values and add guessed values for SoundBlaster MP3+. Also rename 'Capture Input Source' control to 'Capture Source' for SoundBlaster MP3+ and Extigy. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-09ALSA: hda-intel: Avoid divide by zero crashJody Bruchon1-0/+6
On my AMD780V chipset, hda_intel.c can crash the kernel with a divide by zero for as-yet unknown reasons. A simple check for zero prevents it, though the problem that causes it remains. Since the workaround is harmless and won't affect anyone except victims of this bug, it should be safe; moreover, because this crash can be triggered by a user-mode application, there are denial of service implications on the systems affected by the bug without the patch. Signed-off-by: Jody Bruchon <jody@nctritech.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-09sound: use DEFINE_PCI_DEVICE_TABLEAlexey Dobriyan67-70/+70
Use DEFINE_PCI_DEVICE_TABLE() to make PCI device ids go to .devinit.rodata section, so they can be discarded in some cases, and make them const. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-05Merge remote branch 'alsa/fixes' into for-linusTakashi Iwai4-41/+32
2010-02-05Merge branch 'fix/asoc' into for-linusTakashi Iwai1-0/+1
2010-02-05Merge branch 'fix/hda' into for-linusTakashi Iwai1-3/+18
2010-02-05ASoC: pandora: Add APLL supply to fix audio outputGrazvydas Ignotas1-0/+1
Pandora's external DAC is using 256*Fs output from the TWL4030 codec, and TWL4030 needs to have APLL enabled for it's 256*Fs output to function. Signed-off-by: Grazvydas Ignotas <notasas@gmail.com> Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2010-02-05ALSA: ice1724 - aureon - fix wm8770 volume offsetJaroslav Kysela1-5/+7
The volume register is from 0..0x7f and 0..0x1a range is mute. Also, fix mute combining in wm_vol_put(). The wrong behaviour was noticed by Peter Christensen. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-05ALSA: cosmetic: make hda intel interrupt name consistent with othersMaxim Levitsky1-1/+1
This renames the interrupt name in /proc/interrupt. HDA Intel -> hda_intel This also eliminates space from the name, probably helping some parsers. Don't think anybody depends on this name in userspace Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-05ALSA: hda - Delay switching to polling mode if an interrupt was missingMaxim Levitsky1-2/+17
My sound codec seems sometimes (very rarely) to omit interrupts (ALC268) However, interrupt mode still works. Thus if we get timeout, poll the codec once. If we get 3 such polls in a row, then switch to polling mode. This patch is maybe an bandaid, but this might be a workaround for hardware bug. Signed-off-by: Maxim Levitsky <maximlevitsky@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-05ALSA: ice1712: fix: lock samplerate when samplerate locking is enabledSebastien Alaiwan1-0/+9
I found that the sampling rate locking setting of the ice1712 sound driver was only half-respected : when the driver was locked to, let's say, 44100Hz, and a usermode app was requesting 48000Hz playback, the request was succesful although the soundcard would continue to run at 44100Hz. Here's a patch that will make those requests to fail. Signed-off-by: Sebastien Alaiwan <sebastien.alaiwan@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-04ALSA: ctxfi - fix PTP address initializationJaroslav Kysela3-36/+25
After hours of debugging, I finally found the reason why some source and runtime combination does not work. The PTP (page table pages) address must be aligned. I am not sure how much, but alignment to PAGE_SIZE is sufficient. Also, use ALSA's page allocation routines to ensure proper virtual -> physical address translation. Cc: <stable@kernel.org> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-02ALSA: dummy driver - add model parameterJaroslav Kysela1-110/+180
This is a cleanup for the dummy driver. The model kernel module parameter is introduced to select the soundcard emulation. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-02ALSA: trivial: sound seq ioctl dbg: print hexadecimal value padded with 0sThadeu Lima de Souza Cascardo1-1/+1
Instead of padding with blanks and printing "number=0x a", print "number=0x0a". Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
2010-02-01Merge remote branch 'alsa/devel' into topic/miscTakashi Iwai2-6/+40
2010-02-01sound: control: fix minimum TLV lengthClemens Ladisch1-1/+1
Allow TLV blocks that do not have any values; the smallest possible TLV is an empty container or one where the information is only in the tag. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-02-01sound: control: actually allow TLV command accessClemens Ladisch1-2/+3
Creating a control with TLV_COMMAND access was not possible because snd_ctl_new1() forgot to include it in the mask of allowable access bits. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>