29 May, 2015
1 commit
-
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
Signed-off-by: Takashi Iwai
28 May, 2015
2 commits
-
When headphone mic boost is above zero, some 10 - 20 second delay
might occur before the headphone mic is operational.
Therefore disable the headphone mic boost control (recording gain is
sufficient even without it).(Note: this patch is not about the headset mic, it's about the less
common mic-in only mode.)BugLink: https://bugs.launchpad.net/bugs/1454235
Suggested-by: Kailang Yang
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
We've got a regression report that 4.1-rc causes noises on a Dell
laptop. Similar like Realtek codec, this seems also triggered by the
recent power_save_node feature. As this kind of issue is quite hard
to debug without actual hardware, disable the power_save_node flag for
this codec as a workaround.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=98971
Signed-off-by: Takashi Iwai
27 May, 2015
2 commits
-
A new AMD controller [1002:aac8] seems to need the quirk for other AMD
NS HDMI stuff, otherwise it gives noisy sounds.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=99021
Cc:
Signed-off-by: Takashi Iwai -
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
26 May, 2015
1 commit
-
Add ALC3246 for Dell platform.
Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
24 May, 2015
2 commits
-
This reverts commit 7290006d8c0900c56d8c58428134f02c35109d17.
Through the regression report, it was revealed that the
tpacpi_led_set() call to thinkpad_acpi helper doesn't only toggle the
mute LED but actually mutes the sound. This is contradiction to the
expectation, and rather confuses user.According to Henrique, it's not trivial to judge which TP model
behaves "LED-only" and which model does whatever more intrusive, as
Lenovo's implementations vary model by model. So, from the safety
reason, we should revert the patch for now.Reported-by: Martin Steigerwald
Cc: Pali Rohár
Cc:
Signed-off-by: Takashi Iwai -
Microsoft LifeCam HD-3000 (045e:0779) needs a similar quirk for
suppressing the unsupported sample rate inquiry.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=98481
Cc:
Signed-off-by: Vittorio Gambaletta
Signed-off-by: Takashi Iwai
20 May, 2015
3 commits
-
We've got reports that ALC3226 (a Dell variant of ALC292) gives click
noises at transition from D3 to D0 when the widget power-saving is
enabled. Further debugging session showed that avoiding it isn't
trivial, unfortunately, since paths are basically activated
dynamically while the pins have been already enabled.This patch disables the widget power-saving for such codecs.
Reported-by: Jonathan McDowell
Signed-off-by: Takashi Iwai -
The widget (node) power-saves restore the widget states at each
transition from D3 to D0 on each node. This was added in the commit
[d545a57c5f84:ALSA: hda - Sync node attributes at resume from widget
power saving]. However, the test was rater false-positive; this
wasn't needed for any codecs.Since the resync may take significant number of additional verbs to be
executed, it's better to reduce it. Let's disable it for now again.Signed-off-by: Takashi Iwai
-
The recently added DT support for the ac97 driver is causing
a gcc warning:sound/atmel/ac97c.c: In function 'atmel_ac97c_probe_dt':
sound/atmel/ac97c.c:919:29: warning: unused variable 'match' [-Wunused-variable]
const struct of_device_id *match;The variable is clearly unused, so we can remove it.
Signed-off-by: Arnd Bergmann
Acked-by: Alexander Stein
Signed-off-by: Takashi Iwai
19 May, 2015
2 commits
-
Microsoft LifeCam Studio (045e:0772) needs a similar quirk for
suppressing the wrong sample rate inquiry.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=98481
Cc:
Signed-off-by: Takashi Iwai -
Currently in snd_pcm_update_hw_ptr0 during interrupt,
we consider there were double acknowledged interrupts when:
1. HW reported pointer is smaller than expected, and
2. Time from last update time (hdelta) is over half a buffer time.However, when HW reported pointer is only a few bytes smaller than
expected, and when hdelta is just a little larger than half a buffer time
(e.g. ping-pong buffer), it wrongly treats this IRQ as double acknowledged.The condition #2 uses jiffies, but jiffies is not high resolution
since it is integer. We should consider jiffies inaccuracy.Signed-off-by: Koro Chen
Signed-off-by: Takashi Iwai
18 May, 2015
4 commits
-
…roonie/sound into for-linus
ASoC: Fixes for v4.1
A few more fixes for v4.1, some driver fixes plus one core fix which
fixes registration of DAI links when adding prefixes to CODECs to
deuplicate in multi-CODEC systems. -
The Lenovo ThinkPad L450 requires the ALC292_FIXUP_TPT440_DOCK fix in
order to get sound output on the docking stations audio port.This patch was tested using a ThinkPad L450 (20DSS00B00) using kernel
4.0.3 and a ThinkPad Pro Dock.Signed-off-by: Ansgar Hegerfeld
Cc:
Signed-off-by: Takashi Iwai -
This patch adds support for Conexant HD Audio codecs
CX20721, CX20722, CX20723 and CX20724.Cc: stable@vger.kernel.org
BugLink: https://bugs.launchpad.net/bugs/1454656
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai -
ALC662 does not need any special verbs to change the jack functionality,
and enables mic in through the headphone jack mode by changing the
direction of the headphone pin node.BugLink: https://bugs.launchpad.net/bugs/1454235
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
13 May, 2015
5 commits
-
…/uda1380', 'asoc/fix/wm8960' and 'asoc/fix/wm8994' into asoc-linus
-
According to the RM of wm8958, BCLK DIV 348 doesn't exist, correct it
to 384.Signed-off-by: Zidan Wang
Acked-by: Charles Keepax
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
It should be "RINPUT3" instead of "LINPUT3" route to "Right Input
Mixer".Signed-off-by: Zidan Wang
Acked-by: Charles Keepax
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
When there is prefix specified, currently we will add this prefix in
widget->name, but not in widget->sname.
it causes failure at snd_soc_dapm_link_dai_widgets:if (!w->sname || !strstr(w->sname, dai_w->name))
because dai_w->name has prefix added, but w->sname does not.
We should also add prefix for stream nameSigned-off-by: Koro Chen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
11 May, 2015
1 commit
-
This enables the headset microphone on Dell Inspiron 5548,
or at least some variants of it.Cc: stable@vger.kernel.org
BugLink: https://bugs.launchpad.net/bugs/1452175
Signed-off-by: David Henningsson
Signed-off-by: Takashi Iwai
05 May, 2015
1 commit
-
Add ALC3266 for Dell platform.
Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
04 May, 2015
2 commits
-
set_dai_fmt_both() callback is called from snd_soc_runtime_set_dai_fmt()
which is called from snd_soc_register_card(), but at this time codec
is not powered on yet. Replace direct i2c write with regcache write.Fixes: 5f0acedddf533c (ASoC: rx1950_uda1380: Use static DAI format setup)
Fixes: 5cc10b9b77c234 (ASoC: h1940_uda1380: Use static DAI format setup)
Signed-off-by: Vasily Khoruzhick
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Delete more one break for ALC286/ALC288.
Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
02 May, 2015
1 commit
-
mc13xxx_reg_rmw() won't change any bit if passing 0 to the mask field.
Pass AUDIO_SSI_SEL instead of 0 for the mask field to set AUDIO_SSI_SEL
bit.Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
01 May, 2015
3 commits
-
Fujitsu Lifebook E752 laptop needs a similar quirk done for Lifebook
T731. Otherwise the headphone is always muted.Reported-and-tested-by: Christian Weber
Cc:
Signed-off-by: Takashi Iwai -
pm_runtime_enabled() will only tell if the pm runtime has been enabled for
the device, which is done at probe time but will not tell the actual power
state of the device.
pm_runtime_active() provides this information.
This patch fixes a kernel crash when doing suspend when McASP is not
active.Signed-off-by: Peter Ujfalusi
Signed-off-by: Mark Brown -
…ie/sound into for-linus
ASoC: Fixes for v4.1
A few fixes for v4.1, none earth shattering and mostly driver related
except for one change to fix !PM builds for Intel platforms which is
done by adding stubs in the core so other platforms don't run into the
same issue.
29 Apr, 2015
6 commits
-
…ix/tfa9879' into asoc-linus
-
…m', 'asoc/fix/qcom' and 'asoc/fix/rcar' into asoc-linus
-
DMIC clock source is not from codec system clock directly. it is
generated from the division of system clock. And it should be 256 *
sample rate of AIF1.Signed-off-by: Bard Liao
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Looks like audigy emu10k2 (probably emu10k1 - sb live too) support two
modes for DMA. Second mode is useful for 64 bit os with more then 2 GB
of ram (fixes problems with big soundfont loading)1) 32MB from 2 GB address space using 8192 pages (used now as default)
2) 16MB from 4 GB address space using 4096 pagesMode is set using HCFG_EXPANDED_MEM flag in HCFG register.
Also format of emu10k2 page table is then different.Signed-off-by: Peter Zubaj
Tested-by: Takashi Iwai
Cc:
Signed-off-by: Takashi Iwai
28 Apr, 2015
2 commits
-
The OSS emulation in synth-emux helper has a potential AB/BA deadlock
at the simultaneous closing and opening:close ->
snd_seq_release() ->
sne_seq_free_client() ->
snd_seq_delete_all_ports(): takes client->ports_mutex ->
port_delete() ->
snd_emux_unuse(): takes emux->register_mutexopen ->
snd_seq_oss_open() ->
snd_emux_open_seq_oss(): takes emux->register_mutex ->
snd_seq_event_port_attach() ->
snd_seq_create_port(): takes client->ports_mutexThis patch addresses the deadlock by reducing the rance taking
emux->register_mutex in snd_emux_open_seq_oss(). The lock is needed
for the refcount handling, so move it locally. The calls in
emux_seq.c are already with the mutex, thus they are replaced with the
version without mutex lock/unlock.Cc:
Signed-off-by: Takashi Iwai -
Current code uses wrong mask when setting RT5645_DMIC_2_DP_GPIO12 bit,
fix it.Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
27 Apr, 2015
2 commits
-
Reported by coverity CID 1296024.
Signed-off-by: Takashi Iwai
-
The emux-synth driver has a possible AB/BA mutex deadlock at unloading
the emu10k1 driver:snd_emux_free() ->
snd_emux_detach_seq(): mutex_lock(&emu->register_mutex) ->
snd_seq_delete_kernel_client() ->
snd_seq_free_client(): mutex_lock(®ister_mutex)snd_seq_release() ->
snd_seq_free_client(): mutex_lock(®ister_mutex) ->
snd_seq_delete_all_ports() ->
snd_emux_unuse(): mutex_lock(&emu->register_mutex)Basically snd_emux_detach_seq() doesn't need a protection of
emu->register_mutex as it's already being unregistered. So, we can
get rid of this for avoiding the deadlock.Cc:
Signed-off-by: Takashi Iwai