aboutsummaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAge
* ALSA: hda - Restore VREF50 setup for ALC861-VD dallas/hp modelsTakashi Iwai2011-08-23
| | | | | | | | During the cleanup by commit 6727b12669f255dbf65b3d63c32cce1e3e967398, the specific setups for dallas and hp models, using VREF50 for mic pins, were lost. Fixed now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Rename to snd_hda_parse_pin_defcfg()Takashi Iwai2011-08-23
| | | | | | | ... and add a new bit-flags argument to specify the behavior of the function. The older function is kept as is (as a wrapper). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix initialization of multi-speaker output paths for RealtekTakashi Iwai2011-08-23
| | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-08-23
|\ | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * ALSA: hda - Fix double-headphone/speaker paths for Cxt auto-parserTakashi Iwai2011-08-23
| | | | | | | | | | | | | | | | | | When multiple headphones or speakers are assigned but no individual DACs are available, the driver should take the first HP/SPK DAC instead of another primary output. The patch adds a bit-flag to dac field of struct pin_dac_pair indicating that it's a slave DAC. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Update jack-sense info even when no automute is setTakashi Iwai2011-08-23
| | | | | | | | | | | | | | | | | | The internal states, jack_present and line_jack_present should be updated upon unsolicited events even if no automute is set. Otherwise the wrong state is referred when the automute behavior is changed by the mixer control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix output-path initialization for Realtek auto-parserTakashi Iwai2011-08-23
| | | | | | | | | | | | | | | | When the headphone or speaker output has no own DAC, initialize the path using the primary DAC. Otherwise the path won't be set properly and can result in the silence. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: sound/aoa/fabrics/layout.c: remove unneeded kfreeJulia Lawall2011-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The label outnodev is only used when kzalloc has not yet taken place or has failed, so there is no need for the call for kfree under this label. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ identifier x; expression E1!=0,E2,E3,E4; statement S; iterator I; @@ ( if (...) { ... when != kfree(x) when != x = E3 when != E3 = x * return ...; } ... when != x = E2 when != I(...,x,...) S if (...) { ... when != x = E4 kfree(x); ... return ...; } ) // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix error check from snd_hda_get_conn_index() in patch_cirrus.cTakashi Iwai2011-08-20
| | | | | | | | | | | | | | | | snd_hda_get_conn_index() returns a negative value while the current code stores it in an unsigned int. It must be stored in a signed integer. Reported-by: Jesper Juhl <jj@chaosbits.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Don't spew too many ELD errorsTakashi Iwai2011-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently HD-audio driver shows the all error ELD byte as an error in the kernel message. This is annoying when the video driver doesn't set the correct ELD from the beginning. e.g. radeon sends a zero-byte data, but we still check ELD with the fixed 128 byte as a workaround for some broken devices, it spews 128-times errors. For avoiding this, the driver aborts reading when the first byte is invalid. In such a case, the whole data is certainly invalid. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: usb-audio - Fix missing mixer dB informationTakashi Iwai2011-08-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The recent fix for testing dB range at the mixer creation time seems to cause regressions in some devices. In such devices, reading the dB info at probing time gives an error, thus both dBmin and dBmax are still zero, and TLV flag isn't set although the later read of dB info succeeds. This patch adds a workaround for such a case by assuming that the later read will succeed. In future, a similar test should be performed in a case where a wrong dB range is seen even in the later read. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
| * ALSA: hda - Add "PCM" volume to vmaster slave listTakashi Iwai2011-08-18
| | | | | | | | | | | | | | | | | | The new parser may use "PCM" volume, but it was missing the vmaster slave list, thus "Master" volume didn't control it. Reference: https://bugzilla.kernel.org/show_bug.cgi?id=41342 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC662 model=levono-101e model quirkTakashi Iwai2011-08-19
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Allow different assoc numbers for multiple speakersTakashi Iwai2011-08-19
| | | | | | | | | | | | | | | | | | | | In snd_hda_parse_pin_def_config(), we checked the associated number of speaker pins and accepts only one number exclusively. But many BIOS seem to give different assoc number for surround speakers, thus we'd better to accept all speaker pins no matter which assoc number, and sort like done for the headphone pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Support multiple speakers by Realtek auto-parserTakashi Iwai2011-08-19
| | | | | | | | | | | | | | | | Add the support of multiple speakers by Realtek auto-parser. When all speaker pins have individual DACs, create each speaker volume control. Otherwise, create a bind-volume control for all speaker outs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC662 eeepc-p701 and ecs modelsTakashi Iwai2011-08-18
| | | | | | | | | | | | These are confirmed to work with the auto-parser with pincfg fixups. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Get rid of left-over chunks by previous cleanupsTakashi Iwai2011-08-18
| | | | | | | | | | | | Also update the model description, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC861 uniwill-m31, toshiba, asus and asus-laptop modelsTakashi Iwai2011-08-18
| | | | | | | | | | | | These are confirmed to work with the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC268 model quirksTakashi Iwai2011-08-16
| | | | | | | | | | | | | | Get rid of the rest of ALC268 model quirks. They are all confirmed to work with the auto-parser, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Replace ALC269 quanta and lifebook models with fixupsTakashi Iwai2011-08-16
| | | | | | | | | | | | | | | | Implement new fixup entries for Quanta FL1 and Fujitsu Lifebook specific COEF and pin configurations. Removed the model entries from alc269_quirks.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC269 model=futjisu and AcerTakashi Iwai2011-08-16
| | | | | | | | | | | | Both are supported by the auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove acer, acer-aspire and acer-dmic models for ALC268Takashi Iwai2011-08-16
| | | | | | | | | | | | Moved some code to alc269_quirks.c for dependency, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-08-16
|\| | | | | | | | | Conflicts: sound/pci/hda/alc268_quirks.c
| * ALSA: hda - Fix duplicated capture-volume creation for ALC268 modelsTakashi Iwai2011-08-16
| | | | | | | | | | | | | | | | Fix the duplicated creation of capture-mixer elements for some static ALC268 configurations. The capture mixers must be put to cap_mixer field instead of mixers array. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove dell, dell-zm1 and samsung-nc10 models for ALC272Takashi Iwai2011-08-16
| | | | | | | | | | | | The auto-parser works for these models. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC861VD Lenovo, Dallas, HP and V1S model quirksTakashi Iwai2011-08-15
| | | | | | | | | | | | These are covered by the auto-parser well enough. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC680 model quirksTakashi Iwai2011-08-15
| | | | | | | | | | | | The auto-parser works fine. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC268 Dell, Toshiba and Zapto model quirksTakashi Iwai2011-08-15
| | | | | | | | | | | | These models work fine with the BIOS auto-parser. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC260 HP model quirksTakashi Iwai2011-08-15
| | | | | | | | | | | | | | | | ALC260 HP models work with the BIOS auto-parser. Let's cut them off. Also move alc260_hp_master_*() to alc262_quirks.c as these are still referred from there. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Remove ALC262 HP and sony-assamd quirksTakashi Iwai2011-08-15
| | | | | | | | | | | | | | HP and sony-assamd models work with the BIOS auto-parser nowadays, so let's reduce the unnecessary code. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add snd_hda_override_pin_caps() helper functionTakashi Iwai2011-08-15
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2011-08-15
|\|
| * ALSA: ac97: Add HP Compaq dc5100 SFF(PT003AW) to Headphone Jack Sense whitelistDaniel T Chen2011-08-15
| | | | | | | | | | | | | | | | | | | | | | | | BugLink: https://bugs.launchpad.net/bugs/826081 The original reporter needs 'Headphone Jack Sense' enabled to have audible audio, so add his PCI SSID to the whitelist. Reported-and-tested-by: Muhammad Khurram Khan Cc: <stable@kernel.org> Signed-off-by: Daniel T Chen <crimsun@ubuntu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: snd_usb_caiaq: track submitted output urbsDaniel Mack2011-08-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The snd_usb_caiaq driver currently assumes that output urbs are serviced in time and doesn't track when and whether they are given back by the USB core. That usually works fine, but due to temporary limitations of the XHCI stack, we faced that urbs were submitted more than once with this approach. As it's no good practice to fire and forget urbs anyway, this patch introduces a proper bit mask to track which requests have been submitted and given back. That alone however doesn't make the driver work in case the host controller is broken and doesn't give back urbs at all, and the output stream will stop once all pre-allocated output urbs are consumed. But it does prevent crashes of the controller stack in such cases. See http://bugzilla.kernel.org/show_bug.cgi?id=40702 for more details. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: Matej Laitl <matej@laitl.cz> Cc: Sarah Sharp <sarah.a.sharp@linux.intel.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * Merge branch 'fix/asoc' into for-linusTakashi Iwai2011-08-12
| |\
| | * ASoC: Fix compile warning in wm8750.cTakashi Iwai2011-08-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sound/soc/codecs/wm8750.c:784:2: warning: missing braces around initializer sound/soc/codecs/wm8750.c:784:2: warning: (near initialization for ‘wm8750_spi_ids[2].name’) It's because struct spi_device_id.name is a char array, not a pointer, while the driver initializes explicitly with 0. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * ASoC: omap: Update e-mail address of Jarkko NikulaJarkko Nikula2011-08-11
| | | | | | | | | | | | | | | | | | | | | | | | My gmail account got disabled and I'm not going to reopen it. Signed-off-by: Jarkko Nikula <jarkko.nikula@bitmer.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: SAMSUNG: Add I2S0 internal dma driverSangbeom Kim2011-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I2S in Exynos4 and S5PC110(S5PV210) has a internal dma. It can be used low power audio mode and 2nd channel transfer. This patch can support idma. [Reapplied after dependencies propagated through in 3.1-rc1. --broonie] Signed-off-by: Sangbeom Kim <sbkim73@samsung.com> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> Acked-by: Liam Girdwood <lrg@ti.com> Acked-by: Jassi Brar <jassisinghbrar@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Terminate WM8750 SPI device ID tableMark Brown2011-08-10
| | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
| | * ASoC: Add missing break in WM8994 probeMark Brown2011-08-10
| | | | | | | | | | | | | | | | | | | | | | | | This error would have no effect on current silicon revisions, the fall through case has the same behaviour. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
| | * ASoC: Fix typo in wm8750 spi_idsMark Brown2011-08-10
| | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
| | * ASoC: Fix warning in Speyside WM8962Mark Brown2011-08-09
| | | | | | | | | | | | | | | Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
| | * ASoC: Fix SPI driver binding for WM8987Mark Brown2011-08-09
| | | | | | | | | | | | | | | | | | | | | | | | As we had no id_table only the driver name would be matched against meaning that WM8987 devices wouldn't be bound. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com>
| | * ASoC: Fix binding of WM8750 on JiveMark Brown2011-08-09
| | | | | | | | | | | | | | | | | | | | | | | | The I2C address is misformatted and would never match. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
| | * ASoC: WM8903: Free IRQ on device removalStephen Warren2011-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, request_irq on subsequent device initialization fails, and the codec cannot be used. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Tegra: wm8903 machine driver: Allow re-insertion of moduleStephen Warren2011-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Two issues were preventing module snd-soc-tegra-wm8903.ko from being removed and re-inserted: a) The speaker-enable GPIO is hosted by the WM8903 chip. This GPIO must be freed before snd_soc_unregister_card() is called, because that triggers wm8903.c:wm8903_remove(), which calls gpiochip_remove(), which then fails if any of the GPIOs are in use. To solve this, free all GPIOs first, so the code doesn't care where they come from. b) We need to call snd_soc_jack_free_gpios() to match the call to snd_soc_jack_add_gpios() during initialization. Without this, the call to snd_soc_jack_add_gpios() fails during any subsequent modprobe and initialization, since the GPIO and IRQ are already registered. In turn, this causes the headphone state not to be monitored, so the headphone is assumed not to be plugged in, and the audio path to it is never enabled. Signed-off-by: Stephen Warren <swarren@nvidia.com> Cc: stable@kernel.org Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
| | * ASoC: Tegra: tegra_pcm_deallocate_dma_buffer: Don't OOPSStephen Warren2011-08-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not all PCM devices have all sub-streams. Specifically, the SPDIF driver only supports playback and hence has no capture substream. Check whether a substream exists before dereferencing it, when de-allocating DMA buffers in tegra_pcm_deallocate_dma_buffer. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
| * | ALSA: snd-usb-caiaq: Correct offset fields of outbound iso_frame_descDaniel Mack2011-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes faulty outbount packets in case the inbound packets received from the hardware are fragmented and contain bogus input iso frames. The bug has been there for ages, but for some strange reasons, it was only triggered by newer machines in 64bit mode. Signed-off-by: Daniel Mack <zonque@gmail.com> Reported-and-tested-by: William Light <wrl@illest.net> Reported-by: Pedro Ribeiro <pedrib@gmail.com> Cc: stable@kernel.org Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: azt3328 - adjust error handling code to include debugging codeJulia Lawall2011-08-10
| | | | | | | | | | | | | | | | | | | | | | | | snd_azf3328_dbgcallenter is called at the very beginning of the function, so it could be useful to call snd_azf3328_dbgcallleave at all exit points. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add CONFIG_SND_HDA_POWER_SAVE to stac_vrefout_set()Wang Shaoyan2011-08-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit 45eebda7, it add new function stac_vrefout_set, but it is only used in code between CONFIG_SND_HDA_POWER_SAVE macro, so add the macro to avoid such warning: sound/pci/hda/patch_sigmatel.c:676:12: warning: 'stac_vrefout_set' defined but not used Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>