- 10 May, 2012 1 commit
-
-
Takashi Iwai authored
These are almost compatible with the older Conexant codecs. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 08 May, 2012 1 commit
-
-
Takashi Iwai authored
Move the fixup helper functions in patch_realtek.c to hda_auto_parser.c so that they can be used in other codec drivers like patch_conexant.c. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 20 Apr, 2012 2 commits
-
-
Takashi Iwai authored
Add a new helper function to guess the default VREF pin control bits for mic in. This can be used to set the pin control value safely matching with the actual pin capabilities. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
For setting the pin-control values more safely to match with the actual pin capability bits, a copule of new helper functions, snd_hda_set_pin_ctl() and snd_hda_set_pin_ctl_cache(), are introduced. These are simple replacement of the codec verb write with AC_VERB_SET_PIN_WIDGET but do more sanity checks and filter out superfluous pin-control bits if they don't fit with the corresponding pin capabilities. Some codecs are screwed up or ignore the command when such a wrong bit is set. These helpers will avoid such secret errors. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 19 Apr, 2012 2 commits
-
-
Takashi Iwai authored
ThinkPad 410,420,510,520 and X201 with cx50585 & co chips have the docking-station ports, but BIOS doesn't initialize for these pins. Thus, like the former X200, we need to set up the pins manually in the driver. The odd part is that the same PCI SSID is used for X200 and T400, thus we need to prepare individual fixup tables for cx5051 and others. Bugzilla entries: https://bugzilla.redhat.com/show_bug.cgi?id=808559 https://bugzilla.redhat.com/show_bug.cgi?id=806217 https://bugzilla.redhat.com/show_bug.cgi?id=810697 Reported-by:
Josh Boyer <jwboyer@redhat.com> Reported-by:
Jens Taprogge <jens.taprogge@taprogge.org> Tested-by:
Jens Taprogge <jens.taprogge@taprogge.org> Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
Some output pins on Conexant chips have no HP control bit, but the auto-parser initializes these pins unconditionally with PIN_HP. Check the pin-capability and avoid the HP bit if not supported. Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 10 Apr, 2012 1 commit
-
-
David Henningsson authored
Make sure we don't dereference the "quirk" pointer when it is null. Reported-by:
Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 07 Apr, 2012 6 commits
-
-
Michael Karcher authored
name pins consistently (MIC1/LINE1/HP-OUT/CD) on all controls affecting those pins. remove duplicate SET_AMP_GAIN_MUTE to 0x17/index 0 and 0x17/index 1 really select MIC1, not Mixer out for recording "Mixer out" for recording is not a "pin", adjust comment Signed-off-by:
Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Michael Karcher authored
CX20549 (ctx5045) doesn't accept data on index 1 for output pins, as shown in the following hda-var transaction: $ hda-verb /dev/snd/hwC0D0 0x10 set_amp_gain 0xb126 nid = 0x10, verb = 0x300, param = 0xb126 value = 0x0 $ hda-verb /dev/snd/hwC0D0 0x10 get_amp_gain 0x8001 nid = 0x10, verb = 0xb00, param = 0x8001 value = 0x0 Signed-off-by:
Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Michael Karcher authored
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>
-
Michael Karcher authored
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>
-
Michael Karcher authored
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>
-
Michael Karcher authored
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>
-
- 05 Apr, 2012 1 commit
-
-
David Henningsson authored
The internal mic input is phase inverted on one channel. To avoid people in userspace summing the channels together and get zero result, use a separate mixer control for the inverted channel. BugLink: https://bugs.launchpad.net/bugs/903853 Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 13 Mar, 2012 2 commits
-
-
Takashi Iwai authored
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>
-
Takashi Iwai authored
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>
-
- 12 Mar, 2012 1 commit
-
-
Takashi Iwai authored
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>
-
- 02 Mar, 2012 1 commit
-
-
Takashi Iwai authored
Kill hyphens from "Line-Out" name strings, as suggested by Mark Brown. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 29 Feb, 2012 2 commits
-
-
Takashi Iwai authored
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>
-
Takashi Iwai authored
Some codecs don't supply the mute amp-capabilities although the lowest volume gives the mute. It'd be handy if the parser provides the mute mixers in such a case. This patch adds an extension amp-cap bit (which is used only in the driver) to represent the min volume = mute state. Also modified the amp cache code to support the fake mute feature when this bit is set but the real mute bit is unset. In addition, conexant cx5051 parser uses this new feature to implement the missing mute controls. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42825 Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 28 Feb, 2012 1 commit
-
-
Takashi Iwai authored
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>
-
- 21 Feb, 2012 1 commit
-
-
Justin P. Mattock authored
The below patch fixes some typos "aditional" to "additional", and also fixes a comment with another word mispelled. Signed-off-by:
Justin P. Mattock <justinmattock@gmail.com> Signed-off-by:
Jiri Kosina <jkosina@suse.cz>
-
- 03 Feb, 2012 2 commits
-
-
Takashi Iwai authored
In most cases, the slave strings for vmaster are identical between volumes and switches except for "xxx Volume" and "xxx Switch" suffix. Now snd_hda_add_vmaster() takes the optional suffix argument so that each string can be composed with the given suffix, and we can share the slave name strings in both volume and switch calls nicely. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
The Lenovo laptops with cx5066 chips seem to work better with model=auto. Let's get rid of the fallback to the wrong model. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=738397 Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 02 Feb, 2012 1 commit
-
-
Takashi Iwai authored
This is an attempt to fix S3-resume problems reported for a few laptops with different Conexant codecs. They show the communication stalls at some time in S3, and the driver falls back into the single-cmd mode. This leads to the silent output or the lack of auto-mute feature. As a workaround, here enables the sync_write and the bus-reset flags to make the communication more stable. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=740115 Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=738397 Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 23 Jan, 2012 1 commit
-
-
David Henningsson authored
The user reports that model=auto works fine for him. Using model=auto bring in new features such as jack detection notification to userspace. Alsa info is available at http://paste.ubuntu.com/805351/ Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 10 Jan, 2012 1 commit
-
-
Takashi Iwai authored
These laptops can work well with the auto-parser and their BIOS setups, and in addition, the auto-parser fixes the problem with S3/S4 where the unsol event handling is killed after resume due to fallback to the single-cmd mode. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=740115 Cc: <stable@kernel.org> [v3.1+] Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 01 Dec, 2011 1 commit
-
-
Takashi Iwai authored
Instead of managing input-jack stuff separately, call all stuff inside the kctl-jack creation, deletion and report. The caller no longer needs to care about input-jack. The better integration between input-jack and kctl-jack should be done in the upper layer in near future, but for now, it's implemented locally for more tests. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 16 Nov, 2011 4 commits
-
-
Takashi Iwai authored
We can use the very same table in hda_jack.c for managing the list for input-jack elements, too. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
Manage the tags assigned for unsolicited events dynamically together with the jack-detection routines. Basically this is almost same as what we've done in patch_sigmatel.c. Assign the new tag number for each new unsol event, associate with the given NID and the action type, etc. With this change, now all pins looked over in snd_hda_jack_add_kctls() are actually enabled for detection now even if the pins aren't used for jack-retasking by the driver. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
Create kcontrols for pin jack-detections, which work similarly like jack-input layer. Each control will notify when the jack is plugged or unplugged, and also user can read the value at any time via the normal control API. The control elements are created with iface=CARD, so that they won't appear in the mixer apps. So far, only the pins that enabled the jack-detection are registered. For covering all pins, the transition of the common unsol-tag handling would be needed. Stay tuned. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
Introduce a table containing the pins and their jack-detection states for avoiding the unnecessary verbs to check the pin status at each time. When the unsol event is enabled via snd_hda_jack_detect_enable(), it automatically adds the given NID to the table. Then the driver supposes that the codec driver will set the dirty flag appropariately when an unsolicited event is invoked for that pin. The behavior for reading other pins that aren't registered in the table doesn't change. Only the pins assigned to the table are cached, so far. In near futre, this table can be extended to use the central place for the unsolicited events of all pins, etc, and eventually include the jack-detect kcontrols that replace the current input-jack stuff. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 09 Nov, 2011 1 commit
-
-
David Henningsson authored
According to the bug reporter, model=auto is needed to make the internal microphone work. BugLink: https://bugs.launchpad.net/bugs/819699 Reported-by: Andrej (agno01) Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 31 Oct, 2011 1 commit
-
-
Paul Gortmaker authored
Lots of sound drivers were getting module.h via the implicit presence of it in <linux/device.h> but we are going to clean that up. So fix up those users now. Signed-off-by:
Paul Gortmaker <paul.gortmaker@windriver.com>
-
- 27 Oct, 2011 2 commits
-
-
Takashi Iwai authored
It seems that Conexant CX20549 chip handle only a single input-amp even though the audio-input widget has multiple sources. This has been never clear, and I implemented in the current way based on the debug information I got at the early time -- the device reacts individual input-amp values for different sources. This is true for another Conexant codec, but it's not applied to CX20549 actually. This patch changes the auto-parser code to handle a single input-amp per audio-in widget for CX20549. After applying this, you'll see only a single "Capture" volume control instead of separate "Mic" or "Line" captures when the device is set up to use a single ADC. We haven't tested 20551 and 20561 codecs yet. If these show the similar behavior like 20549, they need to set spec->single_adc_amp=1, too. Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
In the old Conexant chips (5045, 5047, 5051 and 5066), a single EAPD may handle both headphone and speaker outputs while it's assigned only to one of them. Turning off dynamically leads to the unexpected silent output in such a configuration with the auto-mute function. Since it's difficult to know how the EAPD is handled in the actual h/w implementation, better to keep EAPD on while running for such codecs. Cc: <stable@kernel.org> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 18 Oct, 2011 1 commit
-
-
Daniel Suchy authored
This is patch for Conexant codec of Intel HDA driver, adding new quirk for Lenovo Thinkpad T520 and W520. Conexant autodetection works fine for T520 (similar subsystem ID is used also in W520 model) and detects more mixer features compared to generic (fallback) Lenovo quirk with hardcoded options in Conexant codec. Patch was activelly tested with Linux 3.0.4, 3.0.6 and 3.0.7 without any problems. Signed-off-by:
Daniel Suchy <danny@danysek.cz> Cc: <stable@kernel.org> [3.0+] Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 25 Aug, 2011 1 commit
-
-
David Henningsson authored
Headphones has stopped working for the original reported (a regression compared to 2.6.38). This is because Speaker and Headphones share the same DAC, in which case no Headphones volume control was created. This patch fixes so that both Speaker and Headphones volume controls are created in such scenario. BugLink: http://bugs.launchpad.net/bugs/817943 Signed-off-by:
David Henningsson <david.henningsson@canonical.com> Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
- 24 Aug, 2011 2 commits
-
-
Takashi Iwai authored
Introduce the pincfg table to patch_conexant.c for fixing up the extra pin-configuration for auto-parser. As an example, Lenovo X200 model is replaced with this new mechanism. (This also fixes the wrong mixer elements for docking-station I/O in the previous model quirk automagically.) Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-
Takashi Iwai authored
The ADC-switching can work also in the auto-mic mode, too. Signed-off-by:
Takashi Iwai <tiwai@suse.de>
-