summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* sound: add Edirol UA-101 supportClemens Ladisch2009-12-147-86/+1478
| | | | | | | Add experimental support for the Edirol UA-101 audio/MIDI interface. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: sound/isa/gus: Correct code taking the size of a pointerJulia Lawall2009-12-141-1/+2
| | | | | | | | | | | | | | | | | | | | | sizeof(share_id) is just the size of the pointer. On the other hand, block->share_id is an array, so its size seems more appropriate. A simplified version of the semantic patch that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression *x; expression f; type T; @@ *f(...,(T)x,...) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/hda' into for-linusTakashi Iwai2009-12-125-57/+175
|\
| * ALSA: hda - Overwrite pin config on intel DG45ID board.Alexey Fisher2009-12-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The pin config provided by BIOS have some problems: 0x0221401f: [Jack] HP Out at Ext Front <-- other association and sequence 0x02a19020: [Jack] Mic at Ext Front <-- other association 0x01113014: [Jack] Speaker at Ext Rear <-- line out (not speaker) 0x01114010: [Jack] Speaker at Ext Rear <-- line out 0x01a19030: [Jack] Mic at Ext Rear <-- other association 0x01111012: [Jack] Speaker at Ext Rear <-- line out 0x01116011: [Jack] Speaker at Ext Rear <-- line out 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x40f000f0: [N/A] Other at Ext N/A 0x01451140: [Jack] SPDIF Out at Ext Rear 0x40f000f0: [N/A] Other at Ext N/A just overwrite it. Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * intelhdmi - dont power off HDA linkWu Fengguang2009-12-113-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | For codecs without EPSS support (G45/IbexPeak), the hotplug event will be lost if the HDA is powered off during the time. After that the pin presence detection verb returns inaccurate info. So always power-on HDA link for !EPSS codecs. KarL offers the fact and Takashi recommends to flag hda_bus. Thanks! Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: intelhdmi - add channel mapping for typical configurationsWu Fengguang2009-12-111-22/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IbexPeak is the first Intel HDMI audio codec to support channel mapping. Currently the outstanding problem is, the HDMI channel order do not agree with that of ALSA. This patch presents workaround for some typical use cases. It gives priority to the typical ALSA surround configurations, and defines channel mapping for them. We may need better kernel+userspace interactive channel mapping scheme. For example, in current scheme if user plays with the surround50 device, the kernel is unaware of this and will still select the surround41 channel allocation and channel mapping.. Thanks to Marcin for offering good tips! Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: intelhdmi - channel mapping applies to PinWu Fengguang2009-12-111-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | HDA036-A specifies that the Audio Sample Packet (ASP) Channel Mapping verbs apply to Digital Display Pin Complex instead of Converter. With this fix, channel mapping is working as expected for IbexPeak. Thanks to Marcin for pointing this out! Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: intelhdmi - accept DisplayPort pinWu Fengguang2009-12-113-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | HDA036 spec states: DP (Display Port) indicates whether the Pin Complex Widget supports connection to a Display Port sink. Supported if set to 1. Note that it is possible for the pin widget to support more than one digital display connection type, e.g. HDMI and DP bit are both set to 1. Also export the DP pin cap in procfs. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - show HBR(High Bit Rate) pin cap in procfsWu Fengguang2009-12-112-1/+5
| | | | | | | | | | | | | | Note that the HBR capability only applies to HDMI pin. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix LED GPIO setup for HP laptops with IDT codecsVitaliy Kulikov2009-12-111-27/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes an error in processing of the HP BIOS configuration to enable GPIO based mute LED indicator control. That error causes driver to enable such control on all HP systems with the 92HD75 IDT codecs and results in unnecessary toggling of the GPIO on mute control manipulation. It also adds support of the future HP BIOS configuration extension for the named control. New configuration string has a format HP_Mute_LED_P_G where P can be 0 or 1 and defines mute LED GPIO control state (low/high) that corresponds to the NOT muted state of the master volume and G is the index of the GPIO to use (0..9) Lastly, it adds more systems to the support of the audio implementation as found on HP B-series systems Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/asoc' into for-linusTakashi Iwai2009-12-121-3/+3
|\ \
| * | ASoC: Fix build of OMAP sound driversOlof Johansson2009-12-101-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are build errors when building for some of the omap2/3 boards without enabling sound: sound/built-in.o:(.data+0x43bc): undefined reference to `soc_codec_dev_tlv320aic23' sound/built-in.o:(.data+0x43cc): undefined reference to `tlv320aic23_dai' Confused me quite a bit since the drivers that had references to the codec weren't enabled. Turns out the Makefile was using the wrong config option to enable them. Patch below. Reported-by: Anand Gadiyar <gadiyar@ti.com> Signed-off-by: Olof Johansson <olof@lixom.net> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | ALSA: hrtimer - Fix lock-upTakashi Iwai2009-12-111-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The timer stop callback can be called from snd_timer_interrupt(), which is called from the hrtimer callback. Since hrtimer_cancel() waits for the callback completion, this eventually results in a lock-up. This patch fixes the problem by just toggling a flag at stop callback and call hrtimer_cancel() later. Reported-and-tested-by: Wojtek Zabolotny <W.Zabolotny@elka.pw.edu.pl> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: opti93x: fix irq releasing if the irq cannot be allocatedKrzysztof Helt2009-12-101-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | Use the chip->irq to check if the irq should be released so the irq is not released if it has not been allocated. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'topic/asoc' into for-linusTakashi Iwai2009-12-091-3/+3
|\| |
| * | ASoC: Wrong variable returned on errorRoel Kluin2009-12-081-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | The wrong variable was returned in the case of an error Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge branch 'topic/hda' into for-linusTakashi Iwai2009-12-095-11/+145
|\ \ \ | | |/ | |/|
| * | ALSA: hda/realtek: quirk for D945GCLF2 mainboardDavid Santinoli2009-12-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Quirk for the ALC662 found on the Intel D945GCLF2 (and possibly other) mainboards. Signed-off-by: David Santinoli <david@santinoli.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Terradici HDA controllers does not support 64-bit modeJaroslav Kysela2009-12-091-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | Confirmed from vendor and tests in RedHat bugzilla #536782 . Signed-off-by: Jaroslav Kysela <perex@perex.cz> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: document: Add direct git link to grub hda-analyzerAlexey Fisher2009-12-091-2/+4
| | | | | | | | | | | | | | | | | | | | | Just to save some time, add direct git link to grub hda-analyzer Signed-off-by: Alexey Fisher <bug-track@fisher-privat.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Generalize EAPD inversion check in patch_analog.cTakashi Iwai2009-12-081-8/+9
| | | | | | | | | | | | | | | | | | | | | Add a flag to spec field so that the EAPD inversion can be checked outside the relevant control callbacks. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Exclude unusable ADCs for ALC88xTakashi Iwai2009-12-081-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Realtek codecs, a digital mic pin is connected often only to a single ADC. But the parser tries to set up all ADCs no matter whether the digital mic is available, and results in non-selectable input source. This patch adds a check of input-source availability of each ADC, and excludes ones that don't support all input sources. Reference: Novell bnc#561235 http://bugzilla.novell.com/show_bug.cgi?id=561235 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add missing Line-Out and PCM switches as slaveTakashi Iwai2009-12-081-0/+2
| | | | | | | | | | | | | | | | | | | | | Realtek codecs may have "PCM" and "Line-Out" playback switches, and they can be slaves for vmaster. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - iMac 9,1 sound patch.Justin P. Mattock2009-12-082-0/+112
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is an updated patch for the Apple iMac 9,1 model to add sound. Original patch posted here: http://article.gmane.org/gmane.linux.alsa.devel/61361/match= I have been using this patch for a while now and have to say it works vary well, except for a few minor things: With the iMac 24-inch 3.06GHz Intel Core 2 Duo everything seems to be working as it should, although I have not looked into the microphone (never really use one, nor have any apps to test, my guess is it doesn't work, or I never figured out how to get it to work). With the iMac 24-inch 2.66GHz Intel Core 2 Duo everything is the same as with the above machine except I'm hearing a light scratchy/distortion noise come out of the speakers when using headphones(above machine does not do this). Other than that the sound level is great(especially with good Dj headphones). Signed-off-by: Justin P. Mattock <justinmattock@gmail.com> Tested-by: Justin P. Mattock <justinmattock@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: ice1724 - aureon - modify WM8770 Master & DAC volumeJaroslav Kysela2009-12-091-24/+7Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The volume levels in original implementation are incorrect and does not match the dB scale. The real range is linear (in the sense of the dB scale) from 0dB to -100dB. Remove logaritmic table and make all volumes from range 0dB..100dB. The tests are in RedHat's bugzilla #540817. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: radio/sound/miro: fix build, cleanup depends/selectsRandy Dunlap2009-12-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | miropcm20 uses ALSA (snd_) interfaces from the SND_MIRO driver, so it should depend on SND. (selecting SND_MIRO when CONFIG_SND is not enabled is a problem.) drivers/built-in.o: In function `vidioc_s_ctrl': radio-miropcm20.c:(.text+0x227499): undefined reference to `snd_aci_cmd' drivers/built-in.o: In function `vidioc_s_frequency': radio-miropcm20.c:(.text+0x227574): undefined reference to `snd_aci_cmd' radio-miropcm20.c:(.text+0x227588): undefined reference to `snd_aci_cmd' drivers/built-in.o: In function `pcm20_init': radio-miropcm20.c:(.init.text+0x2a784): undefined reference to `snd_aci_get_aci' miropcm20 selects SND_MIRO but SND_ISA may be not enabled, so also select SND_ISA so that the snd-miro driver will be built. Otherwise there are missing symbols: ERROR: "snd_opl4_create" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_pcm" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_timer" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_create" [sound/isa/opti9xx/snd-miro.ko] undefined! ERROR: "snd_wss_mixer" [sound/isa/opti9xx/snd-miro.ko] undefined! Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Mauro Carvalho Chehab <mchehab@infradead.org> Cc: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: snd-usb-us122l: add product IDs of US-122MKII and US-144MKIITobias Hansen2009-12-082-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | I added the product IDs of the new revisions of the devices, so owners can test whether this suffices to make them work. Patched against ALSA snapshot 20091207. Signed-off-by: Tobias Hansen <Tobias.Hansen at physik.uni-hamburg.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | ALSA: opti93x: set MC indirect registers base from PnP dataKrzysztof Helt2009-12-081-45/+67
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PnP data on the OPTI931 and OPTI933 contains io port range for the MC indirect registers. Use the PnP range instead of hardwired value 0xE0E. Also, request region of MC indirect registers so it is marked as used to other drivers (this was missing previously). Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'topic/hda' into for-linusTakashi Iwai2009-12-0448-2215/+9544
|\| |
| * | ALSA: hda - Fix memory leaks in the previous patchTakashi Iwai2009-12-031-7/+11
| | | | | | | | | | | | | | | | | | | | | The previous hack for replacing the codec name give memory leaks at error paths. This patch fixes them. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add ALC661/259, ALC892/888VD supportKailang Yang2009-12-031-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed List: 1. Add alc_read_coef_idx function 2. Add ALC661 ALC259 3. Add ALC892 ALC888VD Signed-off-by: Kailang Yang <kailang@realtek.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'topic/ice1724-quartet' into topic/hdaTakashi Iwai2009-12-0113-85/+2326
| |\ \
| | * | ALSA: ice1724 - Infrasonic Quartet supportPavel Hofman2009-09-214-1/+1144
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * three external clock types * all controls supported Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: ice1724 - Support for multiple external clock typesPavel Hofman2009-09-213-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Support for customization of the external clock names * Adding hooks to playback_pro_open and capture_pro_open, allowing e.g. limiting available stream rates to a single value when the external clock rate is detected Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: ice1724 - pro-rate-locking makes sense only for internal clock modePavel Hofman2009-09-211-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pro-rate-locking applies to internal clock mode only * required rate and current rate are compared for internal clock mode only Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: ice1724 - adding GPIO routines for mask and directionPavel Hofman2009-09-213-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * get/set routines for GPIO mask and direction Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: ak4113 supportPavel Hofman2009-09-213-1/+962
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * complete support for ak4113 * based on code for ak4114 and ak4117 Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: ak4620 support, codec regs listed in procPavel Hofman2009-09-213-54/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * complete support for ak4620 * codec regs listed in proc for all codecs/chips * adding total regs for each codec * fixing nb. of steps in input attenuation controls Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | ALSA: ak4114 - fix errors in output selector bitsPavel Hofman2009-09-211-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * the previous version had a typo - values of AK4114_OPS10-12 were identical with AK4114_OPS00-02 * Since no cards actually use this feature, the bug was not identified earlier Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'topic/oxygen' into topic/hdaTakashi Iwai2009-12-0114-1188/+2276
| |\ \ \
| | * | | sound: oxygen: fix input monitor control namesClemens Ladisch2009-09-281-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Insert "Playback" into the input monitor control names to prevent alsa-lib from treating these controls as global controls. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: add high-pass filter controlClemens Ladisch2009-09-281-2/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a control that allows disabling the high-pass filter of the WM8785 ADC. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: add digital filter controlClemens Ladisch2009-09-283-9/+223
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a control to select between sharp and slow roll-of filter responses of the DACs. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: virtuoso: add PCM1796 oversampling controlClemens Ladisch2009-09-281-25/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a control to increase the oversampling factor to 128x on cards with PCM1796 or PCM1792A DACs. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: allow custom MCLK ratesClemens Ladisch2009-09-286-4/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a callback that allows model drivers to modify the default I2S MCLK rate. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: virtuoso: add headphone impedance controlClemens Ladisch2009-09-281-11/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a mixer control to adjust the headphone amplifier output for headphones with different impedances. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: cache codec registersClemens Ladisch2009-09-284-152/+250
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Keep a cache of codec registers to avoid unnecessary writes. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: more hardware documentationClemens Ladisch2009-09-284-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add some comments describing the hardware pin routing. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: add stereo upmixing to center/LFE channelsClemens Ladisch2009-09-284-21/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the possibility to route a mix of the two channels of stereo data to the center and LFE outputs. This is implemented only for models where the DACs support this, i.e., for the Xonar D1 and DX. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | sound: oxygen: better defaults for upmixing controlClemens Ladisch2009-09-283-10/+3Star
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On card models with two-channel outputs, the base driver can automatically disable the upmixing control so that the model drivers do not need to do this. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>