15 Dec, 2014
1 commit
-
... 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
16 Sep, 2014
2 commits
-
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
-
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
11 Sep, 2014
1 commit
-
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
11 Feb, 2014
1 commit
-
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
09 Dec, 2013
1 commit
-
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
29 Jul, 2013
1 commit
-
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
Signed-off-by: Takashi Iwai
25 Jun, 2013
1 commit
-
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
19 Jun, 2013
1 commit
-
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: [v3.9+]
Signed-off-by: Takashi Iwai
05 Jun, 2013
1 commit
-
Just a minor clean up.
Signed-off-by: Takashi Iwai
03 Jun, 2013
3 commits
-
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
Cc: [v3.9]
Signed-off-by: Takashi Iwai -
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
Cc: [v3.9]
Signed-off-by: Takashi Iwai -
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
Cc: [v3.9]
Signed-off-by: Takashi Iwai
22 Mar, 2013
1 commit
-
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
07 Feb, 2013
1 commit
-
Signed-off-by: Takashi Iwai
05 Feb, 2013
2 commits
-
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
Signed-off-by: Takashi Iwai -
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
Signed-off-by: Takashi Iwai
25 Jan, 2013
2 commits
-
... for small refactoring.
Signed-off-by: Takashi Iwai
-
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
21 Jan, 2013
1 commit
-
The original VIA codec parser enabled it as default, so let's keep the
behavior as it was.Signed-off-by: Takashi Iwai
12 Jan, 2013
3 commits
-
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
-
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
-
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
10 Dec, 2012
2 commits
-
Add support for new codec VT1808, which is similiar with VT1705CF.
Signed-off-by: Lydia Wang
Signed-off-by: Takashi Iwai -
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
Signed-off-by: Takashi Iwai
01 Dec, 2012
1 commit
-
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
28 Nov, 2012
1 commit
-
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
09 Nov, 2012
3 commits
-
A closer look shows that the name is not even used and can be removed.
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
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
-
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
07 Nov, 2012
3 commits
-
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
Signed-off-by: Takashi Iwai -
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
Cc:
Signed-off-by: Takashi Iwai -
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
Cc:
Signed-off-by: Takashi Iwai
10 Oct, 2012
1 commit
-
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: [v3.5+]
Signed-off-by: Takashi Iwai
08 Oct, 2012
2 commits
-
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
From what I can conclude all GPIO handling was removed in 2009.
Remove dead code remnants.Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
22 Sep, 2012
1 commit
-
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
Cc: [v3.6+]
Signed-off-by: Takashi Iwai
18 Sep, 2012
1 commit
-
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
Cc: [v3.5+]
Signed-off-by: Takashi Iwai
30 Aug, 2012
1 commit
-
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
22 Aug, 2012
1 commit
-
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