summaryrefslogtreecommitdiffstats
path: root/sound/pci
Commit message (Collapse)AuthorAgeFilesLines
* ALSA: hda - Remove CD control from model=benq for CX20549Michael Karcher2012-04-071-5/+1
| | | | | | | | | | | | | | | | The ID used for detection of the BenQ R55E actually identifies the Quanta TW3 ODM design, which is also used for the Gigabyte W551 laptop series. Schematics on the internet clearly indicate that the "Port C" (analog input connected to record source #4 and mixer input #4) is unconnected. Playing an audio CD through analog playback (using cdplay from cdtools) produces no sound, even with the mixer input labelled "CD" enabled, and the volume control in the CD drive set to maximum. This indicates the connection is really not present. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - fix record volume controls of CX20459 ("Venice")Michael Karcher2012-04-071-25/+6
| | | | | | | | | | The "input converter" widget of the CX20459 has only one input amplifier, expose that one as "Capture Volume/Capture Switch". The actual record source selection is already exposed through the separately installed input mux. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Rename capture sources of CX20549 to match common conventionsMichael Karcher2012-04-071-13/+13
| | | | | | | This includes renaming "Line In" to line, also in the mixer settings. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda - Fix proc output for ADC amp values of CX20549Michael Karcher2012-04-073-7/+17
| | | | | | | | The CX20549 has only one single input amp on it's input converter widget. Fix printing of values in the codec file in /proc/asound. Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: asihpi - fix return value of hpios_locked_mem_alloc()Eliot Blennerhassett2012-03-302-7/+7
| | | | | | | | | Make this function consistent with others in this module by returning 1 for error, instead of -ENOMEM (reverts function signature change from a938fb1e) Signed-off-by: Eliot Blennerhassett <eblennerhassett@audioscience.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: asihpi - fix return type of hpios_locked_mem_alloc()Dan Carpenter2012-03-282-2/+2
| | | | | | | | | This function returns zero or -ENOMEM, but because it's type is u16, the -ENOMEM gets changed to 65524. None of the callers care, but lets fix it anyway as a cleanup. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* ALSA: hda/realtek - Fix ADC assignment with a shared HP/Mic pinTakashi Iwai2012-03-221-4/+7
| | | | | | | | | | | | | | | | The recent Realtek driver tries to assign an extra input via the headphone plug when only a single input source is found. The code worked on Samsung Q1, but it broke ASUS 1015 where the mic is a digital-mic and only a specific ADC works. This patch fixes the assignment of ADC in the shared mic/hp case. Instead of assuming the single ADC at first, reduce the ADCs after trying to assign both mic and HP pins. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42973 Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* Merge branch 'topic/misc' into for-linusTakashi Iwai2012-03-186-15/+179
|\
| * ALSA: au88x0 - Avoid possible Oops at unbindingTakashi Iwai2012-03-161-1/+1
| | | | | | | | | | | | The irq handler must check whether the MPU401 instance is still alive. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ymfpci - Fix legacy registers on S3/S4 resumeTakashi Iwai2012-03-131-0/+9
| | | | | | | | | | | | | | We need to resume two legacy registers to recover MIDI/FM functionality on S3/S4 resume, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ice1724 - constrain runtime rates for locked internal ratePavel Hofman2012-03-051-0/+23
| | | | | | | | | | | | | | | | | | | | | | The driver already defines control "Multi Track Rate Locking" which locks the card at current rate if switched to internal clock. This patch limits the runtime rates to this rate only, allowing proper reporting of the card capabilities, and e.g. automatic rate conversion by the plug plugin to the currently locked rate. Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: ctxfi: Fix typo in ctvmem.cMasanari Iida2012-02-231-1/+1
| | | | | | | | | | | | | | | | Correct spelling "virtural" to "virtual" in sound/pci/ctxfi/ctvmem.c Signed-off-by: Masanari Iida <standby24x7@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * ALSA: Au88x0 - Implement subdevice volume controlsRaymond Yau2012-01-243-13/+145
| | | | | | | | | | | | | | | | | | - add "PCM Playback Volume" controls for 16 playback subdevices This allow application to change the volume of each subdevice by using hardware mixer of au88x0 and default is zero gain/attenunation. Signed-off-by: Raymond Yau <superquad.vortex2@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
* | Merge branch 'topic/hda' into for-linusTakashi Iwai2012-03-1816-4891/+1721
|\ \
| * | ALSA: hda - Fix build with CONFIG_PM=nTakashi Iwai2012-03-161-0/+9
| | | | | | | | | | | | Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Fix build of patch_sigmatel.c without CONFIG_SND_HDA_POWER_SAVETakashi Iwai2012-03-141-8/+0
| | | | | | | | | | | | | | | | | | | | | Now the mute-LED is controlled without powersave hack, and the ifdefs must be removed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add expose_enum_ctl flag to snd_hda_add_vmaster_hook()Takashi Iwai2012-03-135-10/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since it's not always safe to assume that the vmaster hook is purely the mute-LED control, add the flag indicating whether to expose the mute-LED enum control or not. Currently, conexant codec sets this off for non-HP laptops where EAPD may be used really as EAPD. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add "Mute-LED Mode" enum controlTakashi Iwai2012-03-135-22/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create snd_hda_add_vmaster_hook() and snd_hda_sync_vmaster_hook() helper functions to handle the mute-LED in vmaster hook more commonly. In the former function, a new enum control "Mute-LED Mode" is added. This provides user to choose whether the mute-LED should be turned on/off explicitly or to follow the master-mute status. Reviewed-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Add EAPD control to Conexnat auto-parserTakashi Iwai2012-03-121-4/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | Added the vmaster hook for controlling EAPD dynamically to Conexant auto-parser. When the Master is muted, EAPDs are turned off as well. This will fix the missing mute-LED control on some machines in addition to the more power-saving in the auto-parser mode. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Rewrite the mute-LED control with vmaster hook for ALC269Takashi Iwai2012-03-121-38/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've had ugly static handling of the mute-LED with a powersave hook for ALC269 HP laptops just like done in patch_sigmatel.c. This is now rewritten with the new vmaster hook and a fixup code. For that, the new fixup action, ALC_FIXUP_ACT_BUILD, is introduced. It's called after build_controls is called. The reason of this new action is that vmaster hook must be added at this stage (not in init or probe). Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Rewrite the mute-LED hook with vmaster hook in patch_sigmatel.cTakashi Iwai2012-03-121-87/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mute-LED is controlled in patch_sigmatel.c by (ab-)using the powersave hook. This can be now rewritten with the vmaster hook instead, which is much simpler and can work even without CONFIG_SND_HDA_POWER_SAVE kconfig. A drawback is that the mute-LED corresponds _only_ to the Master mixer switch instead of checking the whole DACs. But usually this shouldn't be a big problem as PA enables the mixer elements accordingly. Also, this patch changes the code to create vmaster always even on STAC9200 and STAC925x. The former "Master" on these chips are renamed as "PCM" now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Return the created kcontrol in __snd_hda_add_vmaster()Takashi Iwai2012-03-123-5/+13
| | | | | | | | | | | | | | | | | | It'll be used for adding hooks in later patches. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Initialize vmaster slave volumesTakashi Iwai2012-03-093-7/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the driver is changed to use vmaster or a new slave element is added by the improvement of the parser code, user may face often the silent output because of the muted slave mixer although Master volume is properly set. And they complain. And I get upset. Although such a mixer element should be initialized via "alsactl init", it'd be more user-friendly if the known output slaves are unmuted and set to 0dB so that user can control the volume only with Master as default. Since Master is still set muted as default even with this change, no risk of the speaker blow up, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda - Set codec to D3 forcibly even if not usedTakashi Iwai2012-03-072-13/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We've seen a problem with a pop-noise at suspend/resume on a HP machine with ALC269, and it turned out to be an issue that the controller going to D3 while the codec is unused. When the device is once suspended and resumed and kept unused, the driver doesn't initialize the codecs. Instead, the codec chips are set up dynamically at the first usage. Now, suppose the device going to suspend again before the codec is set up. The controller is turned off to D3 while the codec chips are untouched. This caused a pop noise because the codec chip might have been turned on implicitly by the hardware. As a workaround, the codec chip needs to be set to D3 when going to suspend no matter whether it was used or not. Also, for making it happening, the controller has to be always set up in the resume path. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | ALSA: hda/realtek - Reuse init_hook for ALC269VB coef setupTakashi Iwai2012-03-071-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | Move the currently unused spec->init_hook at the beginning of the init sequence so that the recently added ALC269VB coef setup can be put there. The alc_init() is again clean without an ugly check. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-03-071-0/+17
| |\ \ | | | | | | | | | | | | | | | | Conflicts: sound/pci/hda/patch_realtek.c
| * | | ALSA: hda - Add Gigabyte GA-MA790X to the beep whitelistTakashi Iwai2012-03-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Its BIOS suppresses the PC beep although it's implemented. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | ALSA: hda - fix broken automute/autoswitch for RealtekDavid Henningsson2012-03-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recent addition of volume-knob widget in the auto-parser broke automute/autoswitch for some Realtek devices. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | Merge branch 'fix/hda' into topic/hdaTakashi Iwai2012-03-027-14/+48
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Speaker-Out renames are merged. Conflicts: sound/pci/hda/patch_realtek.c
| * | | | ALSA: hda/conexant - Clear unsol events on unused pinsTakashi Iwai2012-02-291-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It seems that Lenovo machines (or codec chip itself?) leave the unsol event tags and the enablement-flag from other pins bogusly even on the unused pins. Although this shouldn't be too critical, it's better to clear them up sanely. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Enable docking-station SPDIF for ThinkpadTakashi Iwai2012-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The docking-station of Thinkpad X200 & co supports also an SPDIF output, and the corresponding pin 0x1c has to be enabled for using it. Reported-and-tested-by: Sebastian Glita <sebastian.glita@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Add position_fix=4 (COMBO) optionTakashi Iwai2012-02-281-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds a new position_fix option value, 4, as a combo mode to use LPIB for playbacks and POSBUF for captures. It's the way recommended by Intel hardware guys. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - Fix audio playback support on HP Zephyr systemVitaliy Kulikov2012-02-281-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enables port E of IDT 92HD91 codec as output and sets correct output phase between ports E and D and high pass filter. Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda - add id for Atom Cedar Trail HDMI codecWu Fengguang2012-02-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | [the order sorted by tiwai] Signed-off-by: Wu Fengguang <fengguang.wu@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/via - Add a few sanity checksTakashi Iwai2012-02-221-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added sanity checks in a few places not to assume the pins having the certain amp caps or the input-source being always assigned to a mux. No actual bugs have been triggered by these, but surely better to be a bit more robust. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/via - Don't create duplicated boost controlsTakashi Iwai2012-02-221-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The driver may create duplicated mic boost controls when there are multiple mics with the very same type / location, and this leads to the error at actual kcontrol creation. It needs to check the validity of the created control and add a proper index if it's duplicated. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Small code cleanupsTakashi Iwai2012-02-211-135/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A few clean-ups for post-static-quirk time: - Call alc_auto_init_std() statically in alc_init() instead of setting spec->init_hook in each caller. spec->init_hook field is left unused for any future use. - Move the call of set_capture_mixer() to to alc_parse_auto_config() instead of each caller. - Get rid of the ADC-filling and imux check in each parser function. This is no longer needed since the auto-parser always check ADCs and imux. It was only for the static quirks. - Kill unused defines Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Fix the wrong offset for two-speaker systemsTakashi Iwai2012-02-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the machine has two speakers but wants to put more multi-io jacks, the parser shouldn't consider about the shared DAC but try to assign the individual DACs. Otherwise the channel mapping would be fairly confused and lead to the wrong DACs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Fix the possible conflicts of Bass Speaker nameTakashi Iwai2012-02-211-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the multi-io is added to the two speaker output configuration, the parser would try to add yet another "Bass Speaker" control since it checks only cfg->line_outs. Add a workaround for it by simply passing the channel name in the case of multi-io outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Create individual mute switches for shared DACTakashi Iwai2012-02-211-30/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if the outputs are using shared DACs, we can still create individual mute siwtches since they are assigned per pin. This allows to create, e.g. Speaker and Bass Speaker mute switches while the single volume is used for these outputs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Fix possible Oops with NULL input_muxTakashi Iwai2012-02-211-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When BIOS is damn crazy and gives no pin-config at all, the driver might lead to a NULL dereference. Let's add a NULL check for such a case. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Parse aa-loopback items dynamicallyTakashi Iwai2012-02-211-82/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similarly in patch_via.c, parse the active analog-loopback connections and create a list dynamically rather than static arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Remove the last static quirks for ALC882Takashi Iwai2012-02-213-1092/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resitance is futile. The remaining static model quirks for Apple machines with ALC882-compatible codecs are converted to the auto-parser now. We can remove all alc*_quirks.c finally. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Add model=fixup not to apply fix-upsTakashi Iwai2012-02-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If anyone wants to debug the driver and avoid the existing fix-ups, pass model=nofixup option. Then the driver will skip to pick up the fixup list. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Drop all ALC880 static quirksTakashi Iwai2012-02-203-856/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Finally the all static quirks for ALC880 are converted to the auto-parser. Since we are never sure whether the BIOS on so many old machines are really correct, the quirk table entries are copied as they are, but just providing the proper pin-config values accordingly. Since alc880_quirks.c is removed, alc882_quirks.c has to be adjusted slightly to be built again. There might be some compile warnings due to the remaining alc882 quirks, but these shall be killed sooner or later, I don't care it much at this point. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Drop model=asus* from ALC880Takashi Iwai2012-02-202-127/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turned out that BIOS on most of ASUS mobo's set the pin-config tables reasonably well for the auto-parser. We'd need GPIO setups, but should work as is other than that. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Rewrite ALC880 model=asus-w1v with auto-parserTakashi Iwai2012-02-202-31/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASUS W1V has a sane pin-config table set by BIOS. The only missing piece is the setup of GPIO1. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Rewrite ALC880 model=z71v with auto-parserTakashi Iwai2012-02-202-58/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ASUS Z71V has a totally broken BIOS setup (at least the info I got), thus we need to override the whole pin-config table to make the auto-parser working correctly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Rewrite ALC880 model=uniwill-dig with auto-parserTakashi Iwai2012-02-202-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ALC880 model=uniwill-dig requires the fix-up of bogus BIOS pin default configurations. Other than that, it's pretty normal. Signed-off-by: Takashi Iwai <tiwai@suse.de>
| * | | | ALSA: hda/realtek - Rewrite ALC880 model=uniwill with auto-parserTakashi Iwai2012-02-203-130/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The model=uniwill would work almost as is, but a couple of adjustments are needed to make the mutli-io working correctly. The headphone and speaker pins have to be marked properly in pin configs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
OpenPOWER on IntegriCloud