summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: usb-mixer: Add support for Audio Class v2.0Daniel Mack2010-03-124-100/+343
| | | | | | | | | | USB Audio Class v2.0 compliant devices have different descriptors and a different way of setting/getting min/max/res/cur properties. This patch adds support for them. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-mixer: parse descriptors with structsDaniel Mack2010-03-122-50/+166
| | | | | | | | | | | Introduce a number of new structs for mixer, selector, feature and processing units and some static inline helpers to access fields which have dynamic offsets. Use them in mixer.c to parse the descriptors. This is necessary for the upcoming audio v2 parsers. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usbmixer: rename usbmixer.[ch] -> mixer.[ch]Daniel Mack2010-03-127-6/+6
| | | | | | | | For clearer namespace, also rename usbmixer_maps.c -> mixer_maps.c Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-mixer: factor out quirksDaniel Mack2010-03-126-416/+480
| | | | | | | | | Move all non-standard mixer controls and vendor-specific extensions to a separate file. Some structs need to be exported now. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usb-mixer: use defines from audio.hDaniel Mack2010-03-123-25/+12
| | | | | | | | No need for the private enum. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* linux/usb/audio.h: split headerDaniel Mack2010-03-126-46/+333
| | | | | | | | | | | | | - Split the audio.h file in two to clearly denote the differences between the standards. - Add many more defines to audio-v2.h. Most of them are not currently used. - Replaced a magic value with a proper define Signed-off-by: Daniel Mack <daniel@caiaq.de> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/misc' into topic/usbTakashi Iwai2010-03-052-1/+2
|\
| * ALSA: usb/audio.h: Fix field orderDaniel Mack2010-03-051-1/+1
| | | | | | | | | | | | Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: fix jazz16 compile (udelay)Meelis Roos2010-03-051-0/+1
| | | | | | | | | | | | | | | | | | While trying to compile jazz16 isa sound driver on alpha (2.6.33+git), I found a compile failure in jazz16.c (udelay is unknown). Fix it by including delay.h. Signed-foo-by: Meelis Roos <mroos@linux.ee> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: add support for samplerate setting on v2 devicesDaniel Mack2010-03-054-52/+133
| | | | | | | | | | | | | | | | | | Sample rate setting is done with a 4-byte long class request that addresses the interface. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: support multiple formats with audio class v2 devicesClemens Ladisch2010-03-052-56/+39
| | | | | | | | | | | | | | | | Change the parser to correctly handle v2 descriptors with multiple format bits set. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: use a format bitmask per alternate settingClemens Ladisch2010-03-058-22/+34
| | | | | | | | | | | | | | | | In preparation for USB audio 2.0 support, change the audioformat structure so that it uses a bitmask to specify possible formats. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: rename substream format field to altset_idxClemens Ladisch2010-03-053-6/+6
| | | | | | | | | | | | | | | | | | The snd_usb_substream::format field actually contains the index of the current alternate setting, so rename it to altset_idx to avoid confusion. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: refactor codeDaniel Mack2010-03-0527-4095/+4411
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up the usb audio driver by factoring out a lot of functions to separate files. Code for procfs, quirks, urbs, format parsers etc all got a new home now. Moved almost all special quirk handling to quirks.c and introduced new generic functions to handle them, so the exceptions do not pollute the whole driver. Renamed usbaudio.c to card.c because this is what it actually does now. Renamed usbmidi.c to midi.c for namespace clarity. Removed more things from usbaudio.h. The non-standard drivers were adopted accordingly. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: header file cleanupsDaniel Mack2010-03-0510-57/+72
| | | | | | | | | | | | | | | | | | | | | | | | Rename snd-usb-lib to snd-usbmidi-lib as MIDI functions are the only thing it actually contains. Introduce a new header file to only declare these functions. Introduced usbmixer.h for all functions exported by usbmixer.c. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usb-audio: move ua101 driverDaniel Mack2010-03-053-4/+5
|/ | | | | | | | | As part of the USB audio code cleanup, move the non-standard ua101 driver out of the way. Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: riptide: clean up while loopDan Carpenter2010-03-031-3/+3
| | | | | | | | | | | | If getpaths() returned an odd number this would be a buffer under-run and an endless loop. It turns out that getpaths() can only return even numbers, but let's make it easy for people auditing code. With the new code you don't need to look at getpaths(). This silences a smatch warning. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usbaudio - remove debug "SAMPLE BYTES" printk lineJaroslav Kysela2010-03-031-1/+0
| | | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: timer - pass real event in snd_timer_notify1() to instance callbackJaroslav Kysela2010-03-032-2/+2
| | | | | | | Do not use hardcoded SNDRV_TIMER_EVENT_START value. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: oxygen: change || to &&Clemens Ladisch2010-03-031-1/+1
| | | | | | | | | | In the original code the condition was always true (hopefully) because WM8776_HPLVOL is zero. Signed-off-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: opti92x: use PnP data to select Master Control portKrzysztof Helt2010-03-032-43/+79
| | | | | | | | | | The Master Control port (MC) is available as the last PnP resource (OPT005). Use this value instead fo guessing. Also, add some comments to the code. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live CamArseniy Lartsev2010-03-021-0/+3
| | | | | | | | | This patch works around misbehaviour of Creative Creative VF0470 Live Cam which reports 16 kHz sample rate for audio capture while actually producing 8 kHz stream. Signed-off-by: Arseniy Lartsev <arseniy@fizlesh.ru> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge remote branch 'alsa/devel' into topic/miscTakashi Iwai2010-03-026-156/+38
|\ | | | | | | | | Conflicts: sound/usb/usbaudio.c
| * ALSA: ua101: removing debugging codeClemens Ladisch2010-03-021-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>
| * ALSA: ua101: add Edirol UA-1000 supportClemens Ladisch2010-03-016-101/+38
| | | | | | | | | | | | | | | | | | | | 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>
* | ALSA: sound/usb/caiaq/midi.h: Checkpatch cleanupAndrea Gelmini2010-03-021-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>
* | sound/oss/coproc.h: Checkpatch cleanupAndrea Gelmini2010-03-021-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>
* | sound/oss/v_midi.h: Checkpatch cleanupAndrea Gelmini2010-03-021-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>
* | usb/gadget/{f_audio,gmidi}.c: follow recent changes in audio.hDaniel Mack2010-02-232-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Some structs in linux/usb/audio.h have got new names to mark them as part of version 1.0 of the USB audio standard. Follow these changes in the gadget drivers. Note that this header and the ALSA USB driver will undergo some refactoring soon, so there might be another update to the gadgets as well. Signed-off-by: Daniel Mack <daniel@caiaq.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: usbaudio: consolidate header filesDaniel Mack2010-02-237-218/+150
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ALSA: usbmixer: bail out early when parsing audio class v2 descriptorsDaniel Mack2010-02-231-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>
* | ALSA: usbaudio: implement basic set of class v2.0 parserDaniel Mack2010-02-232-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>
* | ALSA: usbaudio: introduce new types for audio class v2Daniel Mack2010-02-233-10/+80
| | | | | | | | | | | | | | | | | | | | | | 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>
* | ALSA: usbaudio: parse USB descriptors with structsDaniel Mack2010-02-233-99/+168
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* | ALSA: usbaudio Mbox support, output onlyChris J Arges2010-02-221-0/+45
| | | | | | | | | | Signed-off-by: Chris J Arges <christopherarges@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: cs46xx - fix some typosFlorian Zumbiehl2010-02-181-4/+4
| | | | | | | | | | Signed-off-by: Florian Zumbiehl <florz@florz.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: cs46xx - Do test writes to register AC97_REC_GAIN inFlorian Zumbiehl2010-02-181-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>
* | Merge branch 'fix/misc' into topic/miscTakashi Iwai2010-02-171419-13879/+35743
|\ \ | |/ |/| | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * Merge remote branch 'alsa/fixes' into fix/miscTakashi Iwai2010-02-172-7/+19
| |\
| | * ALSA: pcm core - fix fifo_size channels interval checkJaroslav Kysela2010-02-161-4/+4
| | | | | | | | | | | | | | | Signed-off-by: Jaroslav Kysela <perex@perex.cz> Cc: <stable@kernel.org>
| * | ALSA: Echoaudio, fix Guru Meditation #00000005.48454C50Giuliano Pochini2010-02-171-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>
| * | Linux 2.6.33-rc8v2.6.33-rc8Linus Torvalds2010-02-121-1/+1
| | |
| * | Merge branch 'fix/hda' of ↵Linus Torvalds2010-02-121-6/+3
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * '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
| | * | ALSA: hda - use WARN_ON_ONCE() for zero-division detectionTakashi Iwai2010-02-121-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>
| * | | Merge branch 'for-linus' of ↵Linus Torvalds2010-02-128-142/+332
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel: drm/i915: hold ref on flip object until it completes drm/i915: Fix crash while aborting hibernation drm/i915: Correctly return -ENOMEM on allocation failure in cmdbuf ioctls. drm/i915: fix pipe source image setting in flip command drm/i915: fix flip done interrupt on Ironlake drm/i915: untangle page flip completion drm/i915: handle FBC and self-refresh better drm/i915: Increase fb alignment to 64k drm/i915: Update write_domains on active list after flush. drm/i915: Rework DPLL calculation parameters for Ironlake
| | * | | drm/i915: hold ref on flip object until it completesJesse Barnes2010-02-111-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will prevent things from falling over if the user frees the flip buffer before we complete the flip, since we'll hold an internal reference. Reported-by: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Eric Anholt <eric@anholt.net>
| | * | | drm/i915: Fix crash while aborting hibernationRafael J. Wysocki2010-02-111-67/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit cbda12d77ea590082edb6d30bd342a67ebc459e0 (drm/i915: implement new pm ops for i915) introduced the problem that if s2disk hibernation is aborted, the system will crash, because i915_pm_freeze() does nothing, while it should at least reverse some operations carried out by i915_suspend(). Fix this issue by splitting the i915 suspend into a freeze part a suspend part, where the latter is not executed before creating a hibernation image, and the i915 resume into a "low-level" resume part and a thaw part, where the former is not executed after the image has been created. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl> Tested-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk> Signed-off-by: Eric Anholt <eric@anholt.net>
| | * | | drm/i915: Correctly return -ENOMEM on allocation failure in cmdbuf ioctls.Owain Ainsworth2010-02-112-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Owain G. Ainsworth <oga@openbsd.org> Signed-off-by: Eric Anholt <eric@anholt.net>
| | * | | drm/i915: fix pipe source image setting in flip commandZhenyu Wang2010-02-101-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MI_DISPLAY_FLIP command needs to be set the same pipe source image like in pipe source register, e.g source image size minus one. This fixes screen corrupt issue on Ironlake. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>
| | * | | drm/i915: fix flip done interrupt on IronlakeZhenyu Wang2010-02-101-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Ironlake plane flip interrupt means flip done event already, the behavior is not like old chips, and perform like other usual interrupt. So only need to handle flip done event when receiving that interrupt. Signed-off-by: Zhenyu Wang <zhenyuw@linux.intel.com> Signed-off-by: Eric Anholt <eric@anholt.net>