Add a quirk model=acer-aspire for Acer Ferrari 5000 with ALC883 codec.
Note that model=auto doesn't work for this laptop because of broken BIOS
(that doesn't set the subsystem id properly).
Tested-by: Russ Dill <russ.dill@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Replace with the standard function calls to use caches for reading
the widget caps and pin caps.
hda_proc.c is still using the direct verbs to get raw values as
much as possible.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
In patch_realtek.c, don't create empty or single-item "Input Source"
control elements that are simply superfluous.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The check for the amp-output must be done for widget-caps rather than
pin-caps as implemented in the recent change... Simply a thinko.
Also, add the similar checks to all places that put output-amp mutes
in the initialization.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Added snd_hda_query_pin_caps() to read and cache pin-cap values
to avoid too frequently issuing the same verbs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Don't set amp-out values to pins without PINCAP_OUT capability,
which are usually assigned for digital mics on ALC663/ALC272.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This patch does two things:
Output Intel HDA Function Id in /proc/asound/cardX/codec#X
Align Vendor/Subsystem/Revision Ids to 8 characters, front-padded with zeros
Before:
Vendor Id: 0x11d41884
Subsystem Id: 0x103c281a
Revision Id: 0x100100
After:
Function Id: 0x1
Vendor Id: 0x11d41884
Subsystem Id: 0x103c281a
Revision Id: 0x0100100
As report on the Kernel Bugzilla #12888
Signed-off-by: Pascal de Bruijn <pascal@unilogicnetworks.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Fix the detection of digital-mic inputs on ALC663 / ALC272 codecs
in the auto-detection mode. The automatic mic switch via plugging
isn't implemented yet, though.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
So far, the prepare callback is called multiple times, BDL entries
are reset and re-programmed at each time.
This patch adds the check to avoid the reset of BDL entries when the
same parameters are used.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
If ratesp or formatsp values are zero, wrong values are passed to ALSA's
the PCM midlevel code. The bug is showed more later than expected.
Also, clean a bit the code.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The position-buffer on ATI controllers are unreliable as well as
on VIA chips, thus the same workaround for DMA position reading as
VIA is useful for ATI.
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ATI controllers (at least some SB0600 models) appear buggy to handle
64bit DMA. As a workaround, reset GCAP bit0 and let the driver to
use only 32bit DMA on these controllers.
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
The previous commit breaks the (digital-) beep on ALC662.
ALC662 has the connection index 0x05 while ALC662 and ALC272 have the
index 0x04 for the beep widget.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
ALC662/663 codecs have Beep Amplifier Index 0x04 not 0x05 in 0x0b NID.
Confirmed by testing on real hardware.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>