Age | Commit message (Collapse) | Author |
|
Added switch control in ALSA SoC to route audio to
SPDIF. Verified using the amixer application.
Renamed init_mixer function to tegra_audiofx_init.
Moved this function to tegra transport source file.
Fix for bug 678749
Change-Id: I892ebd98d276a60e50ef047d31ad7c0e7c8185cc
Reviewed-on: http://git-master/r/3175
Tested-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
|
|
As Play/Record and trigger thread both are modifying the
prtd->state the current state of the thread, if
START->STOP->START is called fast enough play/record
might set the state to NVALSA_INVALID_STATE and doesn't
execute STOP/START triggered by application at all.
Play/Record thread should not modify the prtd->state,
use the local variable 'state' to keep track of the current
state of the play/record thread and to avoid execution of
START/STOP multiple times.
Here we are respecting only the last triggered state after
processing of the current state, for example if application
calls START->STOP->START->STOP fast enough play/record thread
might execute only the first START and last STOP.
For Bug: 697124
Change-Id: I5879b1428f45c9172d1db7ad10338a170590bed5
Reviewed-on: http://git-master/r/2940
Tested-by: Manjula Gupta <magupta@nvidia.com>
Reviewed-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
If CLOSE call is delayed after STOP, it set's the prtd->state
to SNDRV_PCM_TRIGGER_STOP causing the STOP case execution twice
in play_thread which leads to hang as mixer doesn't respect
and don't send the notification of completion for second mixer
stop done call which is the expected behaviour.
Putting a flag to ensure that stop is executed only once in
play and record thread.
We are setting prtd->state to SNDRV_PCM_TRIGGER_STOP specifically
in CLOSE as application directly call CLOSE without STOP in some
cases.
For Bug: 697124
Change-Id: I0a543bca2488afe0bacbf6497df49f24aecb46bc
Reviewed-on: http://git-master/r/2659
Tested-by: Manjula Gupta <magupta@nvidia.com>
Reviewed-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Merging all ALSA changes from 2.6.29 kernel to 2.6.32
kernel. To avoid conflicts and dependencies merging
all the changes in one commit.
This commit include the following changes from 2.6.29:
- Handle Underrun Case
In case of underrun application triggers stop and starts
the playback again, don't exit the thread in case of stop.
underrun can happen when an application does not feed new
samples in time to alsa-lib (due to CPU usage). With this
change breaks may be observed in case of underrun which
cannot be avoided, but the application will finish the
playback and exits gracefully.
- Fix Playback hang in case of abnormal termination
In case of stop mixer might not send buffer done for all
the buffers queued as there could be many buffers and it
will be inefficeint to send buffer done for all the
buffers, instead of buffer done mixer notifies client with
mixer stop done event.
Added the code to register for stop done event with the mixer,
wait for mixer stop done, instead of buffer done on stop.
Removing the redundant shutdown flag as it's not required.
- Adding ALSA Controls
Added master volume and mute control in ALSA SoC.
Verified using the amixer application.
- Do not queue buffers to the mixer in stopped
In SNDRV_PCM_TRIGGER_STOP state of the driver, if a buffer gets
queued then it might not be returned back as it never gets rendered.
In this scenario play_thread never exits as it keep on waiting for
receiving all the buffers back from mixer before exiting.
- Replacing completion object with wait_queue_head_t
Removed completion object appl_ptr_comp used for waiting for app buffers
when buffer_in_quque=0. If a completion object wakes-up after every
120 seconds if not signalled during that time.Now using wait_queue_head_t
which suits the purpose better.
Change-Id: I17490c97b8400423d247545e6142e4aa2573070b
Reviewed-on: http://git-master/r/2578
Tested-by: Manjula Gupta <magupta@nvidia.com>
Reviewed-by: Gary King <gking@nvidia.com>
|
|
Build break was caused by commit id: 69074e
In Kernel config, ALSA is disabled so this break was not caught in local build.
Change-Id: I6f9b6d152fdc0a967cf31a5bfe63c8cea4d9f39f
Reviewed-on: http://git-master/r/2643
Reviewed-by: Vijay Mali <vmali@nvidia.com>
Tested-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Janne Hellsten <jhellsten@nvidia.com>
|
|
Making function and structure names generic instead of being board specific.
Also updated the comment at the start of the file with correct file name.
Change-Id: I45bd23e97a701c06abee7a37a6e5f307708022d8
Reviewed-on: http://git-master/r/2461
Reviewed-by: Vijay Mali <vmali@nvidia.com>
Tested-by: Vijay Mali <vmali@nvidia.com>
Tested-by: Sandeep Shinde <sashinde@nvidia.com>
Reviewed-by: Janne Hellsten <jhellsten@nvidia.com>
|
|
Change-Id: I34c6607d82e890d57180d4f97aa1537cf2aba4d8
Reviewed-on: http://git-master/r/1828
Reviewed-by: Gary King <gking@nvidia.com>
Tested-by: Gary King <gking@nvidia.com>
|
|
commit 78b8d5d2ee280c463908fd75f3bdf246bcb6ac8d upstream.
As the release of substreams may be done asynchronously from the
disconnection, close callback needs to check the shutdown flag before
actually accessing the usb interface.
Reference: Novell bnc#505027
http://bugzilla.novell.com/show_bug.cgi?id=565027
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit a76221d47ef2b73ff16c0fef00a784026308ea02 upstream.
This patch adds support for automatically muting the speakers when headphones
are inserted, as well as relabelling the headphone widgets from the
non-standard "HP" to the standard "Headphone" for the mb5 model.
Signed-off-by: Alex Murray <murray.alex@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit d6d8bf549393484e906913f02fa3c9518a2819b6 upstream.
Replace the zero-division warning message with WARN_ON_ONCE() per the
advice by Linus. This shouldn't happen, but if it happens, it's
possible that the bug happens often due to buggy IRQs.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit fed08d036f2aabd8d0c684439de37f8ebec2bbc2 upstream.
On my AMD780V chipset, hda_intel.c can crash the kernel with a divide by
zero
for as-yet unknown reasons. A simple check for zero prevents it, though
the problem that causes it remains. Since the workaround is harmless and
won't affect anyone except victims of this bug, it should be safe;
moreover,
because this crash can be triggered by a user-mode application, there are
denial of service implications on the systems affected by the bug without
the patch.
Signed-off-by: Jody Bruchon <jody@nctritech.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 21956b61f594f7924d98240da74bc81c28601fa9 upstream.
After hours of debugging, I finally found the reason why some source
and runtime combination does not work. The PTP (page table pages)
address must be aligned. I am not sure how much, but alignment to
PAGE_SIZE is sufficient. Also, use ALSA's page allocation routines
to ensure proper virtual -> physical address translation.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 40aa7030e5213a43e9e0554fd7f95534ea310bf3 upstream.
Remember to free the temporary register-cache.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit dc99be47667c56046555e89e62f1ac17fa06329a upstream.
This patch fixes the aut-mute setup on HP T5735 with ALC262 codec.
Instead of wrong amp, use pin control toggling for muting the speaker now.
Tested-by: Lee Trager <lee.trager@hp.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 23033b2bce4361f2859ee0331f97c9056dae7091 upstream.
Realtek codecs may have "PCM" and "Line-Out" playback switches, and
they can be slaves for vmaster.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 2fef62c825f09e29d2f52dc187ddf6f99e28c7f1 upstream.
Works fine with the auto-parser.
Reference: Novell bnc#564940
https://bugzilla.novell.com/show_bug.cgi?id=564940
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 739b47f1e5aa3b36eadd7906cc6b41f0175c6ed1 upstream.
An earlier patch merely adds id for 0x80862804.
It has 2/3 cvt/pin nodes and shall be tied to the IbexPeak handler.
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 50d40f187f9182ee8caa1b83f80a0e11e2226baa upstream.
Add proper suspend/resume code for Juli@ cards. Based on ice1724
suspend/resume work of Igor Chernyshev.
Fixes bug https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4413
Tested on linux-2.6.31.6
Signed-off-by: Aleksey Kunitskiy <alexey.kv@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 6dd7dc767e35cfbb38f8c63a50b1c27acad25920 upstream.
Signed-off-by: Stefan Ringel <stefan.ringel@arcor.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit c7a8eb103248a110cdbe0530d8c5ce987f099eee upstream.
The capture-related mixer elements are missing with ALC861/ALC660 codecs
when quirks are present, due to missing call of set_capture_mixer().
Reference: Novell bnc#567340
http://bugzilla.novell.com/show_bug.cgi?id=567340
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 5ee518ecbcb5934e284ea51a19a939c891f5f7ea upstream.
We need to set the LRCLK inversion bit to select DSP mode.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit dfb12eeb0f04b37e5eb3858864d074af4ecd2ac7 upstream.
BugLink: https://bugs.launchpad.net/ubuntu/+bug/498863
This mainboard needs ac97_codec=0.
Tested-by: Apoorv Parle <apparle@yahoo.co.in>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit af9a75dd1a1f8a9aa406466cc8bb16208120488a upstream.
This model needs both 'Headphone Jack Sense' and 'Line Jack Sense' muted
for audible playback, so just add it to the ad1981 jack sense blacklist.
Tested-by: Pete <x41215201@gmail.com>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 9c0afc861a7228f718cb6a79fa7f9d46bf9ff300 upstream.
The capture source or input source mixer element wasn't created properly
for ALC861-VD codec due to the wrong NID passed to
alc_auto_create_input_ctls().
References: Novell bnc#568305
http://bugzilla.novell.com/show_bug.cgi?id=568305
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit b3172f222ab5afdc91ea058bd11c42cf169728f3 upstream.
Sevelar ASoC codec drivers wrongly assume, that the params_rate() macro
returns one of SNDRV_PCM_RATE_* defines instead of the actual numerical
sampling rate. Fix them.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 48e3cbb3f67a27d9c2db075f3d0f700246c40caa upstream.
This patch fixes a bug where "virtual" registers were being written to the ac97
bus. This was causing unrelated registers to become corrupted (headphone 0x04,
touchscreen 0x78, etc).
This patch duplicates protection that was included in the wm9713 driver.
Signed-off-by: Eric Millbrandt <emillbrandt@dekaresearch.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 035eb0cff0671ada49ba9f3e5c9e7b0cb950efea upstream.
Some model quirks missed the corresponding capsrc_nids. This resulted in
non-working capture source selection.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 3e85fd614c7b6bb7f33bb04a0dcb5a3bfca4c0fe upstream.
When allocating the PCM buffer, use vmalloc_user() instead of vmalloc().
Otherwise, it would be possible for applications to play the previous
contents of the kernel memory to the speakers, or to read it directly if
the buffer is exported to userspace.
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 48c03ce72f2665f79a3fe54fc6d71b8cc3d30803 upstream.
The wm8974 datasheet defines BUFIOEN as bit 2.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit 396087eaead95fcb29eb36f1e59517aeb58c545e upstream.
Confirmed from vendor and tests in RedHat bugzilla #536782 .
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
commit fcfdebe70759c74e2e701f69aaa7f0e5e32cf5a6 upstream.
The timer stop callback can be called from snd_timer_interrupt(), which
is called from the hrtimer callback. Since hrtimer_cancel() waits for
the callback completion, this eventually results in a lock-up.
This patch fixes the problem by just toggling a flag at stop callback
and call hrtimer_cancel() later.
Reported-and-tested-by: Wojtek Zabolotny <W.Zabolotny@elka.pw.edu.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: AACI: fix recording bug
ALSA: AACI: fix AC97 multiple-open bug
ASoC: AIC23: Fixing infinite loop in resume path
ASoC: Fix suspend with active audio streams
|
|
pcm->r[1].slots is the double rate slot information, not the
capture information. For capture, 'pcm' will already be the
capture ac97 pcm structure.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
This patch fixes two issues:
a) Infinite loop in resume function
b) Writes to non-existing registers in resume function
Cc: stable@kernel.org
Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
When we get a stream suspend event force the power down since otherwise
the stream would remain marked as active. In future we'll probably want
to make this stream-specific and add an interface to make the power down
of other widgets optional in order to support leaving bypass paths
active while suspending the processor.
Cc: stable@kernel.org
Reported-by: Joonyoung Shim <jy0922.shim@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ASoC: tlv320aic23 fix rate selection
ASoC: OMAP3 Pandora: update for TWL4030 codec changes
ASoC: Modifying the license string GPLv2 for OMAP3 EVM
ALSA: hda - Fix quirk for VAIO type G
ALSA: usb - Quirk to disable master volume control in PCM2702
|
|
|
|
|
|
Fix the ordering of sr_valid_mask array.
The lower bit of the index represents USB
not bosr.
Reported-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
A while ago TWL4030 had it's playback stream name changed, but
pandora needs it for it's playback path. Update to correct stream
name so that playback works again.
Also mark VIBRA output as not connected.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
Correcting the license string from GPLv2 -> GPL v2.
Found the problem while building OMAP3 ASoC driver as
module.
Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ALSA: ice1724 - make some bitfields unsigned
ALSA: hda - Dell Studio 1557 hd-audio quirk
ALSA: ice1724 - Fix section mismatch in prodigy_hd2_resume()
ALSA: hda - Add another Nvidia HDMI codec id (10de:0005)
ALSA: hda: Use model=mb5 for MacBookPro 5,2
|
|
git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux-misc
* 'hostprogs-wmissing-prototypes' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux-misc:
Makefile: Add -Wmising-prototypes to HOSTCFLAGS
oss: Mark loadhex static in hex2hex.c
dtc: Mark various internal functions static
dtc: Set "noinput" in the lexer to avoid an unused function
drm: radeon: Mark several functions static in mkregtable
arch/sparc/boot/*.c: Mark various internal functions static
arch/powerpc/boot/addRamDisk.c: Mark several internal functions static
arch/alpha/boot/tools/objstrip.c: Mark "usage" static
Documentation/vm/page-types.c: Declare checked_open static
genksyms: Mark is_reserved_word static
kconfig: Mark various internal functions static
kconfig: Make zconf.y work with current bison
|
|
Vaio type G laptop doesn't work with the current quirk setup.
After some tests, it turned out that it should be model=auto as default.
Reported-by: Mattia Dongili <malattia@linux.it>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Disable the master volume control in the PCM2702 chipset.
The datasheet documents two independent channel volume controls, one
master mute control and one master volume control. All controls are
fully functional except for the master volume control, which returns
USB stalls on all GET requests.
Signed-off-by: Javier Kohen <jkohen@users.sourceforge.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
This is a clean up and doesn't change the behavior.
Bit fields should always be unsigned. Otherwise pm_suspend_enabled will
be -1 when you want it to be 1. The other bad thing is that the sparse
checker will complain 36 times if they aren't unsigned.
The other bitfields in that struct are unsigned already.
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
Nothing outside of hex2hex.c references loadhex.
Signed-off-by: Josh Triplett <josh@joshtriplett.org>
|