19 Mar, 2014
1 commit
-
The snd_compr_open function would always return 0 even if the compressed
ops open function failed, obviously this is incorrect. Looks like this
was introduced by a small typo in:commit a0830dbd4e42b38aefdf3fb61ba5019a1a99ea85
ALSA: Add a reference counter to card instanceThis patch returns the value from the compressed op as it should.
Signed-off-by: Charles Keepax
Acked-by: Vinod Koul
Cc:
Signed-off-by: Takashi Iwai
18 Mar, 2014
1 commit
-
The code introduced in commit 1f91ecc14dee ("ALSA: oxygen: modify
adjust_dg_dac_routing function") accidentally disregarded the old value
of the playback routing register, so it broke the "Stereo Upmixing"
mixer control.The unmuted parts of the channel routing are the same for all settings
of the output destination, so it suffices to revert that part of the
patch.Fixes: 1f91ecc14dee ('ALSA: oxygen: modify adjust_dg_dac_routing function')
Tested-by: Roman Volkov
Signed-off-by: Clemens Ladisch
Signed-off-by: Takashi Iwai
11 Mar, 2014
1 commit
-
…nie/sound into for-linus
ASoC: Fixes for v3.14
A few things here:
- Avoid memory leaks in error cases with DPCM, this code has never been
that well tested in mainline due to the lack of mainline drivers but
we now have one queued for the merge window!
- Fix the N810 audio driver to load when booted with DT since the
platform was converted to DT during the merge window.
- Fixes for initialisation of some MFD drivers that are probably unused
in mainline
10 Mar, 2014
4 commits
-
…/si476x' into asoc-linus
-
The 88pm860 is a MFD device and the CODEC driver is using the regmap struct of
the parent device, hence automatic IO setup will not work and we need to
manually call snd_soc_codec_set_cache_io(). The issue was introduced in commit
f9ded3b2e7 ("ASoC: 88pm860x: Use regmap for I/O").Fixes: f9ded3b2e7 ("ASoC: 88pm860x: Use regmap for I/O").
Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
The si476x is a MFD device and the CODEC driver is using the regmap struct of
the parent device, hence automatic IO setup will not work and we need to
manually call snd_soc_codec_set_cache_io(). The issue was introduced commit
d6173df35f ("ASoC: si476x: Remove custom register I/O implementation")Fixes: d6173df35f ("ASoC: si476x: Remove custom register I/O implementation")
Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
07 Mar, 2014
1 commit
-
Lenovo IdeaPad 410Y with ALC282 codec makes loud click noises at boot
and shutdown. Also, it wrongly misdetects the acpi_thinkpad hook.
This patch adds a device-specific fixup for disabling the shutup
callback that is the cause of the click noise and also avoiding the
thinpad_helper calls.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=71511
Reported-and-tested-by: Guilherme Amadio
Cc:
Signed-off-by: Takashi Iwai
05 Mar, 2014
4 commits
-
Logitech C500 (046d:0807) needs the same workaround like other
Logitech Webcams.Cc:
Signed-off-by: Takashi Iwai -
For making the driver behavior compatible with the earlier kernels,
use the analog beep in the loopback path instead of the digital beep.Cc:
Signed-off-by: Takashi Iwai -
The mixer widget (NID 0x20) of AD1884 and AD1984 codecs isn't
connected directly to the actual I/O paths but only via another mixer
widget (NID 0x21). We need a similar fix as we did for AD1882.Cc:
Signed-off-by: Takashi Iwai -
dpcm_path_get() allocates dynamic memory to hold path list.
Corresponding dpcm_path_put() must be called to free the memory.
dpcm_path_put() is not called under several error conditions.
This leads to memory leak.Signed-off-by: Patrick Lai
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
04 Mar, 2014
2 commits
-
When plugging a headphone or headset, lots of noise is heard from
internal speaker, after changing the automute via amp instead of
pinctl, the noise disappears.BugLink: https://bugs.launchpad.net/bugs/1268468
Cc: David Henningsson
Cc: stable@vger.kernel.org
Signed-off-by: Hui Wang
Signed-off-by: Takashi Iwai -
Since 3.14-rc1 only DT boot has been supported on N810, so this
file fails to init. Make a minimal fix to retain functionality.
This file should be properly converted to DT in longer term.There seems to be still other unresolved issues with N810 audio support,
but this patch is needed at minimum as otherwise the machine driver
probing would completely fail.Signed-off-by: Aaro Koskinen
Acked-by: Jarkko Nikula
Signed-off-by: Mark Brown
03 Mar, 2014
1 commit
-
Signed-off-by: Marius Knaust
Cc:
Signed-off-by: Takashi Iwai
27 Feb, 2014
5 commits
-
…oonie/sound into for-linus
ASoC: Updates for v3.14
A few more driver specific bug fixes, all driver specific things that
only affect users of those devices. -
There is a typo in the Limiter2 Release Rate control, a wrong enum for
Limiter1 is assigned. It must point to Limiter2.
Spotted by a compile warning:In file included from sound/soc/codecs/sta32x.c:34:0:
sound/soc/codecs/sta32x.c:223:29: warning: ‘sta32x_limiter2_release_rate_enum’ defined but not used [-Wunused-variable]
static SOC_ENUM_SINGLE_DECL(sta32x_limiter2_release_rate_enum,
^
include/sound/soc.h:275:18: note: in definition of macro ‘SOC_ENUM_DOUBLE_DECL’
struct soc_enum name = SOC_ENUM_DOUBLE(xreg, xshift_l, xshift_r, \
^
sound/soc/codecs/sta32x.c:223:8: note: in expansion of macro ‘SOC_ENUM_SINGLE_DECL’
static SOC_ENUM_SINGLE_DECL(sta32x_limiter2_release_rate_enum,
^Signed-off-by: Takashi Iwai
Signed-off-by: Mark Brown
Cc: -
…nie/sound into for-linus
ASoC: Fixes for v3.14
A somewhat large set of fixes here due to the identification of some
systematic problems with hard to use APIs in the subsystem. Takashi did
a lot of work to address the enumeration API which uncovered a number of
off by one bugs caused by confusing APIs while Charles addressed issues
in the locking around DAPM.
26 Feb, 2014
2 commits
-
The driver reads from the DC offset control registers during callibration
but since the registers are marked as volatile and there is a register
cache the values will not be read from the hardware after the first reading
rendering the callibration ineffective.It appears that the driver was originally written for the ASoC level
register I/O code but converted to regmap prior to merge and this issue
was missed during the conversion as the framework level volatile register
functionality was not being used.Signed-off-by: Mark Brown
Acked-by: Adam Thomson
Cc: stable@vger.kernel.org -
I lost this SSID. Add it into the fixup table.
Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
25 Feb, 2014
2 commits
-
HP Folio 13 may have a broken BIOS that doesn't set up the mute LED
GPIO properly, and the driver guesses it wrongly, too. Add a new
fixup entry for setting the GPIO pin statically for this laptop.Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70991
Cc:
Signed-off-by: Takashi Iwai -
The codec->control_data contains a pointer to the device's regmap struct. But
wm8994_bulk_write() expects a pointer to the parent wm8998 device.The issue was introduced in commit d9a7666f ("ASoC: Remove ASoC-specific
WM8994 I/O code").Fixes: d9a7666f ("ASoC: Remove ASoC-specific WM8994 I/O code")
Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
23 Feb, 2014
4 commits
-
…m8770', 'asoc/fix/wm8900' and 'asoc/fix/wm8994' into asoc-linus
-
codec->control_data contains a pointer to the regmap struct of the device, not
to the device private data. Use snd_soc_codec_get_drvdata() instead.The issue was introduced in commit 29fdf4fbbe ("ASoC: sta32x: Convert to
regmap").Fixes: 29fdf4fbbe (ASoC: sta32x: Convert to regmap)
Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
21 Feb, 2014
1 commit
-
More HP machine need mute led support.
Signed-off-by: Kailang Yang
Signed-off-by: Takashi Iwai
20 Feb, 2014
10 commits
-
The snd_soc_dapm_xxxx_pin all require the dapm_mutex to be held when
they are called as they edit the dirty list, however very few of the
callers do so.This patch adds unlocked versions of all the functions replacing the
existing implementations with one that holds the lock internally. We
also fix up the places where the lock was actually held on the caller
side.Signed-off-by: Charles Keepax
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
The front headphone and mic jackes on a HP desktop model (Vendor Id:
0x111d76c7 Subsystem Id: 0x103c2b17) can not work, the codec on this
machine has 8 physical ports, 6 of them are routed to rear jackes
and all of them work very well, while the remaining 2 ports are
routed to front headphone and mic jackes, but the corresponding
pin complex node are not defined correctly.After apply this fix, the front audio jackes can work very well.
[trivial fix of enum definition by tiwai]
BugLink: https://bugs.launchpad.net/bugs/1282369
Cc: David Henningsson
Tested-by: Gerald Yang
Cc: stable@vger.kernel.org
Signed-off-by: Hui Wang
Signed-off-by: Takashi Iwai -
…nie/sound into for-linus
ASoC: Fixes for v3.14
A few fixes, all driver speccific ones. The DaVinci ones aren't as
clear as they should be from the subject lines on the commits but they
fix issues which will prevent correct operation in some use cases and
only affect that particular driver so are reasonably safe. -
wm8400 codec driver has a few places wrongly defining the number of
enum items.Use SOC_ENUM_SINGLE_DECL() macro and they are automatically fixed.
Signed-off-by: Takashi Iwai
Acked-by: Liam Girdwood
Acked-by: Charles Keepax
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown -
isabelle codec driver has a few places wrongly defining the number of
enum items.Use SOC_ENUM_SINGLE_DECL() macro and they are automatically fixed.
Signed-off-by: Takashi Iwai
Acked-by: Liam Girdwood
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown -
The number of capture sources is 8, not 7.
Use SOC_ENUM_DOUBLE_DECL() macro and it's automatically fixed.Signed-off-by: Takashi Iwai
Acked-by: Liam Girdwood
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown -
wm8994 codec driver has a few places wrongly defining the number of
enum items.Use SOC_ENUM_SINGLE_DECL() macro and they are automatically fixed.
Signed-off-by: Takashi Iwai
Acked-by: Liam Girdwood
Acked-by: Charles Keepax
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown -
wm8900 codec driver has a few places wrongly defining the number of
enum items.Use SOC_ENUM_SINGLE_DECL() macro and they are automatically fixed.
Acked-by: Liam Girdwood
Acked-by: Charles Keepax
Acked-by: Lars-Peter Clausen
Signed-off-by: Takashi Iwai
Signed-off-by: Mark Brown -
wm8770 codec driver defines ain_enum with a wrong number of items.
Use SOC_ENUM_DOUBLE_DECL() macro and it's automatically fixed.
Signed-off-by: Takashi Iwai
Acked-by: Liam Girdwood
Acked-by: Charles Keepax
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org -
Preset EQ enum of sta32x codec driver declares too many number of
items and it may lead to the access over the actual array size.Use SOC_ENUM_SINGLE_DECL() helper and it's automatically fixed.
Signed-off-by: Takashi Iwai
Acked-by: Liam Girdwood
Acked-by: Lars-Peter Clausen
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
19 Feb, 2014
1 commit
-
Incorrect ADC is picked in ca0132_capture_pcm_prepare(),
where it assumes multiple streams while there is one stream
per ADC. Note that ca0132_capture_pcm_cleanup() already does
the right thing.The Chromebook Pixel has a microphone under the keyboard that
is attached to node id 0x8. Before this fix, recording would
always go to the main internal mic (node id 0x7).Signed-off-by: Hsin-Yu Chao
Reviewed-by: Dylan Reid
Cc:
Signed-off-by: Takashi Iwai