#
b9cee506 |
|
19-Jan-2023 |
Artemii Karasev <karasev@ispras.ru> |
ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path() snd_hda_get_connections() can return a negative error code. It may lead to accessing 'conn' array at a negative index. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Artemii Karasev <karasev@ispras.ru> Fixes: 30b4503378c9 ("ALSA: hda - Expose secret DAC-AA connection of some VIA codecs") Link: https://lore.kernel.org/r/20230119082259.3634-1-karasev@ispras.ru Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c7807b27 |
|
19-Jun-2022 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via: Fix missing beep setup Like the previous fix for Conexant codec, the beep_nid has to be set up before calling snd_hda_gen_parse_auto_config(); otherwise it'd miss the path setup. Fix the call order for addressing the missing beep setup. Fixes: 0e8f9862493a ("ALSA: hda/via - Simplify control management") Cc: <stable@vger.kernel.org> Link: https://bugzilla.kernel.org/show_bug.cgi?id=216152 Link: https://lore.kernel.org/r/20220620104008.1994-2-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4dd99891 |
|
27-May-2022 |
Xiang wangx <wangxiang@cdjrlc.com> |
ALSA: hda/via: Delete does not require return Void function return statements are not generally useful. Signed-off-by: Xiang wangx <wangxiang@cdjrlc.com> Link: https://lore.kernel.org/r/20220527121059.25221-1-wangxiang@cdjrlc.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4bf61ad5 |
|
16-Aug-2021 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via: Apply runtime PM workaround for ASUS B23E ASUS B23E requires the same workaround like other machines with VT1802, otherwise it looses the codec power on a few nodes and the sound kept silence. Fixes: a0645daf1610 ("ALSA: HDA: Early Forbid of runtime PM") Link: https://lore.kernel.org/r/ac2232f142efcd67fe6ac38897f704f7176bd200.camel@gmail.com Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210817052432.14751-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4961167b |
|
26-Jan-2021 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via: Apply the workaround generically for Clevo machines We've got another report indicating a similar problem wrt the power-saving behavior with VIA codec on Clevo machines. Let's apply the existing workaround generically to all Clevo devices with VIA codecs to cover all in once. BugLink: https://bugzilla.opensuse.org/show_bug.cgi?id=1181330 Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210126165603.11683-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
67ea698c |
|
14-Jan-2021 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via: Add minimum mute flag It turned out that VIA codecs also mute the sound in the lowest mixer level. Turn on the dac_min_mute flag to indicate the mute-as-minimum in TLV like already done in Conexant and IDT codecs. BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=210559 Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210114072453.11379-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4bfd6247 |
|
04-Jan-2021 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via: Fix runtime PM for Clevo W35xSS Clevo W35xSS_370SS with VIA codec has had the runtime PM problem that looses the power state of some nodes after the runtime resume. This was worked around by disabling the default runtime PM via a denylist entry. Since 5.10.x made the runtime PM applied (casually) even though it's disabled in the denylist, this problem was revisited. The result was that disabling power_save_node feature suffices for the runtime PM problem. This patch implements the disablement of power_save_node feature in VIA codec for the device. It also drops the former denylist entry, too, as the runtime PM should work in the codec side properly now. Fixes: b529ef2464ad ("ALSA: hda: Add Clevo W35xSS_370SS to the power_save blacklist") Reported-by: Christian Labisch <clnetbox@gmail.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210104153046.19993-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1a462be5 |
|
09-Jan-2020 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda: Manage concurrent reg access more properly In the commit 8e85def5723e ("ALSA: hda: enable regmap internal locking"), we re-enabled the regmap lock due to the reported regression that showed the possible concurrent accesses. It was a temporary workaround, and there are still a few opened races even after the revert. In this patch, we cover those still opened windows with a proper mutex lock and disable the regmap internal lock again. First off, the patch introduces a new snd_hdac_device.regmap_lock mutex that is applied for each snd_hdac_regmap_*() call, including read, write and update helpers. The mutex is applied carefully so that it won't block the self-power-up procedure in the helper function. Also, this assures the protection for the accesses without regmap, too. The snd_hdac_regmap_update_raw() is refactored to use the standard regmap_update_bits_check() function instead of the open-code. The non-regmap case is still open-coded but it's an easy part. The all read and write operations are in the single mutex protection, so it's now race-free. In addition, a couple of new helper functions are added: snd_hdac_regmap_update_raw_once() and snd_hdac_regmap_sync(). Both are called from HD-audio legacy driver. The former is to initialize the given verb bits but only once when it's not initialized yet. Due to this condition, the function invokes regcache_cache_only(), and it's now performed inside the regmap_lock (formerly it was racy) too. The latter function is for simply invoking regcache_sync() inside the regmap_lock, which is called from the codec resume call path. Along with that, the HD-audio codec driver code is slightly modified / simplified to adapt those new functions. And finally, snd_hdac_regmap_read_raw(), *_write_raw(), etc are rewritten with the helper macro. It's just for simplification because the code logic is identical among all those functions. Tested-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200109090104.26073-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
caf3c043 |
|
03-Jan-2020 |
Michał Mirosław <mirq-linux@rere.qmqm.pl> |
ALSA: hda - constify and cleanup static NodeID tables Make hda_nid_t tables static const, as they are not intended to be modified by callees. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Link: https://lore.kernel.org/r/5150c94101c9534f4c8e987324f6912c16d459f6.1578043216.git.mirq-linux@rere.qmqm.pl Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d0fa1179 |
|
20-May-2019 |
Thomas Gleixner <tglx@linutronix.de> |
treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 32 Based on 1 normalized pattern(s): this driver is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this driver is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 59 temple place suite 330 boston ma 02111 1307 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 18 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190520170857.186505395@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
#
be57bfff |
|
22-Aug-2018 |
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
ALSA: hda: move hda_codec.h to include/sound As suggested by Takashi, move this header file to make it easier to include from e.g. the Intel Skylake driver in follow-up patches Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
b4af16d6 |
|
22-Aug-2018 |
Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> |
ALSA: hda: move hda_codec.h to include/sound As suggested by Takashi, move this header file to make it easier to include from e.g. the Intel Skylake driver in follow-up patches Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Signed-off-by: Mark Brown <broonie@kernel.org>
|
#
f8bfc628 |
|
20-Jun-2018 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Use standard verb containers In this patch, the remaining static init verbs in VIA codec driver are converted to the standard snd_hda_add_verbs() calls. The conversion is straightforward, but one change to be noted is the place of calls: since these verbs are supposed to be executed at the beginning of the init / resume procedure, we need to add snd_hda_add_verbs() calls before calling the other parsers. This is merely a cleanup, no functional changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0e8f9862 |
|
20-Jun-2018 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Simplify control management This patch replaces the control element creations in VIA codec driver with the standard snd_hda_gen_add_kctl() calls as a cleanup. There are two major fields targeted by this patch: the beep controls and static init controls. The former is converted just like other codec drivers do. The spec->beep_amp field can be eliminated by this change as well. The latter, static init controls, are replaced simply with explicit snd_hda_gen_add_kctl() calls. After these conversions, via_build_controls() becomes superfluous and replaced with snd_hda_gen_build_controls(), too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
fcbdcc1a |
|
20-Jun-2018 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Rewrite with error goto Currently VIA codec driver invokes via_free() at each place of the error path. Move the error handling to the end of each function commonly and do goto-error as a standard idiom. This is a preliminary patch for the further cleanups, and no functional changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b9a94a9c |
|
01-Oct-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - convert to hda_device_id Finally we have a proper infrastructure to generate the modaliases automatically, let's move to hda_device_id from the legacy hda_codec_preset that contains basically the same information. The patch function hook is stored in driver_data field, which is long, and we need an explicit cast. Other than that, the conversion is mostly straightforward. Each entry is even simplified using a macro, and the lengthy (and error-prone) manual modaliases got removed. As a result, we achieved a quite good diet: 14 files changed, 407 insertions(+), 595 deletions(-) Reviewed-by: Vinod Koul <vinod.koul@intel.com> Tested-by: Subhransu S Prusty <subhransu.s.prusty@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ded255be |
|
01-Oct-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - consolidate chip rename functions A few multiple codec drivers do renaming the chip_name string but all these are open-coded and some of them have even no error check. Let's make common helpers to do it properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
735c75cf |
|
25-Jun-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Disable widget power-save for VIA codecs The widget power-save that was enabled in 4.1 kernel seems resulting in the silent output on VIA codecs by some reason. Some widgets get wrong power states. As a quick fix, turn this flag off while keeping power_down_unused flag. This will bring back to the state of 4.0.x. Fixes: 688b12cc3ca8 ('ALSA: hda - Use the new power control for VIA codecs') Reported-and-tested-by: Harald Dunkel <harri@afaics.de> Cc: <stable@vger.kernel.org> # v4.1 Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6b6d0007 |
|
31-May-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix jack detection at resume with VT codecs VT202x codecs seem requiring some delay after the resume D0 power transition for making the jack detection working again. Without the delay soon after D0, the jack is always detected as unplugged. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=98921 Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
225068ab |
|
29-May-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Set patch_ops before calling auto-parser ... so that the parser code can overwrite some optional ops. For Realtek and others, it can be set solely in the spec allocator, so it results in a good code cleanup, too. With this change, we can finally remove the local stream_pm setup and rely on the generic parser's automatic setting. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b47eee2e |
|
29-May-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix lost sound due to stream_pm ops cleanup The commit [49fb18972581: ALSA: hda - Set stream_pm ops automatically by generic parser] resulted in regressions on some Realtek and VIA codecs because these drivers set patch_ops after calling the generic parser, thus stream_pm got cleared to NULL again. I haven't noticed since I tested with IDT codec. Restore (partial revert) the stream_pm ops for them to fix the regression. Fixes: 49fb18972581 ('ALSA: hda - Set stream_pm ops automatically by generic parser') Reported-by: Jeremiah Mahler <jmmahler@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
49fb1897 |
|
27-May-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Set stream_pm ops automatically by generic parser This allows user to test power_save_node feature via sysfs or patch firmware even on the codecs that don't specify it. It'll also save a few lines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
cfd3113e |
|
09-Apr-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Add missing stream_pm ops setup Similar like the case for Realtek, VIA codec driver needs this ops as well for making the widget power-save working. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4738465c |
|
25-Mar-2015 |
W. Trevor King <wking@tremily.us> |
ALSA: hda/via - Add beep controls to VIA codecs My codec has a beep-generating node: $ cat /proc/asound/card1/codec#0 Codec: VIA VT1802 ... Vendor Id: 0x11068446 Subsystem Id: 0x15587410 Revision Id: 0x100000 ... Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1 Amp-Out vals: [0x0a] Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 ... But I was missing the: Control: name=... entries that I need to manage this widget from alsamixer. With this patch (based on the similar Mono Amp-Out handling in patch_conexant.c), I get a new: input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card1/hdaudioC1D0/input15 entry in dmesg and controls to manage that beep: $ cat /proc/asound/card1/codec#0 | grep -A5 Beep Node 0x22 [Beep Generator Widget] wcaps 0x70040c: Mono Amp-Out Control: name="Beep Playback Volume", index=0, device=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0 Control: name="Beep Playback Switch", index=0, device=0 ControlAmp: chs=1, dir=Out, idx=0, ofs=0 Amp-Out caps: ofs=0x0a, nsteps=0x12, stepsize=0x05, mute=1 Amp-Out vals: [0x12] Power states: D0 D1 D2 D3 Power: setting=D0, actual=D0 [rebased and modified for the latest tree by tiwai] Signed-off-by: W. Trevor King <wking@tremily.us> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7639a06c |
|
03-Mar-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Move a part of hda_codec stuff into hdac_device Now some codes and functionalities of hda_codec struct are moved to hdac_device struct. A few basic attributes like the codec address, vendor ID number, FG numbers, etc are moved to hdac_device, and they are accessed like codec->core.addr. The basic verb exec functions are moved, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
967b1307 |
|
20-Mar-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Rename power_mgmt flag with power_save_node David suggested that the name "power_mgmt" is too ambiguous. Rename the flag with a bit clearer one "power_save_node". Also, add the corresponding description to HD-Audio.txt, too. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
688b12cc |
|
17-Mar-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use the new power control for VIA codecs VIA codecs used to have the own power controls but they were disabled at transition to the generic parser due to the coding assuming the fixed routes. Now we get the proper support of equivalently fine power management in the generic parser, and the old kludges can be replaced with it. This results in the reduction of lots of dead codes. The advanced PM feature is disabled as default like before for keeping the compatible behavior. It's enabled via "Dynamic Power-Control" mixer element. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
2f35c630 |
|
27-Feb-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use standard workqueue for unsol and jack events The events that are handled by HD-audio drivers are no frequent and urgent ones, so we can use the standard workqueue without any problem nowadays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bbbc7e85 |
|
27-Feb-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Allocate hda_pcm objects dynamically So far, the hda_codec object kept the hda_pcm list in an array, and the codec driver was expected to assign the array. However, this makes the object life cycle management harder, because the assigned array is freed at the codec driver detach while it might be still accessed by the opened streams. In this patch, we allocate each hda_pcm object dynamically and manage it as a linked list. Each object has a kref refcount, and both the codec driver binder and the PCM open/close touches it, so that the object won't be freed while in use. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6efdd851 |
|
27-Feb-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add card field to hda_codec struct Allow the codec object to have an individual card pointer. Not only this simplifies the redirections in many places, also this will allow us to make each codec assigned to a different card object. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d8a766a1 |
|
17-Feb-2015 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Bind codecs via standard bus Now we create the standard HD-audio bus (/sys/bus/hdaudio), and bind the codec driver with the codec device over there. This is the first step of the whole transition so that the changes to each codec driver are kept as minimal as possible. Each codec driver needs to register hda_codec_driver struct containing the currently existing preset via the new helper macro module_hda_codec_driver(). The old hda_codec_preset_list is replaced with this infrastructure. The generic parsers (for HDMI and other) are also included in the preset with the special IDs to bind uniquely. In HD-audio core side, the device binding code is split to hda_bind.c. It provides the snd_hda_bus_type implementation to match the codec driver with the given codec vendor ID. It also manages the module auto-loading by itself like before: when the matching isn't found, it tries to probe the corresponding codec modules, and finally falls back to the generic drivers. (The special ID mentioned above is set at this stage.) The only visible change to outside is that the hdaudio sysfs entry now appears in /sys/bus/devices, not as a sound class device. More works to move the suspend/resume and remove ops will be (hopefully) done in later patches. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
74f14b36 |
|
15-Dec-2014 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Make add_stereo_mix_input flag tristate ... for distinguishing whether it's explicitly enabled via a user hint or enabled by a driver as a fallback. Now the former case corresponds to HDA_HINT_STEREO_MIX_ENABLE while the latter to HDA_HINT_STEREO_MIX_AUTO. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7c3008c4 |
|
11-Sep-2014 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove superfluous hooks from VIA driver Like the previous fix for STAC/IDT codecs, the automute hooks in VIA driver can be also removed by enabling the power control callback for all pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1a4f69d5 |
|
11-Sep-2014 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Allow multiple callbacks for jack So far, hda_jack infrastructure allows only one callback per jack, and this makes things slightly complicated when a driver wants to assign multiple tasks to a jack, e.g. the standard auto-mute with a power up/down sequence. This can be simplified if the hda_jack accepts multiple callbacks. This patch is such an extension: the callback-specific part (the function and private_data) is split to another struct from hda_jack_tbl, and multiple such objects can be assigned to a single hda_jack_tbl entry. The new struct hda_jack_callback is passed to each callback function now, thus the patch became bigger than expected. But these changes are mostly trivial. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
62f949bf |
|
11-Sep-2014 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Get rid of action field from struct hda_jack_tbl The action value assigned to each hda_jack_tbl entry is mostly superfluous. The actually used values are either the widget NID or a value specific to the callback. The former case can be simply replaced by a reference to widget NID itself. The only place doing the latter is STAC/IDT codec driver for the powermap handling. But, the code doesn't need to check the action field at all -- the function jack_update_power() is called either with a specific pin or with NULL. So the check of jack->action can be removed completely there, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a8dca460 |
|
10-Feb-2014 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Make snd_hda_gen_spec_free() static The last user of snd_hda_gen_spec_free() is patch_via.c, and we can rewrite it safely with snd_hda_gen_free(), so that snd_hda_gen_spec_free() can be a local function in hda_generic.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f1e762dd |
|
09-Dec-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Enable stereo mix as default for AD and VIA codecs AD and VIA codecs had stereo mixer input enabled as default before moving to the generic parser, and people think the lack of such a regression. In this patch, the stereo mixer input is added back to the input selection if no auto-mic is available, and if it's not disabled explicitly via hint. This should satisfy most of demands, i.e. stereo mix on desktop machines like what it worked before, and it still keeps the new auto-mic feature on laptops. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7eaa9161 |
|
25-Jul-2013 |
Wang Xingchao <xingchao.wang@linux.intel.com> |
ALSA: hda - Clearing jackpoll_interval avoid pending work Clearing jackpoll_interval before calling cancel_delayed_work_sync(), otherwise the work will be triggered again and cause impact in hda_jackpoll_work(). The next patch will poll jack once even with jackpoll_interval=0. Signed-off-by: Wang Xingchao <xingchao.wang@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
eb33ccf7 |
|
24-Jun-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use auto_mute_via_amp=1 for VT1708 We've got bug report wrt many machines with VT1708 (e.g. IBM POS machines) showing the broken auto-mute behavior. It turned out that the problem is that the pin control values of the speaker and line-out pins are completely ignored. As a workaround, let's use the newly introduced feature of the generic parser, to control the mute via amp on pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d045c5dc |
|
18-Jun-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix missing Mic Boost controls for VIA codecs Some VIA codecs like VT1708S have Mic boost amps in the mic pins but they aren't exposed in the capability bits. In the past driver code, we override the pin caps and create mic boost controls forcibly. While transition to the generic parser, we lost the mic boost controls although the pin caps are still overridden, because the generic parser code checks the widget caps, too. So this patch adds a new helper function to allow the override of the given widget capability bits, and makes VIA codecs driver to add the missing input-amp capability bit. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59861 Cc: <stable@vger.kernel.org> [v3.9+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
2c38d990 |
|
05-Jun-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Use standard snd_hda_shutup_pins() Just a minor clean up. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5a6f294e8 |
|
03-Jun-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Fix wrongly cleared pins after suspend on VT1802 VIA driver has a special suspend handling only for VT1802 to reduce the pop noise. During the transition to the generic parser, the behavior of snd_hda_set_pin_ctl() was also changed to modify the cached values, too. And this caused a regression where the pin is still cleared even after the resume (including the resume from power save), resulting in the silent output. The fix is simply to replace snd_hda_set_pin_ctl() with the explicit call of snd_hda_codec_write() again. Reported-by: Alex Riesen <raa.lkml@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
05909d5c |
|
31-May-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add keep_eapd_on flag to generic parser VT1802 codec seems to reset EAPD of other pins in the hardware level, and this was another reason of the silent headphone output on some machines. As a workaround, introduce a new flag indicating to keep the EPAD on to the generic parser, and set it in patch_via.c. Reported-by: Alex Riesen <raa.lkml@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
087c2e3b |
|
31-May-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Disable broken dynamic power control Since the transition to the generic parser, the actual routes used there don't match always with the assumed static paths in some set_widgets_power_state callbacks. This results in the wrong power setup in the end. As a temporary workaround, we need to disable the calls together with the non-functional dynamic power control enum. Reported-by: Alex Riesen <raa.lkml@gmail.com> Cc: <stable@vger.kernel.org> [v3.9] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4abdbd1c |
|
22-Mar-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - VIA prefers side surrounds over HP The recent fix for the independent HP reduced the availability of the side surround output, because there are only 4 DACs for 7.1 and a HP outputs. Adjust the badness tables for VIA so that 7.1 outputs are activated for the cost of missing independent HP. Once when we implement the dynamic DAC switching to multiple outputs, this conflicts will be eased in future... Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0186f4f4 |
|
07-Feb-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use generic array for loopback list management Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
05dc0fc9 |
|
04-Feb-2013 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - detect jacks on VT1708 even when no streams are active These days, GUIs such as Gnome sound settings want to be able to show the correct jack status even when no streams are currently running. I doubt this gives any measurable difference in power, but if it does, the "Jack Detect" control can still be used to turn polling off. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f672f65a |
|
04-Feb-2013 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - Fix phantom jacks on VT1708 The VT1708 has no unsol event capability, and polling is set using the "Jack Detect" alsamixer control. In order not to create phantom Jack controls, temporary enable jackpoll during build_controls. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9040d102 |
|
24-Jan-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add snd_hda_check_power_state() helper function ... for small refactoring. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
25368c47 |
|
24-Jan-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Fix wrong checks of power state bits AC_VERB_GET_POWER_STATE returns the combined bits of the actual state and the target state. Thus, comparing the obtained value directly with the target value can't work. The value has to be shifted and masked properly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
13961170 |
|
21-Jan-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Enable parsing the independent HP mode as default for VIA codecs The original VIA codec parser enabled it as default, so let's keep the behavior as it was. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b3f6008f |
|
06-Jan-2013 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use generic parser for VIA codec driver Yet another step forward. As all features for VIA codecs have been implemented in the generic driver, we can move on to migrate the VIA codec parser, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5ec16d12 |
|
28-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Rearrange INPUT_PIN_ATTR_* Put INPUT_PIN_ATTR_FRONT after INPUT_PIN_ATTR_REAR, and define INPUT_PIN_ATTR_LAST to point to the last element. This is a preliminary work for cleaning up Realtek auto-mic parser. In the auto-mic implementation, the front panel is preferred over the rear panel. By arranging the attr definitions like in this commit, we can simply use sort() for figuring out the priority order. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c9ce6b26 |
|
18-Dec-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Move fixup code into struct hda_codec Since the fixup code is used commonly, it's worth to move it to the common place, struct hda_codec, instead of keeping in hda_gen_spec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6121b84a |
|
10-Dec-2012 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA: VIA: Add support for codec VT1808. Add support for new codec VT1808, which is similiar with VT1705CF. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
43737e0a |
|
10-Dec-2012 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA: VIA Add support for codec VT1705CF. Add support for new codec VT1705CF. When power on/off Audio output converter of VT1705CF, the stream tag will be cleared. But driver caches the value. So when power on Audio output converter, the update_conv_power_state() will restore the saved stream tag of it. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
dda415d4 |
|
30-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add a helper function for simple enum kcontrols The same type of code is being used in multiple places in various codec drivers, so put it as a core library. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
361dab3e |
|
09-May-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Call snd_array_init() early and only once This is a preliminary patch for introducing a protection to access races of snd_array instances. Call snd_array_init() appropriately at the initialization time and don't call it twice. Also the allocations of codec-spec structs are cleaned up by helper functions in patch_sigmatel.c and patch_analog.c. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
34ca8d33 |
|
08-Nov-2012 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - Removed unused non-standard name "C/LFE" A closer look shows that the name is not even used and can be removed. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ee81abb6 |
|
08-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Apply a proper chmap for built-in 2.1 speakers When 2.1 speakers are detected, use the corresponding channel map instead of the standard map with front+rear surrounds. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f37bc7a8 |
|
08-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Give standard "Bass Speaker" mixer for 2.1 speakers When two built-in speakers are found on the machine, we can suppose it's rather a 2.1 speaker system with a bass output instead of front/surround channels. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d5266125 |
|
07-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add pin fixups for ASUS G75 To parse properly the subwoofer outputs on ASUS G75 laptop with VT1802 codec, correct the default configurations of speaker pins 0x24 and 0x33. Reported-by: Massimo Del Fedele <max@veneto.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ef4da458 |
|
07-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix invalid connections in VT1802 codec VT1802 codec provides the invalid connection lists of NID 0x24 and 0x33 containing the routes to a non-exist widget 0x3e. This confuses the auto-parser. Fix it up in the driver by overriding these connections. Reported-by: Massimo Del Fedele <max@veneto.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5b376195 |
|
07-Nov-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix empty DAC filling in patch_via.c In via_auto_fill_adc_nids(), the parser tries to fill dac_nids[] at the point of the current line-out (i). When no valid path is found for this output, this results in dac = 0, thus it creates a hole in dac_nids[]. This confuses is_empty_dac() and trims the detected DAC in later reference. This patch fixes the bug by appending DAC properly to dac_nids[] in via_auto_fill_adc_nids(). Reported-by: Massimo Del Fedele <max@veneto.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7819d1c7 |
|
10-Oct-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add missing hda_gen_spec to struct via_spec The commit [4b527b65 ALSA: hda - limit internal mic boost for Asus X202E] introduced the use of auto-parser code, but it forgot to add struct hda_gen_spec at the head of codec->spec which the auto-parser assumes silently. Without this record, it may result in memory corruption. This patch adds the missing piece. Cc: <stable@vger.kernel.org> [v3.5+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4e2d16d3 |
|
08-Oct-2012 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - make VIA codec use generic unsol event handler Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
67aeda1f |
|
08-Oct-2012 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - Remove dead GPIO code for VIA codec From what I can conclude all GPIO handling was removed in 2009. Remove dead code remnants. Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
cf55e904 |
|
21-Sep-2012 |
Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> |
ALSA: hda/via - don't report presence on HPs with no presence support If headphone jack can't detect plug presence, and we have the jack in the jack table, snd_hda_jack_detect will return the plug as always present (as it'll be considered as a phantom jack). The problem is that when this happens, line out pins will always be disabled, resulting in no sound if there are no headphones connected. This was reported as a no sound problem after suspend on http://bugs.launchpad.net/bugs/1052499, since the bug doesn't manifests on first initialization before the phantom jack is added, but on resume we reexecute the initialization code, and via_hp_automute starts reporting HP always present with the jack now on the table. BugLink: https://bugs.launchpad.net/bugs/1052499 Signed-off-by: Herton Ronaldo Krzesinski <herton.krzesinski@canonical.com> Cc: <stable@vger.kernel.org> [v3.6+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4b527b65 |
|
18-Sep-2012 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - limit internal mic boost for Asus X202E When the input gain for the internal mic is set to its maximum level, the background noise becomes so high - and any relevant signal clipped - that the setting becomes unusable. It is better to limit the amplification. BugLink: https://bugs.launchpad.net/bugs/1052460 Signed-off-by: David Henningsson <david.henningsson@canonical.com> Cc: <stable@vger.kernel.org> [v3.5+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
83012a7c |
|
24-Aug-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Clean up CONFIG_SND_HDA_POWER_SAVE CONFIG_SND_HDA_POWER_SAVE is no longer an experimental feature and its behavior can be well controlled via the default value and module parameter. Let's just replace it with the standard CONFIG_PM. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
8a535414 |
|
22-Aug-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Call snd_hda_jack_report_sync() generically in hda_codec.c Instead of calling the jack sync in the init callback of each codec, call it generically at initialization and resume. By calling it at the last of resume sequence, a possible race between the jack sync and the unsol event enablement in the current code will be closed, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
94c142a1 |
|
09-Aug-2012 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: hda - Fix pop noise in headphones on S3 for Asus X55A, X55V To turn off pin control for the pin was tested, and helped against this issue. BugLink: https://bugs.launchpad.net/bugs/1034779 Tested-by: Chih-Hsyuan Ho <chih.ho@canonical.com> Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6162552b |
|
25-Jul-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix invalid D3 of headphone DAC on VT202x codecs We've got a bug report about the silent output from the headphone on a mobo with VT2021, and spotted out that this was because of the wrong D3 state on the DAC for the headphone output. The bug is triggered by the incomplete check for this DAC in set_widgets_power_state_vt1718S(). It checks only the connectivity of the primary output (0x27) but doesn't consider the path from the headphone pin (0x28). Now this patch fixes the problem by checking both pins for DAC 0x0b. Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
68cb2b55 |
|
02-Jul-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: Convert to new pm_ops for PCI drivers Straightforward conversion to the new pm_ops from the legacy suspend/resume ops. Since we change vx222, vx_core and vxpocket have to be converted, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
09cf03b8 |
|
19-May-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix possible races of accesses to connection list array Like the previous fixes for cache hash accesses, a protection over accesses to the widget connection list array must be provided. Together with this action, remove snd_hda_get_conn_list() which can be always race, and replace it with either snd_hda_get_num_conns() or snd_hda_get_connections() calls. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
128bc4ba |
|
07-May-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Move BIOS pin-parser code to hda_auto_parser.c Just code shuffles. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4740860b |
|
20-Apr-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add snd_hda_get_default_vref() helper function 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>
|
#
cdd03ced |
|
19-Apr-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Introduce snd_hda_set_pin_ctl*() helper functions 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>
|
#
77e314f7 |
|
21-Feb-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Add a few sanity checks 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>
|
#
8d8bbc6f |
|
21-Feb-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda/via - Don't create duplicated boost controls 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>
|
#
fc1156c0 |
|
13-Feb-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix initialization of secondary capture source on VT1705 VT1705 codec has two ADCs where the secondary ADC has no MUX but only a fixed connection to the mic pin. This confused the driver and it tries always overriding the input-source selection by assumption of the existing MUX for the secondary ADC, resulted in resetting the input-source at each time PM (including power-saving) occurs. The fix is simply to check the existence of MUX for secondary ADCs in the initialization code. Tested-by: Anisse Astier <anisse@astier.eu> Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9322ca54 |
|
03-Feb-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add suffix argument to snd_hda_add_vmaster() 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>
|
#
b5bcc189 |
|
02-Feb-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Disable dynamic-power control for VIA as default Since the dynamic pin power-control and the analog low-current mode may lead to pop-noise, it's safer to set it off as default. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=741128 Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e9d010c2 |
|
01-Feb-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Allow analog low-current mode when dynamic power-control is on VIA codecs have several different power-saving features, and one of them is the analog low-current mode. But it turned out that the ALC mode causes pop-noises at each on/off time on some machines. As a quick workaround, disable the ALC when another power-saving feature, the dynamic pin power-control, is turned off, too, since the dynamic power-control is already exposed as a mixer enum element so that user can turn it on/off freely. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=741128 Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
92433923 |
|
24-Jan-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix the logic to detect VIA analog low-current mode The analog low-current mode must be enabled when the no stream is running but the current detection checks it in a wrong way. Bugzilla: https://bugzilla.novell.com/show_bug.cgi?id=741128 Cc: <stable@kernel.org> [v3.1+] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
054d867e |
|
23-Jan-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Check power-state before changing in patch_via.c Instead of always writing AC_VERB_SET_POWER_STATE, check the current power-state and don't write again if the value is already set. This may reduce the click noise upon the dynamic power-state change (e.g. in analog-input mixer). Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4808d12d |
|
10-Jan-2012 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix the detection of "Loopback Mixing" control for VIA codecs Currently the driver checks only the out_mix_path[] for the primary output route for judging whether to create the loopback-mixing control or not. But, there are cases where aamix-routing is available only on headphone or speaker paths but not on the primary output path. So, the driver ignores such cases inappropriately. This patch fixes the check of the loopback-mixing control by testing all mix-routing paths. Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
187d333e |
|
24-Nov-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix jack-detection control of VT1708 VT1708 has no support for unsolicited events per jack-plug, the driver implements the workq for polling the jack-detection. The mixer element "Jack Detect" was supposed to control this behavior on/off, but this doesn't work properly as is now. The workq is always started and the HP automute is always enabled. This patch fixes the jack-detect control behavior by triggering / stopping the work appropriately at the state change. Also the work checks the internal state to continue scheduling or not. Cc: <stable@kernel.org> [v3.1] Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3a93897e |
|
27-Oct-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Manage unsol tags in hda_jack.c 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>
|
#
01a61e12 |
|
27-Oct-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Create jack-detection kcontrols 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>
|
#
1835a0f9 |
|
27-Oct-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Cache the jack-detection value 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>
|
#
112daa7a |
|
02-Nov-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove unused variables Just clean-up what GCC caught. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
da155d5b |
|
14-Jul-2011 |
Paul Gortmaker <paul.gortmaker@windriver.com> |
sound: Add module.h to the previously silent sound users 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>
|
#
a5973103 |
|
28-Sep-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda:via - Skip creations of empty PCM streams If no analog I/O is defined, skip creating the corresponding PCM stream. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
81c0a78b |
|
05-Aug-2011 |
Wang Shaoyan <wangshaoyan.pt@taobao.com> |
ALSA: hda - Fix a complile warning in patch_via.c sound/pci/hda/patch_via.c:2087: warning: 'dac' may be used uninitialized in this function Signed-off-by: Wang Shaoyan <wangshaoyan.pt@taobao.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
2a43952a |
|
26-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Make CONFIG_SND_HDA_POWER_SAVE depending on CONFIG_PM It makes little sense to enable power-saving without PM. This removes SND_HDA_NEEDS_RESUME define so that we can use CONFIG_PM in all places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a353fbb1 |
|
21-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove a superfluous argument of via_auto_init_output() "force" argument is always true, so let's strip it off. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
020066d1 |
|
21-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix indep-HP path (de-)activation for VT1708* codecs This patch fixes non-working indep-HP control on VT1708* codecs. The problems are that via_independent_hp_put() wasn't fixed to follow the recent change of three HP paths, and hp_indep_path didn't contain the amp nids of mixer elements. Together with the fixes, a few code clean-ups are done. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3b607e3d |
|
18-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Switch HP DAC dynamically with indep-HP switch for VIA This patch changes the behavior of independent-HP enum switch. Now instead of returning a busy error, the driver switches dynamically the stream of the HP (and shared) DACs according to the current mode. The logic is similar like the dual-mic ADC switch, but a bit more complicated because of the presence of shared DAC. Together with the change, a mutex is introduced to protect against the possible races for the indep-HP mode setting. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3214b966 |
|
17-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Implement dynamic loopback control for VIA codecs This patch adds the dynamic control of analog-loopback for VIA codecs. When the loopback is enabled, the inputs from line-ins and mics are mixed with the front DAC, and sent to the front outputs. The very same input is routed to the headhpones and speakers in loopback mode. However, since the loopback mix can't take other than the front DAC, there is no longer individual volume controls for headphones and speakers. Once when the loopback control is off, these volumes take effect. Since the individual volumes are more desired in general use caess, the loopback mode is set to off as default for now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
30b45033 |
|
11-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Expose secret DAC-AA connection of some VIA codecs VT1718S and co have a secret connection from DAC to AA-mix, which doesn't appear in the connection list obtained from the h/w. Currently the driver fixes the connection index locally at init, but now we can expose it statically via snd_hda_override_connections() so that this conection can be checked better by the parser in future. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
94994734 |
|
11-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Preserve input pin-ctl bits in HP-automute for VIA codec For smart51 pins, we need to preserve the input pin-control bits at auto-mute controls instead of overwriting zero or pin-out-only. Otherwise the VREF won't be set properly when smart51 is disabled again. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6e969d91 |
|
11-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Set line-out pin-ctls properly when indep-HP mode changes When Independent-HP mode is changed for VIA, the driver needs to re-issue the auto-mute check so that the line-out pins are set properly without influence of HP pin state. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
21ce0b65 |
|
11-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Via Fix speaker-mute checks in VIA driver When the line-jack is plugged/unplugged, the driver must check also the headphone jack state in addition to the line-out jack. Currently it checks only the line-out state and ignores the headphone. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
28dc10a5 |
|
08-Jul-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix output-path of VT1812 codec For VT1812, add dac_mixer_idx for initialization. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
21d45d2b |
|
08-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix Oops in smart51 parsing in VIA codec Typical off-by-one thinko. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a2a870c8 |
|
08-Jul-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix Independent-HP detection on VT2002P/1802/1812 codecs For VT2002P, VT1802 and VT1812 codecs, to create Independent HP control. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5c9a5615 |
|
08-Jul-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix DAC checks for VT2002P/1802/1812 codecs For VT2002P, VT1802 and VT1812 codecs, there're only two DACs. So smart51 control shouldn't be created. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d69607b3 |
|
08-Jul-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix VIA output-path init for VT2002P/1802/1812 For VT2002P, VT1802 and VT1812 codecs, the original activate_output_path() function can't initialize output and hp path correctly, since mixers connected to output pin widgets are not considered. So modify the activate_output_path() function to satisify this kind of codec. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bac4b92c |
|
04-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Don't add aa-mix for VIA surrounds Since we now route the front DAC via aa-mix widget, adding the aa-mix to surrounds will result in a mix-up of both front and surround PCM signals. For avoiding this, the aa-mix routes have to be disabled for surround paths. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
18bd2c44 |
|
04-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Create HP-vol control properly for VIA codecs When the individual DAC is available for the headphone output, the driver should create the DAC for its volume control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
de6c74f3 |
|
04-Jul-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Define some constants in patch_via.c Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b89596a1 |
|
04-Jul-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix invalid multi-channel amplifiers for VT1718S For VT1718S, the multi-channel path should be like following: DAC 0-->Mixer 9(index 5)-->Mixer 0(index 1)-->Front Pin; DAC 1-->Mixer 1(index 0)-->Surround Pin; DAC 2-->C/LFE Pin; DAC 3-->Mixer 2(index 0)-->Side Pin; But current code built Surround and Side path through index 1 of Mixer 1 and 2. So Adjusting Surround and Side channel amplifier is invalid. This patch fixes the issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c4394f5b |
|
04-Jul-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix issue that front can't output sound for VT1718S For VT1718S, Mixer 9 doesn't expose the connection to DAC 0. So when building up a 'PCM Playback' amplifier control, it will fail since getting DAC 0 index of Mixer 9 returned -1. So I added a dac_mixer_idx to indicated the actual index of DAC 0 to Mixer 9. Following is the patch and next mail is another. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e5e14681 |
|
30-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix the silent front with independent-HP for VIA codecs Unmute DAC on front speaker path when Independent HP is enabled. When to enable Independent HP, the front speaker won't output any sound for VT1708, VT1708B, VT1708S and VT1702. I find the via_independent_hp_put() routine will mute DAC 0 path in Mixer 0. For these codecs, when using Independent HP, there could have two independent streams, one is from DAC0-->Mixer0-->Front Pin, the other is from DAC3-->GainSW3-->Side Pin. So I added a check for DAC-->Mixer path in activate_output_path(). If current path is DAC-->Mixer, no need to mute DAC index in Mixer. In fact, to change connection of Headphone pin or Mux connected with HP is enough. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
25250505 |
|
30-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Re-implementation of VIA Independent-HP sharing with side stream This patch adds the re-implementation of Independent-HP mode in the case where the DAC is shared between HP and side-channel streams. Now the driver tries to parse the output-path using the pre-parsed side-channel DAC for the independent HP output, too. When a playback PCM stream is opened with this shared mode, the Independent-HP mixer switch can't be changed for avoiding the conflict, thus it returns -EBUSY error. One remaining unintuitive issue is that the DAC volume is still controlled as "Side" volume although it's shared by both independent-HP and side streams. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e322a36d |
|
28-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix jack-detection on non-VT1708 VIA codecs Move codec init verb which is only applicatable for VT1708. I've found the root cause that jack plugged in can't be detected. The verb in vt1708_init_verbs is used to power down jack detect circuit. This verb is only applicable to VT1708. vt1708 didn't implement jack detect function in hardware, so we should shut down this function to avoid noise. But for other codecs, hardware implement jack detect function. If sending this verb during initialization, jack detect will be invalid. So I move this verb from via_parse_auto_config() to patch_vt1708(). Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
8d087c76 |
|
27-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Create snd_hda_get_conn_index() helper function Create snd_hda_get_conn_index() helper function for obtaining the connection index of the widget. Replaced the similar codes used in several codec-drivers with this common helper. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
63f10d2c |
|
28-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix unsol event initializations for VIA codecs Fix a issue to enable unsolicited response to line-out pins. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a86a88ea |
|
22-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Implement dynamic-ADC switching for VIA codecs Some VIA codecs like VT1702 provide the input-route only to specific ADCs such as digital-mic inputs. These routes aren't covered by the normal primary ADC, and for now, user had to open the capture stream assigned to that special ADC manually for using such inputs. This patch implements a way to switch the current ADC dynamically per the input-source selection in such a case. When this workaround is activated, the driver provides only one capture stream and one input- source control but with the full possible inputs. The driver switches the ADC to be used (or being used) according to the input-source on the fly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f2b1c9f0 |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Auto-mute smart51 surround pins for VIA codecs When smart51 mode is enabled, auto-mute these surround outputs as well as the primary line-out. Also this patch includes minor clean-ups. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ddd304d8 |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove redundant VT1709 and VT1708B codes Unify the VT1709 10ch and 6ch parsers, as well as VT1708B 8ch and 4ch parsers. They have no difference now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
09a9ad69 |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - VT1708 independent HP routing fix The codecs like VT1708 needs more complicated routing using the mixer widget rather than the simple selector widgets. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a934d5a9 |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix surround-volume parsing for VT1708B codecs The surround/CLFE/side DACs on VT1708B and co have no amp but the connected selector widgets have the amp instead. Fix the parser to check these selector widgets for the possible mixer controls as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1e11cae1 |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix the check of loopback-mixer element index in patch_via.c Fix the check of the multiple loopback-mixer, which gave sometimes a wrong index assigned to an element even for different names, e.g. Mic and Front Mic. Now check the label properly for avoid duplication. Reported-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0f98c24b |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Assign smart51 only in the same stack for VIA codecs The input jacks assigned as the smart51 outputs must be in the same stack, either rear, front or other. Also, prefer line-in as the surround to mic-in. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
8df2a312 |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix re-routing of HP-independent mode in patch_via.c Re-route the whole output path when HP-independent mode is changed. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a00a5fad |
|
21-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - Fix creations of playback volume controls in patch_via.c Fix a issue to create playback volume control if pin has amplifier capability but not DAC. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
8e3679dc |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Revisit output_path parsing in patch_via.c Change the order of the output-path list in a way from the DAC to the target pin. Also now the list include the target pin, too. Together with this format change, simplify the arguments of parse_output_path() function, and fix the initialization in via_auto_init_output(). Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
30f7c5d4 |
|
21-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use xxx Boost Volume for VIA Drop "Capture" prefix from the mic-boost names. Otherwise some control names can overflow the max name length. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e905a83a |
|
20-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: VIA HDA: Create a master amplifier control for VT1718S. Create a master volume and mute control of playback for VT1718S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ba31a60d |
|
20-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: VIA HDA: Mute/unmute mixer conncted to Headphone for VT1718S. When switch HP independent mode, mute/unmute connctions of mixer which is connected to headphone for VT1718S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
42467b32 |
|
20-Jun-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: VIA HDA: Modify initial verbs list for VT1718S. Remove some invalid initial verbs and correct some wrong initial verbs for VT1718S codec. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ada509ec |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Simplify analog-low-current mode check for VIA codecs Use the existing aa-loop list for simplifying the check for analog low-current mode. Also fix the stream count test for playback streams. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
47be05ce |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove NID_MAPPING hacks in patch_via.c There is no longer virtual kmixer element for NID mapping. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c6191607 |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove unused defines and struct fields in patch_via.c Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6aadf41d |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Name the primary out as Speaker when needed for VIA codecs When the primary output is the speaker output, rather name it as "Speaker". This will be more intuitive. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
13af8e77 |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Create loopback-list dynamically in patch_via.c Create loopback list dynamically from the parsed input pins for VIA codecs instead of the fixed arrays. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e3d7a143 |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix smart51 handling again Fix the broken detection of smart51 and its handling. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
370bafbd |
|
19-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Create virtual-master control for VIA codecs Now let's add the missing Master control to VIA codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4a918ffe |
|
19-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Initialize unsol events dynamically in patch_via.c Issue the init verbs of unsolicited events dynamically from the parsed results for VIA codecs. Also, consolidate the unsol handlers for HP and line-out mutes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
096a8854 |
|
19-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Initialize input-path dynamically in patch_via.c Similarly like the previous commit, initialize the input-paths dynamically from the parsed results instead of the fixed array for VIA codecs. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5d41762a |
|
20-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Initialize output path dynamically in patch_via.c Instead of fixed array for each codec type, initialize the output path dynamically from the parsed results. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0fe0adf8 |
|
19-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Replace with standard consts in patch_via.c Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ece8d043 |
|
19-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix independent-HP handling in patch_via.c Fix races in handling of HP DAC and independent streams for VIA codecs. Also, allow the HP output path without front-DAC, and removed unnecessary activation of HP mixer elements. This also removes the handling of shared side/HP stream; it's anyway implemented in a broken way, so we need to re-implement the feature later... Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
12daef65 |
|
18-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Unify auto-parser in patch_via.c Now all codecs use the same parser-path, so we can reduce into a single auto-parser function. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7f0df88c |
|
18-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Return error for invalid setup for VIA Instead of ignoring the invalid pin configuration, return the error. This will avoid unexpected crash, anyway. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d7a99cce |
|
18-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Unify capture-mixer creations in patch_via.c Create capture-related mixer elements dynamically from the parsed ADCs and input-pins instead of fixed values for each codec. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7eb56e84 |
|
18-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Assign HP-independent PCM to individual stream Instead of using the secondary substream, create an individual PCM stream for HP-independent PCM. Otherwise it's difficult to handle different channel numbers with multi-channel stream in the sam PCM stream structure. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9af74210 |
|
18-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Unify PCM assignments in patch_via.c Unify PCM streams for all codecs by assigning the NID dynamically. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
57307bf2 |
|
18-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Don't create secondary substream when no independent-hp is used For VIA codecs, we shouldn't create a substream for independent HP mode, when no individual HP DAC is found. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f4a7828b |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Re-implement smart51 detection for VIA codecs Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4a79616d |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Unify output-control parsing in patch_via.c Parse the output-paths more dynamically, i.e. traverse the paths from each output pin instead of fixed assignment for each codec. Now all codecs are using the same output parser code. The smart51 setup doesn't work with this change, and will be fixed in the next commits. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
620e2b28 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Unify input-volume creations in patch_via.c Now storing the analog-mixer widget in spec, we can simplify the rest parts. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
64be285b |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Auto-mute all LO and speakers in patch_via.c Muting all line-outs and/or speakers is more common in other drivers, so we should follow it, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3e0693e2 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Change pin-ctl for auto-muting in patch_via.c Mute the outputs via pin-controls instead of amps for the auto-mute handling. This makes our life easier as it avoids conflict of the states between the mixer elements and the auto-mute toggles. With this change, we can use vmaster for the master control easily now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
82673bc8 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Generate PCM names dynamically in patch_via.c This reduces lots of static strings. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
291c9e33 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Refactor ctl array handling in patch_via.c No functional change. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e06e5a29 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Defer mixer element creation to the right time in patch_via.c The jack-detect control should be created at the time of build_controls callback instead of calling snd_hda_add_ctls() at the tree-parsing time. For that, copy the control to the temporary array like other cases. Also, fixed typos of vt1708_jack_detect in all places. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a766d0d7 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fill ADCs dynamically for VIA codecs Instead of giving the fixed ADC list, parse the widgets and fill in ADCs dynamically. Also, probe the stereo-mixer input more dynamically, too. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
24088a58 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add control to suppress the dynamic pin-power for VIA Currently VIA driver controls the power-state of each pin per jack detection. But, it means that the power-state mismatch may occur when the machine doesn't give the proper jack-detection. For avoiding this problem, a new control element "Dynamic Power-Control" is provided so that user can turn on/off the pin-power control. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5f4b36d6 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove superfluous NID_MAPPING use for smart51 mixer Just a minor clean up; nid-mapping can be set directly to the smart51 mixer element. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ad240941 |
|
17-Jun-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix no NID error with VIA codecs The via driver spews warnigs like hda-codec: no NID for mapping control Independent HP:0:0 with some codecs because snd_hda_add_nid() is called with nid=0. This patch fixes it by skipping the call when no corresponding widget is found. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
74b654c9 |
|
01-Jun-2011 |
Stephen Warren <swarren@nvidia.com> |
ALSA: hda: Virtualize SPDIF out controls The SPDIF output controls apply to converter widgets. A future change will create a PCM device per pin widget, and hence a set of SPDIF output controls per pin widget, for certain HDMI codecs. To support this, we need the ability to virtualize the SPDIF output controls. Specifically: * Controls can be "unassigned" from real hardware when a converter is not used for the PCM the control was created for. * Control puts only write to hardware when they are assigned. * Controls can be "assigned" to real hardware when a converter is picked to support output for a particular PCM. * When a converter is assigned, the hardware is updated to the cached configuration. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7c935976 |
|
01-Jun-2011 |
Stephen Warren <swarren@nvidia.com> |
ALSA: hda: Allow multple SPDIF controls per codec Currently, the data that backs the kcontrols created by snd_hda_create_spdif_out_ctls is stored directly in struct hda_codec. When multiple sets of these controls are stored, they will all manipulate the same data, causing confusion. Instead, store an array of this data, one copy per converter, to isolate the controls. This patch would cause a behavioural change in the case where snd_hda_create_spdif_out_ctls was called multiple times for a single codec. As best I can tell, this is never the case for any codec. This will be relevant at least for some HDMI audio codecs, such as the NVIDIA GeForce 520 and Intel Ibex Peak. A future change will modify the driver's handling of those codecs to create multiple PCMs per codec. Note that this issue isn't affected by whether one creates a PCM-per-converter or PCM-per-pin; there are multiple of both within a single codec in both of those codecs. Note that those codecs don't currently create multiple PCMs for the codec due to the default HW mux state of all pins being to point at the same converter, hence there is only a single converter routed to any pin, and hence only a single PCM. Signed-off-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
90dd48a1 |
|
01-May-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Constify fixup and other array data in patch_via.c Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
dda14410 |
|
02-May-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Constify some API function arguments Also fixed the assignment of multiout.dac_nids to satisfy const. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
525566cb |
|
28-Apr-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix notify_aa_path_ctls() invalid issue. In notify_aa_path_ctls(), adds 'rear mic' item and confirms the A-A path control existing before notifying card that the A-A path volume is muted if smart5.1 is enabled. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
cb34c207 |
|
27-Apr-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix Smart5.1 isn't useful for 6 audio jacks motherboard. For some motherboards with 5 or 6 audio jacks which had six or eight multiple channels output, smart5.1 item is no useful and should be removed. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ec7e7e42 |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Update unsolicited event function Update unsolicited event process function via_unsol_event() to make it can process more unsolicited events. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
eadb9a80 |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Update VT2002P initial verbs Add some hardware related verbs in VT2002P initial verbs. These verbs are used to fix Class-D speaker no sound issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4ab2d53a |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Update VT1718S initial verbs Add a verb to enable control amplifier of stereo mixer in VT1718S initial verbs. Set stereo mixer default amplifier value as un-mute. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
aa266fcc |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Update VT1708 initial verbs Add a verb of power down jack detect in VT1708 initial verbs. This verb is used to avoid noise caused by hardware issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
27439ce7 |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Add VT1802 check in via_speaker_automute function Add VT1802 check in via_speaker_automute() function. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
e87885fe |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix side channel mute invalid issue Modify side_mute_channel() and update_side_mute_status() functions to fix invalid side channel mute issue of VT2002P, VT1812 and VT1802 codecs. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
11890956 |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Add support for VT1802 Add support for VT1802 codec, which is similiar with VT2002P except VT1802 has no Class-D and has some different pin widget id. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bc92df7f |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Add support for VT1705 Add support for VT1705 codec, which is similiar with VT1708S except it has 6 channels output. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3e95b9ab |
|
23-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Add new power management function. Use set_widgets_power_state() function to seperately control different codecs' power management actions and to replace the original large function. Also fix some wrong widgets power up sequence which caused no sound issue under Smart5.1 mode and Independent HP mode. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ee3c35c0 |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix VT1708 can't build up Headphone control issue Since VT1708 didn't support the control of getting connection number, building of headphone control will fail in via_hp_build() function. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
970f630f |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Correct stream names for VT1818S Correct stream names of analog playback and capture streams for VT1818S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0341ccd7 |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix codec type for VT1708BCE at the right timing Add get_codec_type() in via_new_spec() function to make sure getting correct codec type before building mixer controls. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
16922281 |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix invalid A-A path volume adjust issue Modify vt_auto_create_analog_input_ctls() function to fix invalid a-a path volume adjust issue for VT1708S, VT1702 and VT1716S codecs. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ab657e0c |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Add missing support for VT1718S in A-A path Modify mute_aa_path() function to support VT1718S codec. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ce0e5a9e |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix independent headphone no sound issue Modify via_independent_hp_put() function to support VT1718S and VT1812 codecs, and fix independent headphone no sound issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bff5fbf5 |
|
22-Mar-2011 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: hda - VIA: Fix stereo mixer recording no sound issue Modify function via_mux_enum_put() to fix stereo mixer recording no sound issue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Cc: <stable@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
30649676 |
|
21-Feb-2011 |
David Henningsson <david.henningsson@canonical.com> |
ALSA: HDA: Fix mic initialization in VIA auto parser This typo caused some microphone inputs not to be correctly initialized on VIA codecs. Reported-By: Mark Goldstein <goldstein.mark@gmail.com> Cc: stable@kernel.org Signed-off-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ea734963 |
|
17-Jan-2011 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - consitify string arrays Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5b84ba26 |
|
11-Dec-2010 |
Tejun Heo <tj@kernel.org> |
sound: don't use flush_scheduled_work() flush_scheduled_work() is deprecated and scheduled to be removed. * cancel[_delayed]_work() + flush_scheduled_work() -> cancel[_delayed]_work_sync(). * wm8350, wm8753 and soc-core use custom code to cancel a delayed work, execute it immediately if it was pending and wait for its completion. This is equivalent to flush_delayed_work_sync(). Use it instead. Signed-off-by: Tejun Heo <tj@kernel.org> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
10a20af7 |
|
09-Sep-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Improve the input source name labels This patch improves the input-source label strings to be generated from the pin information instead of fixed strings per AUTO_PIN_* type. This gives more suitable labels, especially for mic and line-in pins. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
86e2959a |
|
09-Sep-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove AUTO_PIN_FRONT_{MIC|LINE} We can assign multiple pins to a single role now, let's reduce the redundant FRONT_MIC and FRONT_LINE. Also, autocfg->input_pins[] is no longer used, so this is removed as well. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b5786e85 |
|
09-Sep-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Keep char arrays in input_mux items Keep char array in the input_mux item itself instead of pointing to an external string. This is a preliminary work for improving the input-mux name based on the pin role. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7b315bb4 |
|
30-Aug-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use new inputs[] field to parse input-pins for VIA codecs Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f3268512 |
|
30-Aug-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Refactor input-pin parser for VIA codecs patch_via.c has redundant codes for parsing the input-pins. Although they are pretty similar, but all implemented in different functions just because of hard-coded ids and slight incompatibilities. This patch refactors the codes to use the common helper function, resulting in the reduction of many lines. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
32e0191d |
|
12-Jul-2010 |
Clemens Ladisch <clemens@ladisch.de> |
ALSA: HDA: VT1708S: fix Smart5.1 mode Correctly configure bidirectional pins when resuming; do not power down widgets when they are needed for Smart5.1 output; and on 3-jack boards, create the streams and controls needed for six channels. Signed-off-by: Clemens Ladisch <clemens@ladisch.de> Reported-and-tested-by: Viliam Kubis <viliam.kubis@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3d83e577 |
|
14-Apr-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Avoid invalid "Independent HP" control for VIA codecs Some VIA codecs have no multiple source selection for headphone pins, thus it's useless (and wrong) to create "Independent HP" control on them. This patch adds the check of connections to skip the control in such a case. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b331439d |
|
14-Apr-2010 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix control element allocations in VIA codec parser The commit 5b0cb1d850c26893b1468b3a519433a1b7a176be ALSA: hda - add more NID->Control mapping breaks the control element allocation by returning a wrong value. Let's fix it. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
21949f00 |
|
23-Dec-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix NID association for capture mixers Fix the wrong implementation of NID <-> kctl mapping for capture mixers introduced by the ocmmit 5b0cb1d850c26893b1468b3a519433a1b7a176be. So far, the driver returns an error at probe. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
5e26dfd0 |
|
10-Dec-2009 |
Jaroslav Kysela <perex@perex.cz> |
ALSA: hda - simplify usage of HDA_SUBDEV_AMP_FLAG The HDA_SUBDEV_NID_FLAG is duplicate for amplifier control elements. Move get_amp_nid_() call to the snd_hda_ctl_add() function. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
9e3fd871 |
|
08-Dec-2009 |
Jaroslav Kysela <perex@perex.cz> |
ALSA: hda - introduce HDA_SUBDEV_AMP_FLAG (ControlAmp in proc) The purpose of this changeset is to show information about amplifier setting in the codec proc file. Something like: Control: name="Front Playback Volume", index=0, device=0 ControlAmp: chs=3, dir=Out, idx=0, ofs=0 Control: name="Front Playback Switch", index=0, device=0 ControlAmp: chs=3, dir=In, idx=2, ofs=0 Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
5b0cb1d8 |
|
08-Dec-2009 |
Jaroslav Kysela <perex@perex.cz> |
ALSA: hda - add more NID->Control mapping This set of changes add missing NID values to some static control elemenents. Also, it handles all "Capture Source" or "Input Source" controls. Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
d56757ab |
|
18-Nov-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9c96fa59 |
|
16-Nov-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Get rid of magic digits for subdev hack Define a proper const for a magic 31bit flag for subdev / NID setup with a brief comment. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4d02d1b6 |
|
12-Nov-2009 |
Jaroslav Kysela <perex@perex.cz> |
ALSA: hda - proc - add support for dynamic controls to mixer<->NID mapping This patch adds support for dynamically created controls to proc codec file (Control: lines). Signed-off-by: Jaroslav Kysela <perex@perex.cz> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
01a1796b |
|
13-Nov-2009 |
Andrew Morton <akpm@linux-foundation.org> |
sound/pci/hda/patch_via.c: work around gcc-4.0.2 ICE sound/pci/hda/patch_via.c: In function 'via_hp_bind_automute': sound/pci/hda/patch_via.c:2074: internal compiler error: in do_SUBST, at combine.c:462 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. [added a comment by tiwai] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
36dd5c4a |
|
19-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: VIA HDA: Add support for VT1818S. Add support for VT1818S codec, which is similiar with VT1708S. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d2ed82a3 |
|
13-Oct-2009 |
Logan Li <loganli@viatech.com.cn> |
ALSA: HDA VIA: Remove 48k sample rate limit for S/PDIF 48 kHz limit is for slightly better stability, and sample rates other than 48k (like 96k/192k) are for better sound quality. We choose better quality, so remove the 48k limit. Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0f48327e |
|
11-Oct-2009 |
Stephen Rothwell <sfr@canb.auug.org.au> |
sound: use semicolons to end statements Fixes: sound/pci/hda/patch_via.c: In function 'patch_vt1718S': sound/pci/hda/patch_via.c:4951: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt1716S': sound/pci/hda/patch_via.c:5441: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt2002P': sound/pci/hda/patch_via.c:5794: error: expected expression before 'return' sound/pci/hda/patch_via.c: In function 'patch_vt1812': sound/pci/hda/patch_via.c:6148: error: expected expression before 'return' Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
377ff31a |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Only cosmetic changes Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
8e86597f |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: comments: update copyright, changeset, etc. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bfdc675a |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Change PW4 connect select default to to MW0. According to customer request, hp should be default to redirected mode, i.e. PW4 connect select default to to MW0. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
71eb7dcc |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: rename vt1708_control_templates[]. To via_control_templates[]. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
ab6734e7 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VT1812 support. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
25eaba2f |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VT2002P support. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f3db423d |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VT1716S support. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bb3c6bfc |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VT1828S and VT2020 support. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
eb7188ca |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VT1718S support. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
bc7e7e5c |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Move backdoor verbs to vt17xx_volume_init_verb As init verbs, vt17xx_volume_init_verb is a better place to hold them. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
6369bcfc |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Replace MIC_BOOST_VOLUME. With snd_hda_override_amp_caps. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
4483a2f5 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Modify vt1709_auto_create_multi_out_ctls. Rewrite nid_vol/mute assignment for clearity, and check line connection before adding control for it. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9645c203 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Modify vt1708_auto_create_multi_out_ctls. Rewrite nid_vol/mute assignment for clearity, and check line connection before adding control for it. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c873cc25 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Replace via_playback_pcm_prepare/cleanup Replaced with via_playback_multi_pcm_prepare/cleanup to support multi-stream operations Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
82ef9e45 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Modify vt1708_set_pinconfig_connect function. like seqassoc 0xff, seqassoc 0xf0 of vt1708 should override Port Connectivity field into 'AC_JACK_PORT_COMPLEX' Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1f2e99fe |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add Jack detect feature for VT1708. VT1708 does not support unsolicited response, but we need hp detect to automute speaker. Implemented in workqueue. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
dcf34c8c |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Refresh front playback mute in via_hp_automute. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a34df19a |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VIA_JACK_EVENT process in via_unsol_event. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a80e6e3c |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: When changing input source, update power state. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1564b287 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add smart5.1 function. Smart 5.1 is for 3-jacks model, to reuse input pins as outputs. While off, they act as "line out" / "line in" / "mic in". While on, they acts as "line out" / "back left/right" / "center/lfe". Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
cdc1784d |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Rewrite via_independent_hp_put Use hp_independent_mode_index to store hp index, and simplify function via_independent_hp_put with it. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0713efeb |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Change VT1708S & VT1702 hp mode controls For VT1708S and VT1702, deactivate "Headphone Playback Volume" and "Headphone Playback Mute" control if "Independent HP" mode is OFF. and rename VT1702 "Independent HP" text. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9510e8dd |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Remove unused argument of via_new_analog_input Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
17314379 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add low current mode for power saving. For VT1708B, VT1708S and VT1702, enter low current mode if no analog stream is opened and all aa path mute. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
f5271101 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA HDA VIA: Add VIA_CTL_WIDGET_ANALOG_MUTE control type Enter low power state if AA-Path volume is muted. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
c2c02ea3 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Limit VT1702 AA-Path max volume according to customer request, VT1702 AA-Path max volume (12 dB) is too high, so limit to 0 dB. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
518bf3ba |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Add VT1708B-CE codec support. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
744ff5f4 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Change get_codec_type argument to hda_codec type Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
b6153e11 |
|
10-Oct-2009 |
Lydia Wang <lydiawang@viatech.com.cn> |
ALSA: HDA VIA: Remove unused IS_VT17xx_VENDORID macro IS_VT17*_VENDORID macros are used nowhere, so clean them up. Signed-off-by: Lydia Wang <lydiawang@viatech.com.cn> Signed-off-by: Logan Li <loganli@viatech.com.cn> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0f67a611 |
|
31-Aug-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add missing mux check for VT1708 In patch_vt1708(), the check of MUX nids is missing and this results in the -EINVAL error in accessing Input Source mixer element. Simpliy adding the call of get_mux_nids() fixes the problem. Reference: Novell bnc#534904 https://bugzilla.novell.com/show_bug.cgi?id=534904 Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
a22d543a |
|
26-Jul-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Introduce get_wcaps_type() macro Add a helper macro to retrieve the widget type from wiget cap bits. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1c55d521 |
|
07-Jul-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Check widget types while parsing capture source in patch_via.c 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>
|
#
337b9d02 |
|
07-Jul-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix capture source selection in patch_via.c 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>
|
#
d3a11e60 |
|
07-Jul-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Add missing EAPD initialization for VIA codecs 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>
|
#
55d1d6c1 |
|
07-Jul-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Clean up VT170x dig-in initialization code Minor clean up for initializing the digital-in pin. No functional changes. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9da29271 |
|
07-May-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codecs VIA VT1708S and VT1702 codecs can have two SPDIF outputs. One of them should have been handled as the extra digital out, but it's not properly accessed. This patch fixes the handling of the secondary SPDIF on these codecs with the slave dig-out as found in patch_sigmatel.c. This makes the use of such a device easier (for normal users). Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
2f334f92 |
|
20-Feb-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove codec-specific pin save/restore functions Replace the accessor to pin defaults with the common code for caching. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
0852d7a6 |
|
11-Feb-2009 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Detect multiple digital-out pins Detect multiple digital-out pins in snd_hda_parse_pin_defconfig(). The dig_out_pin and dig_out_type fields become arrays. The codec parser still doesn't use this multiple pins detection, though. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3218c178 |
|
18-Dec-2008 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Remove duplicated strings from codec name Remove codec vendor names from the codec name strings. The vendor name is already given from the vendor name table, so displayed doubly. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
1289e9e8 |
|
27-Nov-2008 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Modularize HD-audio driver Split the monolithc HD-audio driver into several pieces: - snd-hda-intel HD-audio PCI controller driver; loaded via udev - snd-hda-codec HD-audio codec bus driver - snd-hda-codec-* Specific HD-audio codec drivers When built as modules, snd-hda-codec (that is invoked by snd-hda-intel) looks up the codec vendor ID and loads the corresponding codec module automatically via request_module(). When built in a kernel, each codec drivers are statically hooked up before probing the PCI. This patch adds appropriate EXPORT_SYMBOL_GPL()'s and the module information for each driver, and driver-linking codes between codec-bus and codec drivers. TODO: - Avoid EXPORT_SYMBOL*() when built-in kernel - Restore __devinit appropriately depending on the condition Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
2eca83ba |
|
17-Nov-2008 |
Wu Fengguang <fengguang.wu@intel.com> |
ALSA: hda: remove redundant get_amp_nid() Remove get_amp_nid(): it duplicates the one defined in hda_local.h Signed-off-by: Wu Fengguang <wfg@linux.intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
603c4019 |
|
30-Jul-2008 |
Takashi Iwai <tiwai@suse.de> |
ALSA: hda - Use generic array helpers Use generic array helpers to simplify array handling in snd-hda-intel. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
d7426329 |
|
15-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA VIA: Replace buggy Mic Boost VT1708S' Mic Boost should be hidden in hardware design according to some customers' requirements. However, in case of bugs, it has to be exhibited to normal users, so we need to: * open a software backdoor, which is disabled by default in hardware * re-write .tlv & .info, to indicate the actual necessary info, which we cannot get from amplifier's capabiliies Signed-off-by: Logan Li <LoganLi@viatech.com.cn> Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
5691ec7f |
|
15-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA VIA: Fix 2nd S/PDIF out function As it seems, the recently-sent patch for the 2nd S/PDIF (HDMI) output is not working with alsa-kernel 1.0.18rc3. This patch makes it work by * activating the second S/PDIF output pin in the pin config * consolidating the dig_playback_pcm_prepare() with extra_dig_pcm_prepare() functions * remove the need for an extra hda_pcm_stream structure and rather represents the second digital output as substream within the primary S/PDIF digital out stream. Signed-off-by: Logan Li <LoganLi@viatech.com.cn> Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
f8fdd495 |
|
15-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA VIA: Fix crash on codecs without Headphone Don't enumerate via_hp_mixer while hp_mux is null (headphone does not exist), to fix the crash of via_independent_hp_info (via_hp_mixer's .info), which will reference hp_mux. Signed-off-by: Logan Li <LoganLi@viatech.com.cn> Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
98aa34c0 |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: Second S/PDIF (HDMI) support The VT1702 and VT1708S have a second S/PDIF output which is used to connect to a HDMI transmitter. This patch adds support for it. Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
0aa62aef |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: Independent DAC for headphone This mode allows an output stream to have two substreams, one for the speakers and one for the headphone. Each of the substreams has independent PCM data and uses a different DAC. Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
69e52a80 |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: Mute on headphone plug-in Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
d949cac1 |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: Add VT1708S and VT1702 support The VT1702 and VT1708S codecs are new HDA codecs by VIA. This patch adds support for them to the patch_via.c file for HDA Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
fb4cb772 |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: Fix inversion of surround and side channels In the current driver, there is a consistent mistake between the SURROUND and the SIDE channels. This patch fixes it. Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
76d9b0dd |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: HP and CD pin connect config Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
eb14a46c |
|
09-Sep-2008 |
Harald Welte <HaraldWelte@viatech.com> |
ALSA: HDA patch_via.c: cleanup * add extra parenthesis to make code more readable * use kzalloc() for alloc+zero rather than kcalloc() * ensure that AUTO_SEQ_* starts at 0 Signed-off-by: Harald Welte <HaraldWelte@viatech.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
bc9b56238 |
|
23-May-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda - Fix noise on VT1708 codec We get quite noisy output on the right channel on VT1708 codec when 24bit samples are used. Suppress the 24bit support until any real fix is found. https://bugzilla.novell.com/show_bug.cgi?id=390473 Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
888afa15 |
|
18-Mar-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - keep the format verb at closing PCM streams Keep the format verb at closing PCM streams. Introduced snd_hda_codec_cleanup_stream() for the parcicular purpose. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
3c9a3203 |
|
29-Feb-2008 |
Harvey Harrison <harvey.harrison@gmail.com> |
[ALSA] sound: hda: missing includes of hda_patch.h Move the array declaration to hda_codec.c where it is used and add includes where the individual presets are declared. Fixes the following sparse warnings: sound/pci/hda/patch_realtek.c:13744:25: warning: symbol 'snd_hda_preset_realtek' was not declared. Should it be static? sound/pci/hda/patch_cmedia.c:729:25: warning: symbol 'snd_hda_preset_cmedia' was not declared. Should it be static? sound/pci/hda/patch_analog.c:3656:25: warning: symbol 'snd_hda_preset_analog' was not declared. Should it be static? sound/pci/hda/patch_sigmatel.c:3995:25: warning: symbol 'snd_hda_preset_sigmatel' was not declared. Should it be static? sound/pci/hda/patch_si3054.c:286:25: warning: symbol 'snd_hda_preset_si3054' was not declared. Should it be static? sound/pci/hda/patch_atihdmi.c:156:25: warning: symbol 'snd_hda_preset_atihdmi' was not declared. Should it be static? sound/pci/hda/patch_conexant.c:1721:25: warning: symbol 'snd_hda_preset_conexant' was not declared. Should it be static? sound/pci/hda/patch_via.c:1962:25: warning: symbol 'snd_hda_preset_via' was not declared. Should it be static? Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
9a08160b |
|
12-Feb-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - Add "IEC958 Default PCM" switch Added a new mixer switch to enable/disable the sharing of the default PCM stream with analog and SPDIF outputs. When "IEC958 Default PCM" switch is on, the PCM stream is routed both to analog and SPDIF outputs. This is the behavior in the earlier version. Turning this switch off has a merit for some codecs, though. Some codec chips don't support 24bit formats for SPDIF but only for analog outputs. In this case, you can use 24bit format by disabling this switch. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
7ba72ba1 |
|
06-Feb-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-intel - Fix PCM device number assignment In the current scheme, PCM device numbers are assigned incrementally in the order of codecs. This causes problems when the codec number is irregular, e.g. codec #0 for HDMI and codec #1 for analog. Then the HDMI becomes the first PCM, which is picked up as the default output device. Unfortuantely this doesn't work well with normal setups. This patch introduced the fixed device numbers for the PCM types, namely, analog, SPDIF, HDMI and modem. The PCM devices are assigned according to the corresponding PCM type. After this patch, HDMI will be always assigned to PCM #3, SPDIF to PCM #1, and the first analog to PCM #0, etc. Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
#
12b74c80 |
|
14-Jan-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - Enable VIA SPDIF input pin Enable the SPDIF input-pin on VIA codecs when SPDIF-input is enabled by BIOS. Also, including a bit code clean up. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
52a1d4f9 |
|
12-Jan-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - Remove obsolete FIXME's Removed 'FIXME' comments that have been already fixed. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
9004acc7 |
|
08-Jan-2008 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] Remove sound/driver.h This header file exists only for some hacks to adapt alsa-driver tree. It's useless for building in the kernel. Let's move a few lines in it to sound/core.h and remove it. With this patch, sound/driver.h isn't removed but has just a single compile warning to include it. This should be really killed in future. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
f7278fd0 |
|
13-Dec-2007 |
Josepch Chan <josephchan@via.com.tw> |
[ALSA] hda-codec - Add support for VIA VT1708B HD audio codec This patch adds support for VIA new HD audio codec, VT1708B. Signed-off-by: Josepch Chan <josephchan@via.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
41923e44 |
|
22-Oct-2007 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - Fix possible array overflow dac_nids arrays in each codec support code may have up to 5 items when assigned from the auto-configurator. Some codec codes have less numbers than the possible max. This patch defines the constant and fixes the array definitions. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
#
cb53c626 |
|
10-Aug-2007 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-intel - Add POWER_SAVE option Added CONFIG_SND_HDA_POWER_SAVE kconfig. It's an experimental option to achieve an aggressive power-saving. With this option, the driver will turn on/off the power of each codec and controller chip dynamically on demand. The patch introduces a new module option 'power_save'. It specifies the second of time-out for automatic power-down. As default, it's 10 seconds. Setting 0 means to suppress the power-saving feature. The codec may have analog-input loopbacks, which are usually represented by mixer elements such as 'Mic Playback Switch' or 'CD Playback Switch'. When these are on, we cannot turn off the mixer and the codec chip has to be kept on. For bookkeeping these states, a new codec-callback is introduced. For the bus-controller side, a new callback pm_notify is introduced, which can be used to turn on/off the contoller appropriately. Note that this power-saving might cause slight click-noise at power-on/off. Also, it might take some time to wake up the codec, and might even drop some tones at the very beginning. This seems to be the side-effect of turning off the controller chip. This turn-off of the controller can be disabled by undefining HDA_POWER_SAVE_RESET_CONTOLLER in hda_intel.c. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
|
#
82beb8fd |
|
10-Aug-2007 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - optimize resume using caches So far, the driver looked the table of snd_kcontrol_new used for creating mixer elements and forces to call each of its put callbacks in PM resume code. This is too ugly and hackish. Now, the resume is simplified using the codec amp and command register caches. The driver simply restores the values that have been written in the cache table. With this simplification, most codec support codes don't require any special resume callback. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
|
#
6b97eb45 |
|
05-Apr-2007 |
Takashi Iwai <tiwai@suse.de> |
[ALSA] hda-codec - Fix SPDIF output Fix SPDIF output (at least on Realtek codecs). The DIGI_CONVERT verbs have to be reset before the PCM stream is set up. Otherwise the digital setup is screwed up. Also, check the AMP capability before setting AMP of the digital out widget. Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
|
#
6473d160 |
|
06-Mar-2007 |
Jean Delvare <khali@linux-fr.org> |
PCI: Cleanup the includes of <linux/pci.h> I noticed that many source files include <linux/pci.h> while they do not appear to need it. Here is an attempt to clean it all up. In order to find all possibly affected files, I searched for all files including <linux/pci.h> but without any other occurence of "pci" or "PCI". I removed the include statement from all of these, then I compiled an allmodconfig kernel on both i386 and x86_64 and fixed the false positives manually. My tests covered 66% of the affected files, so there could be false positives remaining. Untested files are: arch/alpha/kernel/err_common.c arch/alpha/kernel/err_ev6.c arch/alpha/kernel/err_ev7.c arch/ia64/sn/kernel/huberror.c arch/ia64/sn/kernel/xpnet.c arch/m68knommu/kernel/dma.c arch/mips/lib/iomap.c arch/powerpc/platforms/pseries/ras.c arch/ppc/8260_io/enet.c arch/ppc/8260_io/fcc_enet.c arch/ppc/8xx_io/enet.c arch/ppc/syslib/ppc4xx_sgdma.c arch/sh64/mach-cayman/iomap.c arch/xtensa/kernel/xtensa_ksyms.c arch/xtensa/platform-iss/setup.c drivers/i2c/busses/i2c-at91.c drivers/i2c/busses/i2c-mpc.c drivers/media/video/saa711x.c drivers/misc/hdpuftrs/hdpu_cpustate.c drivers/misc/hdpuftrs/hdpu_nexus.c drivers/net/au1000_eth.c drivers/net/fec_8xx/fec_main.c drivers/net/fec_8xx/fec_mii.c drivers/net/fs_enet/fs_enet-main.c drivers/net/fs_enet/mac-fcc.c drivers/net/fs_enet/mac-fec.c drivers/net/fs_enet/mac-scc.c drivers/net/fs_enet/mii-bitbang.c drivers/net/fs_enet/mii-fec.c drivers/net/ibm_emac/ibm_emac_core.c drivers/net/lasi_82596.c drivers/parisc/hppb.c drivers/sbus/sbus.c drivers/video/g364fb.c drivers/video/platinumfb.c drivers/video/stifb.c drivers/video/valkyriefb.c include/asm-arm/arch-ixp4xx/dma.h sound/oss/au1550_ac97.c I would welcome test reports for these files. I am fine with removing the untested files from the patch if the general opinion is that these changes aren't safe. The tested part would still be nice to have. Note that this patch depends on another header fixup patch I submitted to LKML yesterday: [PATCH] scatterlist.h needs types.h http://lkml.org/lkml/2007/3/01/141 Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Badari Pulavarty <pbadari@us.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
#
c577b8a1 |
|
29-Nov-2006 |
Joseph Chan <josephchan@via.com.tw> |
[ALSA] hda-codec - Add support for VIA VT1708(A) HD audio codec This patch is VIA first release for HD audio codec, VT1708(A) and it provides geneneral HD audio driver features. Signed-off-by: Joseph Chan <josephchan@via.com.tw> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@suse.cz>
|