summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - add bounds checking for the codec command fieldsWu Fengguang2009-07-171-1/+11
| | | | | | | | | | | | | A recent bug involves passing auto detected >0x7f NID to codec command, creating an invalid codec addr field, and finally lead to cmd timeout and fall back into single command mode. Jaroslav fixed that bug in alc880_parse_auto_config(). It would be safer to further check the bounds of all cmd fields. Cc: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add support for new AMD HD audio devicesAndiry Brienza2009-07-171-1/+5
| | | | | | | | Add support for new AMD HD audio devices. Use generic driver to detect HD audio devices with Vendor ID AMD. Signed-off-by: Andiry Xu <andiry.xu@amd.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add CX20582 and OLPC XO-1.5 supportDaniel Drake2009-07-161-0/+479
| | | | | | | | | | | | | | | | | | | | | This adds support for the Conexant CX20582 codec, based on code from http://www.linuxant.com/alsa-driver/alsa-driver-linuxant-1.0.19ppch12-1.noarch.rpm.zip This is the codec to be shipped in the OLPC XO-1.5, so this patch also includes an XO-specific profile. Resultant configuration: http://dev.laptop.org/~dsd/20090713/codec0.txt http://dev.laptop.org/~dsd/20090713/codec0.svg As the Linuxant code is structured differently to the other codecs, I was unable to cleanly reimplement everything in the generic and Dell profiles as more info is needed (e.g. codec graphs). I simplified those profiles so that hopefully it will not break anyone's audio. If it does, it may be worth returning -ENODEV from patch_cx5066 on non-OLPC systems, and then fixing snd_hda_codec_configure() to fall back on the generic parser, at least until support for other systems is figured out. Signed-off-by: Daniel Drake <dsd@laptop.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Check codec errors in snd_hda_get_connections()Takashi Iwai2009-07-101-1/+6
| | | | | | | | | | | | The codec read errors in snd_hda_get_connections() are ignored so far, and it causes a problem like the bug in the commit 9d30937accf2c01e8b0bd59787409a7348cbbcb7 ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checking Better to check errors in the function and returns a proper error code rather than passing bogus NID values. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix the merge errorTakashi Iwai2009-07-101-1/+1
| | | | | | | Fix the merge error at the commit 305355aad89f1b7eb27cb210fad2f9d3c67b2572, an addition of the missing alc880_gpio3_init_verbs to ALC882_TARGA model. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-094-59/+88
|\ | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - targa and targa-2ch fixDavid Heidelberger2009-07-091-6/+6
| | | | | | | | | | | | | | | | | | Simplify ALC882_TARGA and return gpio3 to ALC883_TARGA_DIG and ALC883_TARGA_2ch_DIG, which I accidentally removed in commit id 64a8be74357477558183b43156c5536b642de134 Signed-off-by: David Heidelberger <d.okias@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - fix beep tone calculation for IDT/STAC codecsPaul Vojta2009-07-091-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | In the beep tone calculation for IDT/STAC codecs, lower numbers correspond to higher frequencies and vice versa. The current code has this backwards, resulting in beep frequencies which are way too high (and sound bad on tinny laptop speakers, resulting in complaints). [Also added hz <= 0 check by tiwai] Signed-off-by: Paul Vojta <vojta@math.berkeley.edu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Missing volume controls for Intel HDA (ALC269/EeePC)Darren Salt2009-07-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | There is a regression, introduced in aa202455eec51699e44f658530728162cefa1307 (in alsa-kernel) which I noticed when trying to use the headphone socket on my EeeCPC 901: the output was *very* quiet, practically silent. This patch corrects the control types to that which was obviously intended in the referenced commit. Signed-off-by: Darren Salt <linux@youmustbejoking.demon.co.uk> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Disable AMD SB600 64bit address support onlyAndiry Brienza2009-07-081-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | HDA driver disabled HD audio 64bit address support for all AMD SB600/SB700/SB800 platforms with commit 09240cf429505891d6123ce14a29f58f2a60121e due to one SB600 issue reported by community, but we do not see the similar issue on SB700/SB800 platforms. This patch is to refine the workaround for SB600 only. Signed-off-by: Andiry Xu <andiry.xu@amd.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Check widget types while parsing capture source in patch_via.cTakashi Iwai2009-07-081-1/+5
| | | | | | | | | | | | | | | | | | Check the widget type and don't take invalid widgets while parsing the capture source in patch_via.c. Also, fixed some compile warnings introduced in the previous commit. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix capture source selection in patch_via.cTakashi Iwai2009-07-071-19/+35
| | | | | | | | | | | | | | | | | | | | | | The fixed widget NIDs in patch_via.c seem wrong for some codecs, and it resulted in the invalid capture source selection. This patch adds the code to parse the topology instead of using fixed numbers in order to get the right MUX widget id corresponding to the ADCs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add missing EAPD initialization for VIA codecsTakashi Iwai2009-07-071-0/+3
| | | | | | | | | | | | | | | | If the output pin is used and EAPD capability is present, turn on the EAPD bit. This fixes the silent output problem on ASUS laptops with VT1708S codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Clean up VT170x dig-in initialization codeTakashi Iwai2009-07-071-17/+7
| | | | | | | | | | | | | | Minor clean up for initializing the digital-in pin. No functional changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Fix error path in the sanity check in azx_pcm_open()Takashi Iwai2009-07-051-7/+11
| | | | | | | | | | | | | | Release resources cleanly after errors in the sanity check in azx_pcm_open(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add quirks for RTL888 & RV630/M76 based MSI GX710William Weston2009-07-081-0/+2
| | | | | | | | | | Signed-off-by: William Weston <weston@sysex.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-043-6/+19
|\|
| * ALSA: hda - move 8086:fb30 quirk (stac9205) to the proper sectionHerton Ronaldo Krzesinski2009-07-041-2/+2
| | | | | | | | | | Signed-off-by: Herton Ronaldo Krzesinski <herton@mandriva.com.br> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add sanity check in PCM open callbackTakashi Iwai2009-07-031-0/+6
| | | | | | | | | | | | | | | | Add some sanity checks of struct snd_pcm_hardware fields in the PCM open callback of hda driver. This makes a bit easier to debug any PCM setup errors in the codec side. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Call snd_pcm_lib_hw_rates() again after codec open callbackTakashi Iwai2009-07-031-0/+1
| | | | | | | | | | | | | | | | The PCM rates bit field may have been changed by the codec open callback. In that case, we need to reset rate_min and rate_max. So, simply call snd_pcm_lib_hw_rates() again after the codec open callback. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Avoid invalid formats and rates with shared SPDIFTakashi Iwai2009-07-031-4/+10
| | | | | | | | | | | | | | | | | | Check whether formats and rates don't result in zero due to the restriction of SPDIF sharing. If any of them can be zero, disable the SPDIF sharing mode instead. Otherwise it will lead to a PCM configuration error. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Don't override maxbps for FLOAT sharing with linear formatsTakashi Iwai2009-07-031-2/+3
| | | | | | | | | | | | | | | | | | | | When FLOAT PCM format is available but together with other linear PCM formats, don't override maxbps value. For FLOAT format, it's always 32, thus it can be better checked in snd_hda_calc_stream_format(). Otherwise the maxbps 32 might be used wrongly even if the linear PCM doesn't support it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-032-20/+31
|\|
| * ALSA: hda - Improve ASUS eeePC 1000 mixerTakashi Iwai2009-07-031-19/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | The mixer elements created for ASUS eeePC 1000 with ALC269 aren't standard but strange words like "LineOut". Rename the element names to follow the standard one like "Headphone" and "Speaker". Also, split the volumes to each so that the virtual master can control them. The alc269_fujitsu_mixer is removed because it's now identical with the new eeepc mixer. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add GPIO1 control at muting with HP laptopsTakashi Iwai2009-07-031-1/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | HP laptops with AD1984A codecs (at least mobile models) need to set GPIO1 appropriately to indicate the mute state. The BIOS checks this bit to judge whether the mute on or off is sent via F8 key. Without changing this bit, the BIOS can be confused and may toggle the mute wrongly. Reference: Novell bnc#515266 https://bugzilla.novell.com/show_bug.cgi?id=515266 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Manually expand alc882_init_verbsTakashi Iwai2009-07-031-12/+14
| | | | | | | | | | | | | | | | Instead of expanding alc882_init_verbs to two elements via a macro, manually expand to each entry. This makes clear that some have already the full slot for init_verbs array (currently 5). Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Add missing mixer amp initialization for ALC882Takashi Iwai2009-07-031-0/+7
| | | | | | | | | | | | | | | | | | After merting patch_alc882() and patch_alc883(), the initialization of mixer amp 0x0b was missing in alc882_base_init_verbs[]. This is usually no critical problem, but it can disable the power-saving as the default state, so better to put to mute these channels. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-07-012-1/+2
|\|
| * ALSA: hda - Add quirk for HP 6930pTakashi Iwai2009-07-011-0/+1
| | | | | | | | | | | | Added a quirk model=laptop for HP 6930p (103c:30dc) with AD1984A codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: hda - Add missing static to patch_ca0110()Takashi Iwai2009-07-011-1/+1
| | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Allow FLOAT PCM formatTakashi Iwai2009-07-011-3/+3
| | | | | | | | | | | | | | | | | | | | So far, the FLOAT PCM format is used only exclusivley set. But this can be a combination with other formats. This patch changes the parser to allow the FLOAT format in addition to other PCM formats. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Fix input pinctl for ALC882 auto modeTakashi Iwai2009-06-301-4/+1
| | | | | | | | | | | | | | | | | | alc882_auto_init_analog_input() sets the input pins to VREF-80 regardless of the input pin types although it shouldn't be for line-in pins. This patch fixes the behavior to follow other codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | ALSA: hda - Merge patch_alc882() and patch_alc883()Takashi Iwai2009-06-302-1150/+691
| | | | | | | | | | | | | | Merge patch_alc882() and patch_alc883() to the former one since both codecs have fairly similar connections but just a slight difference. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda-patch' into topic/hdaTakashi Iwai2009-06-308-33/+342
|\ \
| * | ALSA: hda - More description about patch module optionTakashi Iwai2009-06-242-1/+19
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add description about patch loadingTakashi Iwai2009-06-241-0/+46
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add patch module optionTakashi Iwai2009-06-244-21/+257
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the patch module option to apply a "patch" as a firmware to modify pin configurations or give additional hints to the driver before actually initializing and configuring the codec. This can be used as a workaround when the BIOS doesn't give sufficient information or give wrong information that doesn't match with the real hardware setup, until it's fixed statically in the driver via a quirk. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Don't call snd_hda_codec_configure in snd_hda_codec_new()Takashi Iwai2009-06-244-12/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The codec setup call via snd_hda_codec_configure() isn't necessarily called in snd_hda_codec_new(). For the later added feature, it's better to change the code flow like: - create all codec instances - configure each codec Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2009-06-301-8/+38
|\ \ \ | | |/ | |/|
| * | ALSA: hda - Add missing initializations for ALC268 and ALC269Takashi Iwai2009-06-291-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During the changes to clean up / fix the realtek codec initialization routines in commit 4a79ba34cada6a5a4ee86ed53aa8a73ba1e6fc51, I forgot to add the check for ALC268 and ALC269. This resulted in the missing EAPD and COEF setup for these codecs. This patch adds the missing checks for these codecs. Reference: bko#13633 http://bugzilla.kernel.org/show_bug.cgi?id=13633 Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Line In for Acer Inspire 6530G modelTony Vroon2009-06-291-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Line In connector is set up as PIN_IN by default, using VREF_HIZ. It is connected to both ADCs, so add it to both input selectors. Also add the ability to use the input mix (on a SoundBlaster one would call this "What You Hear"). Signed-off-by: Tony Vroon <tony@linx.net> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930GTakashi Iwai2009-06-251-1/+1
| | | | | | | | | | | | | | | | | | | | | For Acer Aspire 6930G (1025:015e), acre-aspire-6530g model matches obviously better. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix acer-aspire-6530g model quirkEmilio López2009-06-251-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the following bugs of acer-aspire-6530g model with ALC888: - HP jack to mute all speaker outputs including LFE - Make digital built-in mic working Signed-off-by: Emilio López <buhitoescolar@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add pin-sense trigger when needed for Realtek codecsTakashi Iwai2009-06-251-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Realtek codecs require the pin-sense trigger call before actually reading the pin-sense. Without this, the pin-detection might not be done accurately. This patch adds the pin-capability check and issues the trigger call if required. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Merge branch 'fix/hda-samsung-p50' into topic/hdaTakashi Iwai2009-06-292-58/+71
|\ \ \
| * | | ALSA: hda - Fix support for Samsung P50 with AD1986A codecTakashi Iwai2009-06-242-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Samsung P50 requires the HP auto-muting unlike other Samsung models. Added a new model=samsung-p50 to support this. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Generalize the pin-detect quirk for Lenovo N100Takashi Iwai2009-06-241-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a new flag to ad_spec struct so that the same hack can be used for any other models (if any). This also allows other models to reuse the auto-mute functions. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - Simplify AD1986A mixer definitionsTakashi Iwai2009-06-241-56/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Split mixer element arrays of AD1986A models to several pieces so that each model can share the same mixer arrays. This removes lots of duplicated data. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | | ALSA: hda - Check "beep" hintTakashi Iwai2009-06-291-0/+4
| |/ / |/| | | | | | | | | | | | | | | | | Check the hint "beep" in snd_hda_attach_beep_device() to avoid the beep device creation if user doesn't want. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | | Linux 2.6.31-rc1v2.6.31-rc1Linus Torvalds2009-06-251-2/+2
| | |