- Apr 07, 2011
-
-
Takashi Iwai authored
Fixes the kernel warnings with IDT codecs like hda_codec: connection list not available for 0x1e Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
David Henningsson authored
In cases where there is only one internal mic connected to ADC 0x11, alc275_setup_dual_adc won't handle the case, so we need to add the ADC node to the array of candidates. Cc: stable@kernel.org BugLink: http://bugs.launchpad.net/bugs/752792 Reported-by: Vincenzo Pii Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Aaron Plattner authored
The MCP7x hardware computes the audio infoframe channel count automatically, but requires the audio driver to set the audio infoframe checksum manually via the Nv_VERB_SET_Info_Frame_Checksum control verb. When audio starts playing, nvhdmi_8ch_7x_pcm_prepare sets the checksum to (0x71 - chan - chanmask). For example, for 2ch audio, chan == 1 and chanmask == 0 so the checksum is set to 0x70. When audio playback finishes and the device is closed, nvhdmi_8ch_7x_pcm_close resets the channel formats, causing the channel count to revert to 8ch. Since the checksum is not reset, the hardware starts generating audio infoframes with invalid checksums. This causes some displays to blank the video. Fix this by updating the checksum and channel mask when the device is closed and also when it is first initialized. In addition, make sure that the channel mask is appropriate for an 8ch infoframe by setting it to 0x13 (FL FR LFE FC RL RR RLC RRC). Signed-off-by:
Aaron Plattner <aplattner@nvidia.com> Acked-by:
Stephen Warren <swarren@nvidia.com> Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 06, 2011
-
-
Tarek Soliman authored
There are many USB MIDI cables out there that have buggy firmware that reports it can do more than 4 bytes in a packet when they can only properly handle 4 This patch adds the ID of yet another one of those cables Signed-off-by:
Tarek Soliman <tarek@bashasoliman.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 05, 2011
-
-
David Henningsson authored
Without the "thinkpad" quirk, the dock mic in Lenovo X220 tablet edition won't work. BugLink: http://bugs.launchpad.net/bugs/751033 Cc: stable@kernel.org Tested-by:
James Ferguson <james.ferguson@canonical.com> Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Apr 03, 2011
-
-
Stephen Warren authored
wordsize is used as the textual width of a register address. regsize is used as the textual width of a register value. The assignments to these values were swapped. In the case of WM8903, which has 8-bit register addresses and 16-bit register values, this caused the register values to be clipped to 2 digits instead of the full 4. Signed-off-by:
Stephen Warren <swarren@nvidia.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Vasily Khoruzhick authored
pxa2xx_pcm_hw_free frees dma channel and sets prtd->dma_ch to -1, but does not set prtd->params to NULL, so if pxa2xx_pcm_hw_params will be called immediately, it leaves prtd->dma_ch initialized with -1, and it results in oops in __pxa2xx_pcm_prepare. This bug is triggered via SDL. This patch adds check for prtd->dma_ch to __pxa2xx_pcm_prepare and cleans prtd->params, so now it works properly. Signed-off-by:
Vasily Khoruzhick <anarsoul@gmail.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
- Apr 01, 2011
-
-
Kelly Anderson authored
When period interrupts are disabled, snd_pcm_update_hw_ptr0() compares the current time against the time estimated for the current hardware pointer to detect xruns. The somewhat fuzzy threshold in the while loop makes it possible that hdelta becomes negative; the comparison being done with unsigned types then makes the loop go through the entire 263 negative range, and, depending on the value, never reach an unsigned value that is small enough to stop the loop. Doing this with interrupts disabled results in the machine locking up. To prevent this, ensure that the loop condition uses signed types for both operands so that the comparison is correctly done. Many thanks to Kelly Anderson for debugging this. Reported-by:
Nix <nix@esperi.org.uk> Reported-by:
"Christopher K." <c.krooss@googlemail.com> Reported-and-tested-by:
Kelly Anderson <kelly@silka.with-linux.com> Signed-off-by:
Kelly Anderson <kelly@silka.with-linux.com> [cl: remove unneeded casts; use a temp variable] Signed-off-by:
Clemens Ladisch <clemens@ladisch.de> Cc: 2.6.38 <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Mar 31, 2011
-
-
David Henningsson authored
This quirk is needed for the docking station mic of Lenovo Thinkpad X220 to function correctly. BugLink: http://bugs.launchpad.net/bugs/746259 Cc: stable@kernel.org Tested-by:
James Ferguson <james.ferguson@canonical.com> Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Lucas De Marchi authored
Fixes generated by 'codespell' and manually reviewed. Signed-off-by:
Lucas De Marchi <lucas.demarchi@profusion.mobi>
-
- Mar 30, 2011
-
-
Ingo Molnar authored
This is further fallout from delay.h removal from asm/apic.h and asm/dma.h: ca444564: x86: Stop including <linux/delay.h> in two asm header files Which caused this build failure: sound/soc/codecs/sn95031.c: In function ‘sn95031_get_mic_bias’: sound/soc/codecs/sn95031.c:153:2: error: implicit declaration of function ‘msleep’ [-Werror=implicit-function-declaration] Cc: Jean Delvare <khali@linux-fr.org> Cc: James E.J. Bottomley <James.Bottomley@suse.de> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> LKML-Reference: <20110325152014.297890ec@endymion.delvare> Signed-off-by:
Ingo Molnar <mingo@elte.hu>
-
Clemens Ladisch authored
To make the EV1938 chip work, add a magic bit and an extra delay. Signed-off-by:
Clemens Ladisch <clemens@ladisch.de> Tested-by:
Tino Schmidt <mailtinoshomepage@gmx.net> Cc: all 2.6.x <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Clemens Ladisch authored
When aborting a PCM stream, the xrun is signaled only if the stream is running. When disconnecting a PCM stream, calling snd_card_disconnect() too early would change the stream into a non-running state and thus prevent the xrun from being noticed by user space. To prevent this, move the snd_card_disconnect() call after the xrun. Signed-off-by:
Clemens Ladisch <clemens@ladisch.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Mar 29, 2011
-
-
Antonio Ospite authored
Fix the initialization of .codec_dai_name in zylonite_dai initializer, do not mix it with the initialization of .codec_name which is set already a few lines above. Signed-off-by:
Antonio Ospite <ospite@studenti.unina.it> Acked-by:
Eric Miao <eric.y.miao@gmail.com> Acked-by:
Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com>
-
Thomas Gleixner authored
I had seen that before, but now that I removed set_irq_wake it broke. Signed-off-by:
Thomas Gleixner <tglx@linutronix.de>
-
Mark Brown authored
Got typoed in the multi-component changes. Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by:
Liam Girdwood <lrg@ti.com> Cc: stable@kernel.org
-
- Mar 28, 2011
-
-
Takashi Iwai authored
Use pin-fix instead of the static quirk for Gigabyte mobos 1458:a002. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=677256 Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Mar 26, 2011
-
-
Wolfram Sang authored
SSI counts in words, the DMA engine in bytes. (Wrong) factor got removed in bf974a0d (ASoC i.MX: switch to new DMA api). Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Liam Girdwood <lrg@ti.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
-
Wolfram Sang authored
They got accidently removed by f0fba2ad (ASoC: multi-component - ASoC Multi-Component Support). Reintroduce them and get rid of the superfluous defines because the fiq-driver has its own hardcoded values. Signed-off-by:
Wolfram Sang <w.sang@pengutronix.de> Acked-by:
Liam Girdwood <lrg@ti.com> Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@kernel.org
-
Axel Lin authored
Signed-off-by:
Axel Lin <axel.lin@gmail.com> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
Peter Ujfalusi authored
Register 0x40, 0x41 need to be restored after power up, since it contains gain related fields, which affects playback volume. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
- Mar 25, 2011
-
-
Takashi Iwai authored
This patch fixes a race between snd_card_file_remove() and snd_card_disconnect(). When the card is added to shutdown_files list in snd_card_disconnect(), but it's freed in snd_card_file_remove() at the same time, the shutdown_files list gets corrupted. The list member must be freed in snd_card_file_remove() as well. Reported-and-tested-by:
Russ Dill <russ.dill@gmail.com> Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Eliot Blennerhassett authored
Replace local VPRINTK1 with snd_printdd. Create local snd_printddd instead of VPRINTK2 for most verbose debug. In most cases let snd_printk supply default level for messages. Signed-off-by:
Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Eliot Blennerhassett authored
Make playback silence callback a no-op, card automatically outputs silence when written data runs out. Increasing update interval and thus minimum period avoids xrun on startup or because of timer jitter. Signed-off-by:
Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Eliot Blennerhassett authored
Cards without settable local samplerate and without SRC still must have a valid samplerate. This fixed rate is determined by reading the current rate for the card. Signed-off-by:
Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
David Henningsson authored
For codec AD1984A, add a new model to support Dell Precision R5500 or the microphone jack won't work correctly. BugLink: http://bugs.launchpad.net/bugs/741516 Tested-by:
Kent Baxley <kent.baxley@canonical.com> Cc: stable@kernel.org Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Benjamin Herrenschmidt authored
It's a big no-no to use pgprot_noncached() when mmap'ing such buffers into userspace since they are mapped cachable in kernel space. This can cause all sort of interesting things ranging from to garbled sound to lockups on various architectures. I've observed that usb-audio is broken on powerpc 4xx for example because of that. Also remove the now unused snd_pcm_lib_mmap_noncached(). It's an arch business to know when to use uncached mappings, there's already hacks for MIPS inside snd_pcm_default_mmap() and other archs are supposed to use dma_mmap_coherent(). (See my separate patch that adds dma_mmap_coherent() to powerpc) Signed-off-by:
Benjamin Herrenschmidt <benh@kernel.crashing.org> CC: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Mar 23, 2011
-
-
Takashi Iwai authored
The commit 5a8cfb4e ALSA: hda - Use ALC_INIT_DEFAULT for really default initialization changed to use the default initialization method for ALC889, but this caused a regression on SPDIF output on some machines. This seems due to the COEF setup included in the default init procedure. For making SPDIF working again, the COEF-setup has to be avoided for the id 0889. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=24342 Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Keith A. Milner authored
Signed-off-by:
Keith A. Milner <maillist@superlative.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Clemens Ladisch authored
Add a quirk for the Cakewalk UM-1G USB MIDI interface in "advanced driver" mode. (It already works in standard mode.) Signed-off-by:
Clemens Ladisch <clemens@ladisch.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Dan Rosenberg authored
User-controllable indexes for voice and channel values may cause reading and writing beyond the bounds of their respective arrays, leading to potentially exploitable memory corruption. Validate these indexes. Signed-off-by:
Dan Rosenberg <drosenberg@vsecurity.com> Cc: stable@kernel.org Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Dan Rosenberg authored
Was: [PATCH] sound/oss/midi_synth: prevent underflow, use of uninitialized value, and signedness issue The offset passed to midi_synth_load_patch() can be essentially arbitrary. If it's greater than the header length, this will result in a copy_from_user(dst, src, negative_val). While this will just return -EFAULT on x86, on other architectures this may cause memory corruption. Additionally, the length field of the sysex_info structure may not be initialized prior to its use. Finally, a signed comparison may result in an unintentionally large loop. On suggestion by Takashi Iwai, version two removes the offset argument from the load_patch callbacks entirely, which also resolves similar issues in opl3. Compile tested only. v3 adjusts comments and hopefully gets copy offsets right. Signed-off-by:
Dan Rosenberg <drosenberg@vsecurity.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Andres Salomon authored
Use mfd_data for passing information from mfd drivers to soc clients. The mfd_cell's driver_data field is being phased out. Clients that were using driver_data now access .mfd_data via mfd_get_data(). Signed-off-by:
Andres Salomon <dilinger@queued.net> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Samuel Ortiz <sameo@linux.intel.com>
-
Andres Salomon authored
Use mfd_data for passing information from mfd drivers to soc clients. The mfd_cell's driver_data field is being phased out. Clients that were using driver_data now access .mfd_data via mfd_get_data(). Signed-off-by:
Andres Salomon <dilinger@queued.net> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Samuel Ortiz <sameo@linux.intel.com>
-
Andres Salomon authored
The cell's platform_data is now accessed with a helper function; change clients to use that, and remove the now-unused data_size. Signed-off-by:
Andres Salomon <dilinger@queued.net> Acked-by:
Peter Ujfalusi <peter.ujfalusi@nokia.com> Signed-off-by:
Samuel Ortiz <sameo@linux.intel.com>
-
Andres Salomon authored
The cell's platform_data is now accessed with a helper function; change clients to use that, and remove the now-unused data_size. Signed-off-by:
Andres Salomon <dilinger@queued.net> Signed-off-by:
Samuel Ortiz <sameo@linux.intel.com>
-
David Henningsson authored
Similar to commit 7e59e097, this patch avoids unnecessary volume control indices for more Realtek auto-parsers, e g the ALC66x family, on the "Surround" and "Side" controls. These indices cause these volume controls to be ignored by PulseAudio and vmaster and should be removed whenever possible. Cc: stable@kernel.org Reported-by:
Jan Losinski <losinski@wh2.tu-dresden.de> Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- Mar 22, 2011
-
-
Mark Brown authored
The regulator is optional depending on board design. Signed-off-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
Peter Ujfalusi authored
The lock is used within the interrupt handler. Correct the spinlock usage, and use irqsave/irqrestore flavour of spin_lock/unlock. Signed-off-by:
Peter Ujfalusi <peter.ujfalusi@nokia.com> Acked-by:
Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by:
Liam Girdwood <lrg@slimlogic.co.uk>
-
Lydia Wang authored
Since VT1708 didn't support the control of getting connection number, building of headphone control will fail in via_hp_build() function. Signed-off-by:
Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-