sfrench/cifs-2.6.git
7 years agoMerge tag 'asoc-v3.13-5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Thu, 21 Nov 2013 14:07:44 +0000 (15:07 +0100)]
Merge tag 'asoc-v3.13-5' of git://git./linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.13

A bunch of device specific fixes, nothing with a general impact here.

7 years agoALSA: hda - Add headset quirk for Dell Inspiron 3135
David Henningsson [Thu, 21 Nov 2013 13:12:59 +0000 (14:12 +0100)]
ALSA: hda - Add headset quirk for Dell Inspiron 3135

Cc: stable@vger.kernel.org (3.10+)
BugLink: https://bugs.launchpad.net/bugs/1253636
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Fix the headphone jack detection on Sony VAIO TX
Takashi Iwai [Thu, 21 Nov 2013 08:12:52 +0000 (09:12 +0100)]
ALSA: hda - Fix the headphone jack detection on Sony VAIO TX

BIOS sets MISC_NO_PRESENCE bit wrongly to the pin config on NID 0x0f.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Fix missing bass speaker on ASUS N550
Takashi Iwai [Thu, 21 Nov 2013 07:00:20 +0000 (08:00 +0100)]
ALSA: hda - Fix missing bass speaker on ASUS N550

The laptop has a built-in speaker on NID 0x1a.  It's an LFE only on
the right channel, so we need to provide an explicit chmap, too.

There might be other surround speakers, but they can fixed in addition
at later point, so let's fix the easier bass speaker at first.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=65091
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Fix unbalanced runtime PM notification at resume
Takashi Iwai [Wed, 20 Nov 2013 11:15:07 +0000 (12:15 +0100)]
ALSA: hda - Fix unbalanced runtime PM notification at resume

When a codec is resumed, it keeps the power on while the resuming
phase via hda_keep_power_on(), then turns down via
snd_hda_power_down().  At that point, snd_hda_power_down() notifies
the power down to the controller, and this may confuse the refcount if
the codec was already powered up before the resume.

In the end result, the controller goes to runtime suspend even before
the codec is kicked off to the power save, and the communication
stalls happens.

The fix is to add the power-up notification together with
hda_keep_power_on(), and clears the flag appropriately.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoMerge remote-tracking branch 'asoc/fix/wm8962' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:38 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/wm8962' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/rcar' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:38 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/rcar' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/fsl' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:31 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/dma' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:31 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/dma' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:30 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/blackfin' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:30 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/blackfin' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/arizona' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:30 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/arizona' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/ab8500' into asoc-linus
Mark Brown [Wed, 20 Nov 2013 15:20:24 +0000 (15:20 +0000)]
Merge remote-tracking branch 'asoc/fix/ab8500' into asoc-linus

7 years agoASoC: arizona: Set FLL to free-run before disabling
Richard Fitzgerald [Wed, 20 Nov 2013 14:37:09 +0000 (14:37 +0000)]
ASoC: arizona: Set FLL to free-run before disabling

The FLL must be placed into free-run mode before disabling
to allow it to entirely shut down.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
7 years agoALSA: hda - A casual Dell Headset quirk
David Henningsson [Wed, 20 Nov 2013 10:43:30 +0000 (11:43 +0100)]
ALSA: hda - A casual Dell Headset quirk

You're looking at a casual headset patch,
for a specific hardware it will match,
and suddenly, the headset jack will work,
so please apply this simple quirk!

BugLink: https://bugs.launchpad.net/bugs/1253038
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoASoC: rcar: fixup dma_async_issue_pending() timing
Kuninori Morimoto [Mon, 18 Nov 2013 02:45:16 +0000 (18:45 -0800)]
ASoC: rcar: fixup dma_async_issue_pending() timing

DMAEngine will stall without this patch

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoASoC: rcar: off by one in rsnd_scu_set_route()
Dan Carpenter [Fri, 8 Nov 2013 09:46:10 +0000 (12:46 +0300)]
ASoC: rcar: off by one in rsnd_scu_set_route()

If "id == ARRAY_SIZE(routes)" then we read one space beyond the end of
the routes[] array.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoASoC: wm5110: Add post SYSCLK register patch for rev D chip
Charles Keepax [Tue, 19 Nov 2013 10:51:29 +0000 (10:51 +0000)]
ASoC: wm5110: Add post SYSCLK register patch for rev D chip

Certain registers require patching after the SYSCLK has been brought up
add support for this into the CODEC driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
7 years agoASoC: ab8500: Revert to using custom I/O functions
Lee Jones [Tue, 19 Nov 2013 10:58:17 +0000 (10:58 +0000)]
ASoC: ab8500: Revert to using custom I/O functions

It's been reported that these break audio on Snowball so revert them
until a Snowball user has time to investigate.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoALSA: hda - Also enable mute/micmute LED control for "Lenovo dock" fixup
David Henningsson [Tue, 19 Nov 2013 09:25:53 +0000 (10:25 +0100)]
ALSA: hda - Also enable mute/micmute LED control for "Lenovo dock" fixup

The docking station is a Thinkpad thing, so it makes sense to check
for mute/micmute LEDs for that quirk type too.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: firewire-lib: include sound/asound.h to refer to snd_pcm_format_t
Takashi Sakamoto [Tue, 19 Nov 2013 04:29:24 +0000 (13:29 +0900)]
ALSA: firewire-lib: include sound/asound.h to refer to snd_pcm_format_t

'snd_pcm_format_t' is used by amdtp_out_stream_set_pcm_format().

Currently, when just including amdtp.h, compiler cannot find this type because
this type is defined in uapi/sound/asound.h and this header is not included by
amdtp.h.

Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Select FW_LOADER from CONFIG_SND_HDA_CODEC_CA0132_DSP
Takashi Iwai [Mon, 18 Nov 2013 16:12:34 +0000 (17:12 +0100)]
ALSA: hda - Select FW_LOADER from CONFIG_SND_HDA_CODEC_CA0132_DSP

Use select FW_LOADER instead of depends on.  It's more intuitive and
more consistent with other entries.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Realtek codec
David Henningsson [Mon, 18 Nov 2013 10:51:47 +0000 (11:51 +0100)]
ALSA: hda - Enable mute/mic-mute LEDs for more Thinkpads with Realtek codec

We're using the ACPI interface to detect whether we're dealing with a Thinkpad
or not. This way we're not loading the thinkpad_acpi module when we're not on
a Thinkpad, but at the same time, we give the opportunity to check for, and
potentially enable, both present and future Thinkpad with mute/micmute LEDs.

At least those running the ALC269 family (269 to 299) of Realtek codecs.

Cc: Alex Hung <alex.hung@canonical.com>
Tested-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoASoC: rcar: fixup mod access before checking
Kuninori Morimoto [Mon, 11 Nov 2013 01:00:42 +0000 (17:00 -0800)]
ASoC: rcar: fixup mod access before checking

rsnd_dai_connect() is using mod before NULL checking.
This patch fixes it up

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoMerge tag 'asoc-v3.13-4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Sat, 16 Nov 2013 10:45:55 +0000 (11:45 +0100)]
Merge tag 'asoc-v3.13-4' of git://git./linux/kernel/git/broonie/sound into for-linus

ASoC: Fixes for v3.13

A few fixes in drivers, the i.MX and wm8962 fixes are for a pretty nasty
issues for users of those drivers if they run into them.

7 years agoALSA: hda - load EQ params into IDT codec on HP bNB13 systems
Vitaliy Kulikov [Thu, 14 Nov 2013 17:52:16 +0000 (11:52 -0600)]
ALSA: hda - load EQ params into IDT codec on HP bNB13 systems

Adds linear EQ filtering for integrated speaker protection

Signed-off-by: Vitaliy Kulikov <vitaliy.kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoMerge remote-tracking branch 'asoc/fix/wm8962' into asoc-linus
Mark Brown [Fri, 15 Nov 2013 10:20:16 +0000 (10:20 +0000)]
Merge remote-tracking branch 'asoc/fix/wm8962' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/fsl' into asoc-linus
Mark Brown [Fri, 15 Nov 2013 10:20:08 +0000 (10:20 +0000)]
Merge remote-tracking branch 'asoc/fix/fsl' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/dma' into asoc-linus
Mark Brown [Fri, 15 Nov 2013 10:20:08 +0000 (10:20 +0000)]
Merge remote-tracking branch 'asoc/fix/dma' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linus
Mark Brown [Fri, 15 Nov 2013 10:20:07 +0000 (10:20 +0000)]
Merge remote-tracking branch 'asoc/fix/cs42l52' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/blackfin' into asoc-linus
Mark Brown [Fri, 15 Nov 2013 10:20:07 +0000 (10:20 +0000)]
Merge remote-tracking branch 'asoc/fix/blackfin' into asoc-linus

7 years agoMerge remote-tracking branch 'asoc/fix/arizona' into asoc-linus
Mark Brown [Fri, 15 Nov 2013 10:20:00 +0000 (10:20 +0000)]
Merge remote-tracking branch 'asoc/fix/arizona' into asoc-linus

7 years agoASoC: cs42l52: Correct MIC CTL mask
Brian Austin [Thu, 14 Nov 2013 17:46:12 +0000 (11:46 -0600)]
ASoC: cs42l52: Correct MIC CTL mask

The mask for CS42L52_MIC_CTL_TYPE_MASK was wrong keeping the mic config
from being set correctly.

Signed-off-by: Brian Austin <brian.austin@cirrus.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
7 years agoASoC: wm8962: Turn on regcache_cache_only before disabling regulator
Nicolin Chen [Thu, 14 Nov 2013 03:59:21 +0000 (11:59 +0800)]
ASoC: wm8962: Turn on regcache_cache_only before disabling regulator

It's safer to turn on regcache_cache_only before disabling regulator since
the driver will turn off the regcache_cache_only after enabling regulator.

If we remain cache_only false, some command like 'amixer cset' would get
failure if being run before wm8962_resume().

Signed-off-by: Nicolin Chen <b42378@freescale.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
7 years agoALSA: jack: Unregister input device at disconnection
Takashi Iwai [Thu, 14 Nov 2013 14:35:46 +0000 (15:35 +0100)]
ALSA: jack: Unregister input device at disconnection

The recent change in sysfs triggered a kernel WARNING at unloading a
sound driver like

  WARNING: CPU: 3 PID: 2247 at fs/sysfs/group.c:214 sysfs_remove_group+0xe8/0xf0()
  sysfs group ffffffff81ab7b20 not found for kobject 'event14'

for each jack instance.  It's because the unregistration of jack input
device is done in dev_free callback, which is called after
snd_card_disconnect().  Since device_unregister(card->card_dev) is
called in snd_card_disconnect(), the whole sysfs entries belonging to
card->card_dev have been already removed recursively.  Thus this
results in a warning as input_unregister_device() yet tries to
unregister the already removed sysfs entry.

For fixing this mess, we need to unregister the jack input device at
dev_disconnect callback so that it's called before unregistering the
card->card_dev.

Reviwed-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: pcsp: Fix the order of input device unregistration
Takashi Iwai [Thu, 14 Nov 2013 14:45:12 +0000 (15:45 +0100)]
ALSA: pcsp: Fix the order of input device unregistration

The current code may access to the already freed object.  The input
device must be accessed and unregistered before freeing the top level
sound object.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations
Oskar Schirmer [Tue, 12 Nov 2013 15:46:38 +0000 (15:46 +0000)]
ASoC: fsl: imx-pcm-fiq: omit fiq counter to avoid harm in unbalanced situations

Unbalanced calls to snd_imx_pcm_trigger() may result in endless
FIQ activity and thus provoke eternal sound. While on the first glance,
the switch statement looks pretty symmetric, the SUSPEND/RESUME
pair is not: the suspend case comes along snd_pcm_suspend_all(),
which for fsl/imx-pcm-fiq is called only at snd_soc_suspend(),
but the resume case originates straight from the SNDRV_PCM_IOCTL_RESUME.
This way userland may provoke an unbalanced resume, which might cause
the fiq_enable counter to increase and never return to zero again,
so eventually imx_pcm_fiq is never disabled.

Simply removing the fiq_enable will solve the problem, as long as
one never goes play and capture game simultaneously, but beware
trying both at once, the early TRIGGER_STOP will cut off the other
activity prematurely. So now playing and capturing is scrutinized
separately, instead of by counting.

Signed-off-by: Oskar Schirmer <oskar@scara.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
7 years agoASoC: blackfin: Fix missing break
Takashi Iwai [Wed, 13 Nov 2013 16:15:00 +0000 (17:15 +0100)]
ASoC: blackfin: Fix missing break

Fixes: 4b2ffc205cb9 ('ASoC: Blackfin I2S: add 8-bit sample support')
Reported-by: David Binderman
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@linaro.org>
Cc: stable@vger.kernel.org
7 years agoALSA: usb-audio: add front jack channel selector for EMU0204
Vasily Khoruzhick [Wed, 13 Nov 2013 10:13:35 +0000 (13:13 +0300)]
ALSA: usb-audio: add front jack channel selector for EMU0204

Add support for front jack channel selector which is present on EMU0204.
It allows to get 4 channels out of this soundcard.

Tested-by: Yury Bushmelev <jay@jay-tech.ru>
Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Don't clear the power state at snd_hda_codec_reset()
Takashi Iwai [Wed, 13 Nov 2013 15:58:10 +0000 (16:58 +0100)]
ALSA: hda - Don't clear the power state at snd_hda_codec_reset()

snd_hda_codec_reset() is called either in resetting the whole setup at
error paths or hwdep clear/reconfig sysfs triggers.  But all of these
don't assume that the power has to be off, rather they want to keep
the power state unchanged (e.g. reconfig_codec() calls the power
up/down by itself).  Thus, unconditionally clearing the power state in
snd_hda_codec_reset() leads to the inconsistency, confuses the further
operation.   This patch gets rid of the lines doing that bad thing.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoASoC: arizona: Fix typo in name of EQ coefficient controls
Richard Fitzgerald [Wed, 13 Nov 2013 13:01:49 +0000 (13:01 +0000)]
ASoC: arizona: Fix typo in name of EQ coefficient controls

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoALSA: hda - Control EAPD for Master volume on Lenovo N100
Takashi Iwai [Wed, 13 Nov 2013 08:42:56 +0000 (09:42 +0100)]
ALSA: hda - Control EAPD for Master volume on Lenovo N100

Similarly as other laptops with AD1981 & co codecs, we can control
EAPD on AD1986A more safely depending on the Master switch, in order
to save some power.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Don't turn off EAPD for headphone on Lenovo N100
Takashi Iwai [Wed, 13 Nov 2013 08:39:08 +0000 (09:39 +0100)]
ALSA: hda - Don't turn off EAPD for headphone on Lenovo N100

The only EAPD on AD1986A is on NID 0x1b where usually the speaker.
But this doesn't control only the speaker amp but may influence on all
outputs, e.g. Lenovo N100 laptop seems to have this issue.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: isa: not allocating enough space
Dan Carpenter [Wed, 13 Nov 2013 07:58:38 +0000 (10:58 +0300)]
ALSA: isa: not allocating enough space

We allocate only 4 bytes here "sizeof(int)" instead of WF_MSAMPLE_BYTES
(259) which was intended.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: snd-aoa: two copy and paste bugs
Dan Carpenter [Wed, 13 Nov 2013 07:45:20 +0000 (10:45 +0300)]
ALSA: snd-aoa: two copy and paste bugs

These functions were cut and paste and the tests for NULL weren't
updated properly.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoASoC: wm8997: Correct typo in ISRC mux routes
Charles Keepax [Tue, 12 Nov 2013 10:52:10 +0000 (10:52 +0000)]
ASoC: wm8997: Correct typo in ISRC mux routes

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
7 years agoALSA: hda - Check keep_eapd_on before inv_eapd
Takashi Iwai [Tue, 12 Nov 2013 10:36:00 +0000 (11:36 +0100)]
ALSA: hda - Check keep_eapd_on before inv_eapd

We don't change the EAPD bit in set_pin_eapd() if keep_eapd_on flag is
set by the codec driver and enable is false.  But, we also apply the
flipping of enable value according to inv_eapd flag in the same
function, and this confused the former check, handled as if it's
turned ON.  The inverted EAPD check must be applied after keep_eapd_on
check, instead.

Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Fix Line Out automute on Realtek multifunction jacks
David Henningsson [Tue, 12 Nov 2013 10:10:57 +0000 (11:10 +0100)]
ALSA: hda - Fix Line Out automute on Realtek multifunction jacks

In case there is both a multifunction headset jack and a Line Out
jack, automuting was not working properly from the Line Out jack.
This patch fixes that issue.

Cc: stable@vger.kernel.org (3.10+)
BugLink: https://bugs.launchpad.net/bugs/1250377
Tested-by: Cyrus Lien <cyrus.lien@canonical.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: msnd: Avoid duplicated driver name
Takashi Iwai [Tue, 12 Nov 2013 07:06:20 +0000 (08:06 +0100)]
ALSA: msnd: Avoid duplicated driver name

msnd_pinnacle.c is used for both snd-msnd-pinnacle and
snd-msnd-classic drivers, and both should have different driver
names.  Using the same driver name results in the sysfs warning for
duplicated entries like
 kobject: 'msnd-pinnacle.7' (cec33408): kobject_release, parent   (null) (delayed)
 kobject: 'msnd-pinnacle' (cecd4980): kobject_release, parent cf3ad9b0 (delayed)
 ------------[ cut here ]------------
 WARNING: CPU: 0 PID: 1 at fs/sysfs/dir.c:486 sysfs_warn_dup+0x7d/0xa0()
 sysfs: cannot create duplicate filename '/bus/isa/drivers/msnd-pinnacle'
 ......

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: compress_core: don't return -EBADFD from poll if paused
Richard Fitzgerald [Tue, 22 Oct 2013 10:26:48 +0000 (11:26 +0100)]
ALSA: compress_core: don't return -EBADFD from poll if paused

Pausing audio playback is not an illegal state so it doesn't
seem sensible for poll() to return -EBADFD on a paused stream.
There's also no reason to assume that we can't write more data
to the DSP while playback is paused. Remove the -EBADFD so that
a stream in paused state will still report the buffer
availability from poll(). It is up to the user process to
manage its state so that it knows whether it is paused or not.

Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
Acked-by VInod Koul <vinod.koul@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - hdmi: Fix wrong baseline length in ATI/AMD generated ELD
Anssi Hannula [Sun, 10 Nov 2013 20:57:42 +0000 (22:57 +0200)]
ALSA: hda - hdmi: Fix wrong baseline length in ATI/AMD generated ELD

According to the HDA specification the baseline ELD length is counted in
DW of 4 bytes instead of in bytes.

Fix the code accordingly.

Baseline length is not used by the kernel so only the ELD exported to
userspace was affected. No issues have been reported.

v2: Fixed so that eld_size is adjusted upwards accordingly as well.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - hdmi: Skip out-of-range latency values in AMD ELD generator
Anssi Hannula [Sun, 10 Nov 2013 18:56:11 +0000 (20:56 +0200)]
ALSA: hda - hdmi: Skip out-of-range latency values in AMD ELD generator

The ATI/AMD video/audio latencies are specified in apparent HDMI VSDB
format. In this format values above 251 are not valid (or stream
component is not supported - 255), but no checking is performed since
this was not mentioned in the AMD HDA verbs specification.

Check that the latencies are valid before using them, and add a comment
describing the formats.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - hdmi: Add error-checking to some codec reads
Anssi Hannula [Sun, 10 Nov 2013 18:56:10 +0000 (20:56 +0200)]
ALSA: hda - hdmi: Add error-checking to some codec reads

Add error checks to HBR status reads (both generic and ATI/AMD) and
ATI/AMD codec reads for ELD generation.

Unchecked errors in these just caused more errors later on (invalid
codec writes for the HBR ones and ELD parsing errors for the ATI/AMD ELD
ones), but it is better to catch them earlier.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: usb: Fix wrong mapping of RLC and RRC channels
Anssi Hannula [Sun, 10 Nov 2013 19:24:05 +0000 (21:24 +0200)]
ALSA: usb: Fix wrong mapping of RLC and RRC channels

According to USB Audio spec v2 bits 25 and 26 of bmChannelConfig are
"Back Left of Center - BLC" and "Back Right of Center - BRC",
respectively.

They are currently assigned to ALSA channels BLC/BRC. However, the ALSA
BLC/BRC are actually the rather nonsensical "bottom left center" and
"bottom right center", so the channels will be assigned wrongly. The
comments in the USB code are also similarly wrong, so this is not
readily apparent without looking at the actual specification.

Fix the channel mapping by mapping bits 25 and 26 to RLC (Rear Left
Center) and RRC (Rear Right Center), respectively, instead.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - hdmi: Use TFx channel positions instead of FxH
Anssi Hannula [Sun, 10 Nov 2013 19:24:04 +0000 (21:24 +0200)]
ALSA: hda - hdmi: Use TFx channel positions instead of FxH

Channel map positions FLH, FCH, FRH duplicate positions TFL, TFC, TFR.
Both are the speakers above the front speakers (CEA uses "high" and USB
audio uses "top" nomenclature).

Since the USB audio code has used the TFx positions since v3.8
(04324ccc75f96, "ALSA: usb-audio: add channel map support") but the HDMI
code only just started using FxH in a5b7d510b2220cccb ("ALSA: hda -
hdmi: Fix channel maps with less common speakers") which is not yet in
any released kernel, standardize on TFx instead.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: sparc: fix missing unlock on error in snd_cs4231_playback_prepare()
Wei Yongjun [Mon, 11 Nov 2013 14:21:33 +0000 (22:21 +0800)]
ALSA: sparc: fix missing unlock on error in snd_cs4231_playback_prepare()

Add the missing unlock before return from function
snd_cs4231_playback_prepare() in the error handling
case.

Fixes: 5a19b178d7b4 ('ALSA: sparc/cs4231: Use WARN_ON() instead of BUG_ON()')
Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Control SPDIF out pin on MacBookPro 11,2
Takashi Iwai [Fri, 8 Nov 2013 12:03:57 +0000 (13:03 +0100)]
ALSA: hda - Control SPDIF out pin on MacBookPro 11,2

The SPDIF output MBP11,2 requires the pin control to be set/cleared
for turning on/off the optical SPDIF.  The red light turns off only
when the corresponding pin control is cleared (or powered to D3).

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64401
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoMerge tag 'asoc-v3.13-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Fri, 8 Nov 2013 15:45:38 +0000 (16:45 +0100)]
Merge tag 'asoc-v3.13-fixes' of git://git./linux/kernel/git/broonie/sound into for-linus

ASoC: Updates for v3.13

Some additional fixes for v3.13, the majority of which are removals and
downgrades of BUG()s from Takashi.

7 years agoALSA: hda/realtek - Add new codec ALC255/ALC3234 UAJ supported
Kailang Yang [Fri, 8 Nov 2013 07:54:49 +0000 (15:54 +0800)]
ALSA: hda/realtek - Add new codec ALC255/ALC3234 UAJ supported

New codec ALC255/ALC3234 support multifunction jacks.
It used for menual select the input device.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoALSA: hda - Apply MacBook fixups for CS4208 correctly
Takashi Iwai [Fri, 8 Nov 2013 11:50:31 +0000 (12:50 +0100)]
ALSA: hda - Apply MacBook fixups for CS4208 correctly

The commit [8fe7b65ab465: ALSA: hda - Apply GPIO setup for MacBooks
with CS4208] added a fixup entry matching with the vendor id 0x106b.
This broke the fixups for previous MBA6,1 and 6,2, since the PCI SSID
vendor id matches before evaluating the codec SSIDs.

We had a similar issue on Mac with Sigmatel codecs, and solve this
problem again similarly, by introducing a skeleton entry matching with
the all MacBooks, then remap to the right one.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=64401
Fixes: 8fe7b65ab465 ('ALSA: hda - Apply GPIO setup for MacBooks with CS4208')
Cc: <stable@vger.kernel.org> [v3.12+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
7 years agoMerge remote-tracking branch 'asoc/topic/wm8996' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:43 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/wm8996' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/wm8962' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:42 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/wm8962' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/wm8400' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:42 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/wm8400' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/wm0010' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:41 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/wm0010' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/warn' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:41 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/warn' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/twl6040' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:40 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/twl6040' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/twl4030' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:40 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/twl4030' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:40 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tpa6130a2' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:39 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:39 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tlv320aic32x4' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:38 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tlv320aic26' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tlv320aic23' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:38 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tlv320aic23' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tegra' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:37 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/tas5086' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:37 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/tas5086' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/spear' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:36 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/spear' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/sn95031' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:36 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/sn95031' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/simple' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:35 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/simple' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/si476x' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:35 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/si476x' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/samsung' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:35 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/samsung' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/rt5640' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:34 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/rt5640' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/rcar' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:34 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/rcar' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/pxa' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:33 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/pxa' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:33 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/pcm1792a' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:32 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/pcm1681' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/mxs' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:32 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/mxs' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/ml26124' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:31 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/ml26124' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/mc13783' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:31 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/mc13783' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/max9850' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:31 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/max9850' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/max98095' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:30 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/max98095' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/max98088' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:30 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/max98088' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:29 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/kirkwood' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/fsl' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:29 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/fsl' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:28 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/ep93xx' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/doc' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:28 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/doc' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/devm' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:27 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/devm' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/davinci' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:27 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/cs42l73' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:26 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/cs42l73' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/cs42l52' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:26 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/cs42l52' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/cs4271' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:25 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next

7 years agoMerge remote-tracking branch 'asoc/topic/cq93vc' into asoc-next
Mark Brown [Fri, 8 Nov 2013 10:43:25 +0000 (10:43 +0000)]
Merge remote-tracking branch 'asoc/topic/cq93vc' into asoc-next