aboutsummaryrefslogtreecommitdiffstats
path: root/sound
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda: warn on spurious responseWu Fengguang2009-08-031-1/+5
| | | | | | | To help disclose hardware bugs. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: remember last command for each codecWu Fengguang2009-08-031-5/+6
| | | | | Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: read CORBWP inside reg_lockWu Fengguang2009-08-031-1/+3
| | | | | | | This converts the last CORBWP access outside of reg_lock. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: take reg_lock in azx_init_cmd_io/azx_free_cmd_ioWu Fengguang2009-08-031-0/+4
| | | | | | | | Just for safety. azx_init_cmd_io() and azx_free_cmd_io() may be called when switching to single command mode. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: take cmd_mutex in probe_codec()Wu Fengguang2009-08-031-0/+2
| | | | | | | | | | Now that each codec will have its own module, it is possible for the user to load one codec while another one is running. So cmd_mutex would be a safe addition to probe_codec(). Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: track CIRB/CORB command/response states for each codecWu Fengguang2009-08-033-24/+56
| | | | | | | | | | | | | Recently we hit a bug in our dev board, whose HDMI codec#3 may emit redundant/spurious responses, which were then taken as responses to command for another onboard Realtek codec#2, and mess up both codecs. Extend the azx_rb.cmds and azx_rb.res to array and track each codec's commands/responses separately. This helps keep good codec safe from broken ones. Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527Takashi Iwai2009-08-031-1/+1
| | | | | | | | | | Use model=lenovo instead of model=dallas for Toshiba Satellite A135-S4527 with ALC861-VD codec. Reference: Novell bnc#526325 https://bugzilla.novell.com/show_bug.cgi?id=526325 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Increase PCM stream name buf in patch_realtek.cTakashi Iwai2009-07-311-2/+2
| | | | | | | The name buf with size 16 is too short for some codec names, e.g. truncated like "ALC861-VD Analo". Now the size is doubled. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda: fix out-of-bound hdmi_eld.sad[] writeRoel Kluin2009-07-291-2/+2
| | | | | | | | | e->sad[] is declared with size ELD_MAX_SAD=16, but the guard allows range 0-31. Signed-off-by: Roel Kluin <roel.kluin@gmail.com> Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Add quirk for Dell Studio 1555Takashi Iwai2009-07-281-0/+2
| | | | | | | | | Added a quirk entry for Dell Studio 1555. Reference: Novell bnc#525244 https://bugzilla.novell.com/show_bug.cgi?id=525244 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix mute control with some ALC262 modelsTakashi Iwai2009-07-241-17/+16
| | | | | | | | | | | | The master mute switch is wrongly implemented as checking the pointer instead of its value, thus it can be never muted. This patch fixes the issue. Reference: Novell bnc#404873 https://bugzilla.novell.com/show_bug.cgi?id=404873 Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* ALSA: hda - Restore GPIO1 properly at resume with AD1984ATakashi Iwai2009-07-221-1/+1
| | | | | | | | | | | | | The commit 099db17e66294b02814dee01c81d9abbbeece93e introduced a regression at suspend/resume where the GPIO1 bit isn't properly restored, thus the speaker output gets muted initially after resume. The fix is simple, use the cached write for storing GPIO data. Reference: Novell bnc#522764 https://bugzilla.novell.com/show_bug.cgi?id=522764 Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Use snprintf() to be saferTakashi Iwai2009-07-221-1/+1
| | | | | | | Use snprint() for creating the jack name string instead of sprintf() in patch_sigmatel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecsTakashi Iwai2009-07-201-2/+4
| | | | | | | | | | | | | | The recent rewrite of the codec parser for STAC9872 caused a regression for some Sony VAIO models that don't give proper pin default configs by BIOS. Even using model=vaio doesn't work because the pin definitions are set after the pin overrides. This patch fixes the pin definitions in patch_stac9872() to be put in the right place before the pin overrides. Also the patch adds the new quirk entry for VAIO F/S to have the correct pin default configs. Signed-off-by: Takashi Iwai <tiwai@suse.de> Cc: <stable@kernel.org>
* ALSA: hda - Add quirk for Gateway T6834c laptopHao Song2009-07-201-0/+1
| | | | | | | | | | | | Gateway T6834c laptops need EAPD always on while the default behavior for the STAC9205 reference board is to turn it off upon every HP plug. By using the special "eapd" model, which is first introduced for Gateway T1616 laptops for this same reason, this peculiarity can be properly handled. Signed-off-by: Hao Song <baritono.tux@gmail.com> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda_codec: Check for invalid zero connectionsJaroslav Kysela2009-07-191-0/+6
| | | | | | | | | To prevent "Too many connections" message and the error path for some HDMI codecs (which makes onboard audio unusable), check for invalid zero connections for CONNECT_LIST verb. Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda_intel: more strict alc880_parse_auto_config dig_nid checkingJaroslav Kysela2009-07-101-0/+6
| | | | | | | | | | | | | | | | | On some IbexPeak systems with ALC889A errors like "azx_get_response timeout, switching to polling mode: last cmd=0xaf9f000b" are produced, because non-existent codec #10 is wrongly accessed. The problem is that snd_hda_get_connections() returns out-of-range result for NID 0x1c (something like 0xf8f9 or 0xffff). This patch adds a check to alc880_parse_auto_config() to avoid using of this out-of-range NIDs. A better fix maybe to improve snd_hda_get_connections() routine to check for valid NID ranges if NIDs are expected as result. Signed-off-by: Jaroslav Kysela <perex@perex.cz> 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 - 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 - 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 - 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 - 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 'for-linus' of ↵Linus Torvalds2009-06-2317-183/+464
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: ALSA: hda - Make jack-plug notification selectable ALSA: ctxfi - Add PM support sound: seq_midi_event: fix decoding of (N)RPN events ALSA: hda - Add digital-mic support to ALC262 auto model ALSA: hda - Fix check of input source type for realtek codecs ALSA: hda - Add quirk for Sony VAIO Z21MN ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model ALSA: hda - Fix unsigned comparison in patch_sigmatel.c ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait sound: fix check for return value in snd_pcm_hw_refine ALSA: ctxfi - Allow unknown PCI SSIDs ASoC: Blackfin: update the bf5xx_i2s_resume parameters ASoC: Blackfin: keep better track of SPORT configuration state
| * Merge branch 'topic/seq-midi-fix' into for-linusTakashi Iwai2009-06-221-4/+4
| |\ | | | | | | | | | | | | * topic/seq-midi-fix: sound: seq_midi_event: fix decoding of (N)RPN events
| | * sound: seq_midi_event: fix decoding of (N)RPN eventsClemens Ladisch2009-06-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When decoding (N)RPN sequencer events into raw MIDI commands, the extra_decode_xrpn() function had accidentally swapped the MSB and LSB controller values of both the parameter number and the data value. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'topic/pcm-jiffies-check' into for-linusTakashi Iwai2009-06-221-1/+1
| |\ \ | | | | | | | | | | | | | | | | * topic/pcm-jiffies-check: sound: fix check for return value in snd_pcm_hw_refine
| | * | sound: fix check for return value in snd_pcm_hw_refineMariusz Kozlowski2009-06-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'params' is a pointer and looking at the code this probably should be a check for ioctl return value. Signed-off-by: Mariusz Kozlowski <m.kozlowski@tuxland.pl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'topic/misc' into for-linusTakashi Iwai2009-06-221-1/+5
| |\ \ \ | | | | | | | | | | | | | | | | | | | | * topic/misc: ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait
| | * | | ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_waitSimon Arlott2009-06-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's a large 500ms delay in snd_via82xx_codec_wait() that, at least on my hardware, appears to be unnecessary. The rest of the init of the card works without logging any warnings or errors and both audio and mixer settings work. This adds an "nodelay" parameter to disable this (undocumented in the code) large delay improving bootup time by 489-500ms. [ 1.034217] initcall alsa_card_via82xx_init+0x0/0x16 returned 0 after 505757 usecs vs. [ 0.533136] initcall alsa_card_via82xx_init+0x0/0x16 returned 0 after 15915 usecs Signed-off-by: Simon Arlott <simon@fire.lp0.eu> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | Merge branch 'topic/hda' into for-linusTakashi Iwai2009-06-224-61/+71
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * topic/hda: ALSA: hda - Make jack-plug notification selectable ALSA: hda - Add digital-mic support to ALC262 auto model ALSA: hda - Fix check of input source type for realtek codecs ALSA: hda - Add quirk for Sony VAIO Z21MN ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model ALSA: hda - Fix unsigned comparison in patch_sigmatel.c
| | * | | | ALSA: hda - Make jack-plug notification selectableTakashi Iwai2009-06-223-6/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make the jack-plug notification via input layer selectable via Kconfig. This is often unnecessary, and the similr function will be provided using the ALSA control API in near future anyway. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | ALSA: hda - Add digital-mic support to ALC262 auto modelTakashi Iwai2009-06-221-35/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the digital-mic support with ALC262 auto model. The new ALC262 models have the digital mic at NID 0x12. This widget isn't checked in the current alc262_auto_create_analog_input_ctls() since it's under 0x18. So, just reuse the routine for alc269 to fix the behavior. But, it doesn't suffice: the digital mic is supported only with the ADC0, we have to exclude other ADCs when d-mic is detected. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| | * | | | ALSA: hda - Fix check of input source type for realtek codecsTakashi Iwai2009-06-221-18/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the check of the input-source type by checking the widget type of each capture-source item. Since some codecs can have both the mixer and selector types depending on the ADC, alc_mux_enum_put() needs to check each widget. With this change, spec->capture_style gets unneeded, so it's removed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>