]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 11 May 2010 13:47:17 +0000 (15:47 +0200)]
Merge branch 'topic/asoc' into for-next

14 years agoASoC: Don't restart unconfigured WM8994 FLLs
Mark Brown [Mon, 10 May 2010 17:36:37 +0000 (18:36 +0100)]
ASoC: Don't restart unconfigured WM8994 FLLs

If the FLL is not configured attempting to resume it will produce a
warning message so skip the resume.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Reorder power down sequence for WM hubs devices
Mark Brown [Mon, 10 May 2010 15:13:11 +0000 (16:13 +0100)]
ASoC: Reorder power down sequence for WM hubs devices

Disable the output stage prior to the delay stage rather than the
other way around. Fixes merge issue with previous headphone output
path corrections.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add additional WM hubs DC servo trace
Mark Brown [Mon, 10 May 2010 13:56:03 +0000 (14:56 +0100)]
ASoC: Add additional WM hubs DC servo trace

Log the values we're getting back from the DC servo and the values we
write to it.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add register write logging for WM8994
Mark Brown [Mon, 10 May 2010 13:55:04 +0000 (14:55 +0100)]
ASoC: Add register write logging for WM8994

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 11 May 2010 10:50:01 +0000 (12:50 +0200)]
Merge branch 'topic/hda' into for-next

14 years ago[ALSA] snd-hda-intel: Improve azx_position_ok()
Jaroslav Kysela [Tue, 11 May 2010 10:10:47 +0000 (12:10 +0200)]
[ALSA] snd-hda-intel: Improve azx_position_ok()

Add back the zero return value (activate workqueue) when
bdl_pos_adj is nonzero for position check.

Do the position related check only for first next period
using wallclk counter.

Return -1 value (ignore interrupt) when period_bytes
variable is zero.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 11 May 2010 08:43:36 +0000 (10:43 +0200)]
Merge branch 'topic/hda' into for-next

14 years agoASoC: core: Fix for the volume limiting when invert is in use
Peter Ujfalusi [Mon, 10 May 2010 11:39:24 +0000 (14:39 +0300)]
ASoC: core: Fix for the volume limiting when invert is in use

If the register for the volume needs invert, than the inversion
need to be done from the chip maximum, and not from the platform
dependent limit.
Introduce soc_mixer_control.platform_max value, which initially
equals to chip maximum.
The snd_soc_limit_volume function only modify the platform_max,
all volsw_info call returns this as well.
The .max value holds the chip default (maximum), and it is used
for the inversion, if it is needed.

Additional check in the volsw_info call has been added to check
the validity of the platform_max in case, when custom macros
used by codec drivers are not initializing it correctly.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years ago[ALSA] snd-hda-intel: use WALLCLK register to check for early irqs
Jaroslav Kysela [Tue, 11 May 2010 08:21:46 +0000 (10:21 +0200)]
[ALSA] snd-hda-intel: use WALLCLK register to check for early irqs

Use 24Mhz WALLCLK register to ignore too early interrupts and
wrong interrupt status. The bad timing confuses the higher ALSA
layer and causes audio skipping. More information about behaviour
and debugging can be found in kernel bz#15912.

https://bugzilla.kernel.org/show_bug.cgi?id=15912

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Tue, 11 May 2010 06:38:39 +0000 (08:38 +0200)]
Merge branch 'fix/hda' into for-next

14 years agoALSA: hda - Fix mute-LED GPIO pin for HP dv series
Takashi Iwai [Tue, 11 May 2010 06:36:29 +0000 (08:36 +0200)]
ALSA: hda - Fix mute-LED GPIO pin for HP dv series

Old HP dv series seem to use the GPIO pin 0 for controlling the mute LED
although the pin is a large package, where the newer models use GPIO 3
in such a case.  For fixing the regression from the previous kernels,
set spec->gpio_led statically for these model quirks.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 11 May 2010 06:24:35 +0000 (08:24 +0200)]
Merge branch 'topic/asoc' into for-next

14 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Tue, 11 May 2010 06:23:36 +0000 (08:23 +0200)]
Merge branch 'topic/hda' into for-next

14 years agoALSA: hda - Fixes distorted recording on US15W chipset
Shahin Ghazinouri [Tue, 11 May 2010 06:19:55 +0000 (08:19 +0200)]
ALSA: hda - Fixes distorted recording on US15W chipset

The HDA controller in US15W (Poulsbo) reports inaccurate position values
for capture streams when using the LPIB read method, resulting in
distorted recordings.

However, using the position buffer is broken for playback streams,
resulting in a fallback to the LPIB method with the current driver.
This patch works around the issue by independently detecting the read
position method for capture and playback streams.

The patch will not have any effect if the position fix method is
explicitly set.

[Code simplified by tiwai]

Signed-off-by: Shahin Ghazinouri <shahin.ghazinouri@pelagicore.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Tue, 11 May 2010 06:18:53 +0000 (08:18 +0200)]
Merge branch 'fix/hda' into for-next

14 years agoALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice)
Daniel T Chen [Mon, 10 May 2010 19:50:04 +0000 (21:50 +0200)]
ALSA: hda: Fix 0 dB for Lenovo models using Conexant CX20549 (Venice)

Reference: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-May/027525.html

As reported on the mailing list, we also need to cap to the 0 dB offset
for Lenovo models, else the sound will be distorted.

Reported-and-Tested-by: Tim Starling <tstarling@wikimedia.org>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Mon, 10 May 2010 15:24:03 +0000 (17:24 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 10 May 2010 15:16:34 +0000 (17:16 +0200)]
Merge branch 'fix/hda' into for-next

14 years agoALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"
Stefan Lippers-Hollmann [Mon, 10 May 2010 15:14:34 +0000 (17:14 +0200)]
ALSA: Revert "ALSA: hda/realtek: quirk for D945GCLF2 mainboard"

This reverts commit 7aee67466536bbf8bb44a95712c848a61c5a0acd.

As it doesn't seem to be universally valid for all mainboard revisions of
the D945GCLF2 and breaks snd-hda-intel/ snd-hda-codec-realtek on the Intel
Corporation "D945GCLF2" (LF94510J.86A.0229.2009.0729.0209) mainboard.

00:1b.0 Audio device [0403]: Intel Corporation N10/ICH 7 Family High Definition Audio Controller [8086:27d8] (rev 01)

Signed-off-by: Stefan Lippers-Hollmann <s.l-h@gmx.de>
Cc: <stable@kernel.org> [2.6.33]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Mon, 10 May 2010 15:00:18 +0000 (17:00 +0200)]
Merge branch 'topic/hda' into for-next

14 years agoALSA: hda: enable SPDIF output for Conexant 5051/Lenovo docking stations
Pierre-Louis Bossart [Thu, 6 May 2010 21:37:03 +0000 (16:37 -0500)]
ALSA: hda: enable SPDIF output for Conexant 5051/Lenovo docking stations

This patch enables the SPDIF output pin by default. It also enables
it for quirks related to Levono docking stations (x200 and 25041,
identified with the same 17aa:20f2 ID). Even though not all Lenovo
docking stations have SPDIF connectors, enabling the pin by default
shouldn't be a problem for anyone.
Other quirks remain unmodified.

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoASoC: Use more idiomatic driver name for WM8731
Mark Brown [Fri, 7 May 2010 17:39:25 +0000 (18:39 +0100)]
ASoC: Use more idiomatic driver name for WM8731

Make dev_() prints much prettier.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Refactor WM8731 regulator management into bias management
Mark Brown [Fri, 7 May 2010 18:14:45 +0000 (19:14 +0100)]
ASoC: Refactor WM8731 regulator management into bias management

This allows more flexible integration with subsystem features.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Allow DAI links to be kept active over suspend
Mark Brown [Sun, 9 May 2010 12:25:43 +0000 (13:25 +0100)]
ASoC: Allow DAI links to be kept active over suspend

As well as allowing DAPM pins to be marked as ignoring suspend allow DAI
links to be similarly marked.  This is primarily intended for digital
links between CODECs and non-CPU devices such as basebands in mobile
phones and will suppress all suspend calls for the DAI link.  It is
likely that this will need to be revisited if used with devices which
are part of the SoC CPU.

Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Allow active paths from the GSM modem while the GTA02 is suspended
Mark Brown [Fri, 7 May 2010 20:18:53 +0000 (21:18 +0100)]
ASoC: Allow active paths from the GSM modem while the GTA02 is suspended

Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Support leaving paths enabled over system suspend
Mark Brown [Fri, 7 May 2010 20:11:40 +0000 (21:11 +0100)]
ASoC: Support leaving paths enabled over system suspend

Some devices can usefully run audio while the Linux system is suspended.
One of the most common examples is smartphone systems, which are normally
designed to allow audio to be run between the baseband and the CODEC
without passing through the CPU and so can suspend the CPU when on a
voice call for additional power savings.

Support such systems by providing an API snd_soc_dapm_ignore_suspend().
This can be used to mark DAPM endpoints as not being sensitive to
system suspend. When the system is being suspended paths between
endpoints which are marked as ignoring suspend will be kept active.
Both source and sink must be marked, and there must already be an
active path between the two endpoints prior to suspend.

When paths are active over suspend the bias management will hold the
device bias in the ON state. This is used to avoid suspending the
CODEC while it is still in use.

Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Refactor DAPM suspend handling
Mark Brown [Fri, 7 May 2010 19:24:05 +0000 (20:24 +0100)]
ASoC: Refactor DAPM suspend handling

Instead of using stream events to handle power down during suspend
integrate the handling with the normal widget path checking by
replacing all cases where we report a connected endpoint in a path
with a function snd_soc_dapm_suspend_check() which looks at the ALSA
power state for the card and reports false if we are in a D3 state.

Since the core moves us into D3 prior to initating the suspend all
power checks during suspend will cause the widgets to be powered
down. In order to ensure that widgets are powered up on resume set
the card to D2 at the start of resume handling (ALSA API calls
require D0 so we are still protected against userspace access).

Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove unused DAPM suspend flag
Mark Brown [Fri, 7 May 2010 17:40:54 +0000 (18:40 +0100)]
ASoC: Remove unused DAPM suspend flag

We now manage suspend within the main power analysis rather than by
flipping the state of widgets.

Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Remove unneeded suspend bias managment from CODEC drivers
Mark Brown [Fri, 7 May 2010 19:30:00 +0000 (20:30 +0100)]
ASoC: Remove unneeded suspend bias managment from CODEC drivers

The core will ensure that the device is in either STANDBY or OFF bias
before suspending, restoring the bias in the driver is unneeded. Some
drivers doing slightly more roundabout things have been left alone
for now.

Tested-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Mon, 10 May 2010 08:28:29 +0000 (10:28 +0200)]
Merge branch 'fix/hda' into for-next

14 years agoALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec
Andrej Gelenberg [Sun, 9 May 2010 20:10:41 +0000 (22:10 +0200)]
ALSA: hda - add support for Lenovo ThinkPad X100e in conexant codec

Ideapad quirks working for my ThinkPad X100e (microphone is not tested).

Signed-off-by: Andrej Gelenberg <andrej.gelenberg@udo.edu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/core-cleanup' into for-next
Takashi Iwai [Mon, 10 May 2010 08:23:25 +0000 (10:23 +0200)]
Merge branch 'topic/core-cleanup' into for-next

14 years agoALSA: opl4 - Fix a wrong argument in proc write callback
Takashi Iwai [Mon, 10 May 2010 08:21:32 +0000 (10:21 +0200)]
ALSA: opl4 - Fix a wrong argument in proc write callback

The commit 24e4a1211f691fc671de44685430dbad757d8487
    ALSA: info - Use standard types for info callbacks
introduced a wrong type to snd_opl4_mem_proc_write() for pos argument.
Fixed now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Mon, 10 May 2010 07:50:01 +0000 (09:50 +0200)]
Merge branch 'topic/misc' into for-next

14 years agoALSA: Merge es1688 and es968 drivers
Krzysztof Helt [Mon, 10 May 2010 07:47:32 +0000 (09:47 +0200)]
ALSA: Merge es1688 and es968 drivers

The ESS ES968 chip is nothing more then a PnP companion
for a non-PnP audio chip. It was paired with non-PnP ESS' chips:
ES688 and ES1688. The ESS' audio chips are handled by the es1688
driver in native mode. The PnP cards are handled by the ES968
driver in SB compatible mode.

Move the ES968 chip handling to the es1688 driver so the driver
can handle both PnP and non-PnP cards. The es968 is removed.

Also, a new PnP id is added for the card I acquired (the change
was tested on this card).

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: es1688: allocate snd_es1688 structure as a part of snd_card structure
Krzysztof Helt [Sun, 9 May 2010 18:35:44 +0000 (20:35 +0200)]
ALSA: es1688: allocate snd_es1688 structure as a part of snd_card structure

Allocate the snd_es1688 during the snd_card allocation.
This allows to remove the card pointer from the snd_es1688 structure.

Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/misc' into topic/misc
Takashi Iwai [Mon, 10 May 2010 07:48:47 +0000 (09:48 +0200)]
Merge branch 'fix/misc' into topic/misc

14 years agoMerge branch 'topic/misc' into for-next
Takashi Iwai [Sat, 8 May 2010 09:51:28 +0000 (11:51 +0200)]
Merge branch 'topic/misc' into for-next

14 years agoALSA: maestro3: Clear interrupts before enabling them
Ville Syrjälä [Thu, 6 May 2010 21:12:13 +0000 (00:12 +0300)]
ALSA: maestro3: Clear interrupts before enabling them

Avoid spurious interrupts when initializing the device.

Signed-off-by: Ville Syrjälä <syrjala@sci.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: es1968: Clear interrupts before enabling them
Ville Syrjälä [Thu, 6 May 2010 21:12:12 +0000 (00:12 +0300)]
ALSA: es1968: Clear interrupts before enabling them

Avoid spurious interrupts when initializing the device.

Signed-off-by: Ville Syrjälä <syrjala@sci.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Sat, 8 May 2010 09:44:29 +0000 (11:44 +0200)]
Merge branch 'topic/asoc' into for-next

14 years agoMerge branch 'topic/usb' into for-next
Takashi Iwai [Sat, 8 May 2010 09:40:04 +0000 (11:40 +0200)]
Merge branch 'topic/usb' into for-next

14 years agoALSA: sound/usb: fix UAC1 regression
Daniel Mack [Sat, 8 May 2010 09:24:56 +0000 (11:24 +0200)]
ALSA: sound/usb: fix UAC1 regression

Commit 23caaf19b ("ALSA: usb-mixer: Add support for Audio Class v2.0")
broke support for Class1 devices due to two faulty changes. This patch
fixes it.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Reported-and-Tested-by: The Source <thesourcehim@gmail.com>
Cc: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoASoC: SMDK64XX: Switch to IISv4 CPU driver
Jassi Brar [Tue, 27 Apr 2010 06:57:17 +0000 (15:57 +0900)]
ASoC: SMDK64XX: Switch to IISv4 CPU driver

Switch the MACHINE driver to use IISv4 CPU dai.
Remove BROKEN dependency now that we have proper CPU driver available.
Also, disable build for SMDK6400, since the S3C6400 doesn't have IISv4
controller.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C64XX: IISv4: Add CPU driver
Jassi Brar [Tue, 27 Apr 2010 06:57:11 +0000 (15:57 +0900)]
ASoC: S3C64XX: IISv4: Add CPU driver

Add the CPU driver for the IISv4 block found on S3C6410.
For now, the driver is almost a copy of s3c64xx-i2s.c but
it should diverge as more IISv4 specific stuff is added.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: tpa6130a2: Fix for the custom kcontrol functions
Peter Ujfalusi [Fri, 7 May 2010 11:24:11 +0000 (14:24 +0300)]
ASoC: tpa6130a2: Fix for the custom kcontrol functions

Since the functions arre only used for volume register,
change their name, and also fix them to properly
handle the cases, when via soc core the volume is
limited.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoRevert "ASoC: tpa6130a2: Support for limiting gain"
Peter Ujfalusi [Fri, 7 May 2010 11:24:10 +0000 (14:24 +0300)]
Revert "ASoC: tpa6130a2: Support for limiting gain"

This reverts commit 6f3991152f20933b77eff30413e893bf1a15e578.

Since core has now support for limiting the volume on controls this
patch is not needed.  Furthermore, this patch actually prevents the core
to set new volume on the TPA.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: core: Support for limiting the volume
Peter Ujfalusi [Fri, 7 May 2010 11:05:49 +0000 (14:05 +0300)]
ASoC: core: Support for limiting the volume

Add support for the core to limit the maximum volume on an
existing control.
The function will modify the soc_mixer_control.max value
of the given control.
The new value must be lower than the original one (chip maximum)

If there is a need for limiting a gain on a given control,
than machine drivers can do the following in their
snd_soc_dai_link.init function:

snd_soc_limit_volume(codec, "TPA6140A2 Headphone Playback Volume", 21);

This will modify the original 31 (chip maximum) to 21, so user
space will not be able to set the gain higher than this.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai...
Mark Brown [Fri, 7 May 2010 15:38:26 +0000 (16:38 +0100)]
Merge branch 'topic/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 into for-2.6.35

14 years agoARM: S3C2412: DMA: Remove I2S FIFO address
Jassi Brar [Fri, 7 May 2010 01:21:39 +0000 (10:21 +0900)]
ARM: S3C2412: DMA: Remove I2S FIFO address

The S3C DMA API doesn't make use of hw_addr.to/from and also
the FIFO addresses are provided from the I2S drivers. So these
fields are redundant.
This patch removes the hw_addr.to/from fields for I2S and the
inclusion of header, paving way for the header to be moved closer
to the I2S controller drivers.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Fri, 7 May 2010 08:25:24 +0000 (10:25 +0200)]
Merge branch 'fix/hda' into for-next

14 years agoALSA: hda - fix DG45ID SPDIF output
Wu Fengguang [Fri, 7 May 2010 00:47:54 +0000 (08:47 +0800)]
ALSA: hda - fix DG45ID SPDIF output

This reverts part of commit 52dc438606d1e, in order to fix a regression:
broken SPDIF output on Intel DG45FC motherboard (IDT 92HD73E1X5 codec).

--- DG45FC-IDT-codec-2.6.32  (SPDIF OK)
+++ DG45FC-IDT-codec-2.6.33  (SPDIF broken)

 Node 0x22 [Pin Complex] wcaps 0x400301: Stereo Digital
   Pincap 0x00000010: OUT
-  Pin Default 0x40f000f0: [N/A] Other at Ext N/A
-    Conn = Unknown, Color = Unknown
-    DefAssociation = 0xf, Sequence = 0x0
-  Pin-ctls: 0x00:
+  Pin Default 0x014510a0: [Jack] SPDIF Out at Ext Rear
+    Conn = Optical, Color = Black
+    DefAssociation = 0xa, Sequence = 0x0
+  Pin-ctls: 0x40: OUT
   Connection: 3
      0x25* 0x20 0x21
 Node 0x23 [Pin Complex] wcaps 0x400301: Stereo Digital
   Pincap 0x00000010: OUT
-  Pin Default 0x01451140: [Jack] SPDIF Out at Ext Rear
+  Pin Default 0x074510b0: [Jack] SPDIF Out at Ext Rear Panel
     Conn = Optical, Color = Black
-    DefAssociation = 0x4, Sequence = 0x0
-    Misc = NO_PRESENCE
-  Pin-ctls: 0x40: OUT
+    DefAssociation = 0xb, Sequence = 0x0
+  Pin-ctls: 0x00:
   Connection: 3
      0x26* 0x20 0x21

Cc: <stable@kernel.org>
Cc: Alexey Fisher <bug-track@fisher-privat.net>
Tested-by: David Härdeman <david@hardeman.nu>
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Thu, 6 May 2010 15:22:43 +0000 (17:22 +0200)]
Merge branch 'topic/asoc' into for-next

14 years agoMerge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Thu, 6 May 2010 15:06:27 +0000 (17:06 +0200)]
Merge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc

14 years agoASoC: tlv320dac33: Use codec defaults for LOM/LOP and DAC power
Peter Ujfalusi [Thu, 6 May 2010 09:04:25 +0000 (12:04 +0300)]
ASoC: tlv320dac33: Use codec defaults for LOM/LOP and DAC power

Do not change the codec defaults for the following registers:
0x40, 0x41: Line output gains, do not use amplification
0x42: LOM/LOP Voltage hold, and selection
0x44: LOM inversion control

It has been found, that the values configured to these registers
can cause amplification, which can make the output of DAC33
distorted.

The codec reset values are considered safe in all environmnts.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tpa6130a2: Support for limiting gain
Peter Ujfalusi [Thu, 6 May 2010 07:37:18 +0000 (10:37 +0300)]
ASoC: tpa6130a2: Support for limiting gain

Add support for platform dependent gain limiting on the
tpa6130a2 (and tpa6140a2) Headset amplifier.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Add platform data and reset gpio handling
Jarkko Nikula [Wed, 5 May 2010 10:02:03 +0000 (13:02 +0300)]
ASoC: tlv320aic3x: Add platform data and reset gpio handling

Handle the reset GPIO within the codec driver in order to follow
the startup protocol for the tlv320aic3x codecs.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: omap: Add basic audio support for Nokia RX-51/N900
Jarkko Nikula [Wed, 5 May 2010 08:14:22 +0000 (11:14 +0300)]
ASoC: omap: Add basic audio support for Nokia RX-51/N900

This patch adds support for integrated stereo speakers and digital
microphone found on Nokia RX-51 hardware. This is a cut down version based
on Maemo kernel sources and earlier patchset by Eduardo Valentin et al.

http://mailman.alsa-project.org/pipermail/alsa-devel/2009-October/022033.html

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Eduardo Valentin <eduardo.valentin@nokia.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Eduardo Valentin <eduardo.valentin@nokia.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'topic/hda' into for-next
Takashi Iwai [Thu, 6 May 2010 06:41:50 +0000 (08:41 +0200)]
Merge branch 'topic/hda' into for-next

14 years agoALSA: hda - Remove superfluous external amp setup for ALC888
Takashi Iwai [Thu, 6 May 2010 06:40:25 +0000 (08:40 +0200)]
ALSA: hda - Remove superfluous external amp setup for ALC888

We had a fixed external amp setup enabled for ALC888, but this seems
unnecessary.  The amps are controlled rather by GPIOs.
Let's remove it now.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoMerge branch 'fix/hda' into topic/hda
Takashi Iwai [Thu, 6 May 2010 06:39:43 +0000 (08:39 +0200)]
Merge branch 'fix/hda' into topic/hda

14 years agoASoC: S3C: I2S: Move set_sysclk to common code
Jassi Brar [Tue, 27 Apr 2010 06:57:05 +0000 (15:57 +0900)]
ASoC: S3C: I2S: Move set_sysclk to common code

Now that we can specify feature of a particular controller, we can
avoid multiple copies of same code by defining the CDCLKCON bit
feature in controller specific code and detecting that flag in the
code common to all controllers.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: New field for controller feature
Jassi Brar [Tue, 27 Apr 2010 06:56:56 +0000 (15:56 +0900)]
ASoC: S3C: I2Sv2: New field for controller feature

In order to make s3c-i2s-v2.c manage controllers with minor
quirks and variation in features, we define a per-block flag
that indicates the availability/lack of a particular feature
to the s3c-i2s-v2.c

While adding support for new SoCs' I2S, check for the blocks
of older SoCs that have similar feature and set the flag for
that feature.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C64XX: I2S: Use s3c2412 defines
Jassi Brar [Tue, 27 Apr 2010 06:56:51 +0000 (15:56 +0900)]
ASoC: S3C64XX: I2S: Use s3c2412 defines

Now that the fields are defined for s3c2412, use them and avoid having
multiple copies of same defines.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: Unify i2s_get_clock callback
Jassi Brar [Tue, 27 Apr 2010 06:56:45 +0000 (15:56 +0900)]
ASoC: S3C: I2Sv2: Unify i2s_get_clock callback

Now that we have two callbacks s3c2412_i2s_get_clock & s3c64xx_i2s_get_clock
doing exactly the same thing, we can define one generic s3c_i2sv2_get_clock
and discard other two copies. Also, switch the users to make calls to the
newly defined and generic s3c_i2sv2_get_clock

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: Discard redundant field iis_clk
Jassi Brar [Tue, 27 Apr 2010 06:56:39 +0000 (15:56 +0900)]
ASoC: S3C: I2Sv2: Discard redundant field iis_clk

No need to keep redundant field iis_clk in s3c_i2sv2_info.
iis_cclk and iis_pclk is all we need.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C2412: I2S: Return correct source clock
Jassi Brar [Tue, 27 Apr 2010 06:56:34 +0000 (15:56 +0900)]
ASoC: S3C2412: I2S: Return correct source clock

Until now, s3c2412_get_iisclk would return NULL since iis_clk was never
initialized.
Return appropriate pointer as per the selection made for source clock.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C2412: I2S: Debug IMS field
Jassi Brar [Tue, 27 Apr 2010 06:56:27 +0000 (15:56 +0900)]
ASoC: S3C2412: I2S: Debug IMS field

The IMS field of s3c2412/13 is essentially the same as that of s3c64xx.
That is, the IISMOD[11] bit decides Master/Slave mode and IISMOD[10] bit
selects source clock for signal generation.
For that reason, remove improper defines for IISMOD[11:10] field mask
and define two 1bit fields that can be set independent of each other.
As a consequence, corresponding fields for PLAT_S3C64XX too get to use
these new defines.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: SAMSUNG: I2S: Add bit definitions
Jassi Brar [Tue, 27 Apr 2010 06:56:03 +0000 (15:56 +0900)]
ASoC: SAMSUNG: I2S: Add bit definitions

Define more bit definitions in the order of mainline
support for the SoC.

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: S3C: I2Sv2: Move defines closer to driver
Jassi Brar [Tue, 27 Apr 2010 06:55:21 +0000 (15:55 +0900)]
ASoC: S3C: I2Sv2: Move defines closer to driver

The header for I2Sv2
   linux/arch/arm/plat-s3c/include/plat/regs-s3c2412-iis.h
contains only controller specific definitions and nothing
SoC specific. So, it could be moved to sound/soc/s3c24xx/

Signed-off-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoASoC: Add debug output tracing all cache register writes
Mark Brown [Mon, 3 May 2010 15:25:52 +0000 (16:25 +0100)]
ASoC: Add debug output tracing all cache register writes

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Wed, 5 May 2010 08:04:04 +0000 (10:04 +0200)]
Merge branch 'topic/asoc' into for-next

14 years agoMerge branch 'fix/hda' into for-next
Takashi Iwai [Wed, 5 May 2010 08:04:02 +0000 (10:04 +0200)]
Merge branch 'fix/hda' into for-next

14 years agoMerge branch 'fix/misc' into for-next
Takashi Iwai [Wed, 5 May 2010 08:03:59 +0000 (10:03 +0200)]
Merge branch 'fix/misc' into for-next

14 years agoALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice)
Daniel T Chen [Wed, 28 Apr 2010 22:00:11 +0000 (18:00 -0400)]
ALSA: hda: Fix 0 dB for Packard Bell models using Conexant CX20549 (Venice)

BugLink: https://launchpad.net/bugs/541802
The OR's hardware distorts at PCM 100% because it does not correspond to
0 dB. Fix this in patch_cxt5045() for all Packard Bell models.

Reported-by: Valombre
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582
Anisse Astier [Wed, 28 Apr 2010 16:05:06 +0000 (18:05 +0200)]
ALSA: hda - Add quirk for Dell Inspiron 19T using a Conexant CX20582

Add a quirk for all-in-one computer Dell Inspiron One 19 Touch to have proper
HP and Mic support.

Signed-off-by: Anisse Astier <anisse@astier.eu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: take tu->qlock with irqs disabled
Dan Carpenter [Wed, 28 Apr 2010 08:29:14 +0000 (10:29 +0200)]
ALSA: take tu->qlock with irqs disabled

We should disable irqs when we take the tu->qlock because it is used in
the irq handler.  The only place that doesn't is
snd_timer_user_ccallback().  Most of the time snd_timer_user_ccallback()
is called with interrupts disabled but the the first ti->ccallback()
call in snd_timer_notify1() has interrupts enabled.

This was caught by lockdep which generates the following message:

> =================================
> [ INFO: inconsistent lock state ]
> 2.6.34-rc5 #5
> ---------------------------------
> inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
> dolphin/4003 [HC1[1]:SC0[0]:HE0:SE1] takes:
> (&(&tu->qlock)->rlock){?.+...}, at: [<f84ec472>] snd_timer_user_tinterrupt+0x28/0x132 [snd_timer]
> {HARDIRQ-ON-W} state was registered at:
>   [<c1048de9>] __lock_acquire+0x654/0x1482
>   [<c1049c73>] lock_acquire+0x5c/0x73
>   [<c125ac3e>] _raw_spin_lock+0x25/0x34
>   [<f84ec370>] snd_timer_user_ccallback+0x55/0x95 [snd_timer]
>   [<f84ecc4b>] snd_timer_notify1+0x53/0xca [snd_timer]

Reported-by: Stefan Richter <stefanr@s5r6.in-berlin.de>
Signed-off-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T
Daniel T Chen [Wed, 5 May 2010 02:07:58 +0000 (22:07 -0400)]
ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite P500-PSPGSC-01800T

BugLink: https://launchpad.net/bugs/549267
The OR verified that using the olpc-xo-1_5 model quirk allows the
headphones to be audible when inserted into the jack. Capture was
also verified to work correctly.

Reported-by: Richard Gagne
Tested-by: Richard Gagne
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F
Daniel T Chen [Tue, 4 May 2010 00:39:31 +0000 (20:39 -0400)]
ALSA: hda: Use olpc-xo-1_5 quirk for Toshiba Satellite Pro T130-15F

BugLink: https://launchpad.net/bugs/573284
The OR verified that using the olpc-xo-1_5 model quirk allows the
headphones to be audible when inserted into the jack. Capture was
also verified to work correctly.

Reported-by: Andy Couldrake <acouldrake@googlemail.com>
Tested-by: Andy Couldrake <acouldrake@googlemail.com>
Cc: <stable@kernel.org>
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoALSA: hda - fix array indexing while creating inputs for Cirrus codecs
Brian J. Tarricone [Mon, 3 May 2010 00:32:10 +0000 (17:32 -0700)]
ALSA: hda - fix array indexing while creating inputs for Cirrus codecs

This fixes a problem where cards show up as only having a single mixer
element, suppressing all sound output.

Signed-off-by: Brian J. Tarricone <brian@tarricone.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoASoC: tpa6130a2: TLV mapping for tpa6140a2
Peter Ujfalusi [Tue, 4 May 2010 08:08:18 +0000 (11:08 +0300)]
ASoC: tpa6130a2: TLV mapping for tpa6140a2

Both tpa6130a2, and tpa6140a2 is supported by the
same driver, but the gain dB scaling is different on
the amplifiers.

Provide different mixer control for the chips with correct
TLV mapping.

User space will see:
"TPA6130A2 Headphone Playback Volume" in case of 6130
"TPA6140A2 Headphone Playback Volume" in case of 6140

The way machine drivers are using this amplifier remained
the same.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320dac33: Support for turning off the codec
Peter Ujfalusi [Fri, 30 Apr 2010 11:59:36 +0000 (14:59 +0300)]
ASoC: tlv320dac33: Support for turning off the codec

Let the codec to hit OFF instead of STANDBY, when there is no activity.
When the codec is off, than the associated regulator can be also turned
off (if the number of users on the regulator is 0).

After initialization, the codec remains in power off, it is only turned
on for reading the ID registers (also testing the regulators).

The codec power is enabled, when the codec is moving from BIAS_OFF
to BIAS_STANDBY.
The codec is turned off, when it hits BIAS_OFF.

There are few scenarios, which has to be taken care::
1. Analog bypass caused BIAS_OFF -> BIAS_ON
   We need to power on the codec, and do the chip init, but we does not
   need to execute the playback related configuration
2. Playback caused  BIAS_OFF -> BIAS_ON
   We need to power on the codec, and do the chip init, and also we need
   to execute the playback related configuration.
3. Playback start, while Analog bypass is on (BIAS_ON -> BIAS_ON)
   We need to execute the playback related configuration. The codec is
   already on.
4. Analog bypass enable, while playback (BIAS_ON -> BIAS_ON)
   Nothing need to be done.
5. Playback start withing soc power down timeout (BIAS_ON -> BIAS_ON)
   We need to execute the playback related configuration. The codec is
   still on.

Since the power up, and the codec init is optimized, the added overhead
in stream start is minimal.

Withing this patch, the hard_power function is now only doing what it
supposed to: only handle the powers, and GPIO reset line.
The codec initialization and state restore has been moved out.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320dac33: Manage a pointer for snd_pcm_substream in private structure
Peter Ujfalusi [Fri, 30 Apr 2010 11:59:35 +0000 (14:59 +0300)]
ASoC: tlv320dac33: Manage a pointer for snd_pcm_substream in private structure

As a preparation for supporting codec to be turned off,
when we are in BIAS_STANDBY.

The substream must be easily available in other places than
pcm_* callbacks.

Manage a pointer in _startup, and _shutdown for this.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320dac33: Revised module loading, and DAC33 ID read
Peter Ujfalusi [Fri, 30 Apr 2010 11:59:34 +0000 (14:59 +0300)]
ASoC: tlv320dac33: Revised module loading, and DAC33 ID read

Optimize the way how tlv320dac33 is powered uppon module and
soc initialization.
Also read the DAC33 ID registers, and update the reg_cache
to reflect it.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320dac33: Optimize power up, and restore
Peter Ujfalusi [Fri, 30 Apr 2010 11:59:33 +0000 (14:59 +0300)]
ASoC: tlv320dac33: Optimize power up, and restore

On power up we only need to initialize the codec, and
restore only registers, which are not in either in DAPM
nor in the playback start sequence.
These are mostly gain related registers.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: TWL4030: Remove OUTL/R outputs
Peter Ujfalusi [Thu, 29 Apr 2010 07:58:09 +0000 (10:58 +0300)]
ASoC: TWL4030: Remove OUTL/R outputs

OUTL/R are leftovers from the original driver, and they
are no longer needed.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: TWL4030: AIF/APLL fix in DAPM domain
Peter Ujfalusi [Thu, 29 Apr 2010 07:58:08 +0000 (10:58 +0300)]
ASoC: TWL4030: AIF/APLL fix in DAPM domain

This patch orders the APLL and AIF power sequence in
case of HiFi (audio in TWL4030 terms) playback/capture.

We also need to make sure that the AIF is running during
playback/capture, when there is no valid DAPM route
available. For this purpose I introduce these virtual
widgets:
/* To have complete playback route all the time */
DAPM_OUTPUT("Virtual HiFi OUT") /* Will keep AIF/APLL enabled */

/* To have complete capture route all the time */
DAPM_INPUT("Virtual HiFi IN") /* Will keep AIF/APLL enabled */

/* To have complete playback route for the voice module */
DAPM_OUTPUT("Virtual Voice OUT") /* Will keep APLL enabled */

The DAPM_SUPPLY widgets for APLL and AIF are placed in a way,
that during any audio activity the needed configuration of AIF
and APLL will be enabled (playback, capture, analog loopback,
digital loopback, and voice activity).

The apll reference counting code has been lifted,
and modified from Liam Girdwood's earlier patch.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Add WM9090 amplifier driver
Mark Brown [Wed, 28 Apr 2010 17:36:10 +0000 (18:36 +0100)]
ASoC: Add WM9090 amplifier driver

The WM9090 is a high performance low power audio subsystem, including
headphone and class D speaker drivers.

Note that this driver is a standalone CODEC driver and so is only
immediately suitable for use with the WM9090 as a standalone sound card
taking line inputs, or with a DAC with no software control.  The pending
ASoC multi-CODEC support will expand the range of systems that can use
the driver, or system-specific adaptations can be made.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320dac33 - disable regulators at i2c remove()
Liam Girdwood [Fri, 26 Mar 2010 20:05:54 +0000 (20:05 +0000)]
ASoC: tlv320dac33 - disable regulators at i2c remove()

Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: zoom2 - update DAPM pins
Liam Girdwood [Mon, 22 Mar 2010 19:35:06 +0000 (19:35 +0000)]
ASoC: zoom2 - update DAPM pins

Remove bogus twl4030 pins

Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: pandora - update DAPM pins
Liam Girdwood [Mon, 22 Mar 2010 19:30:54 +0000 (19:30 +0000)]
ASoC: pandora - update DAPM pins

Remove bogus TWL4030 pins.

Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: Remove redundant WM8960 SYSCLKSEL clkdiv option
Mark Brown [Tue, 27 Apr 2010 19:01:56 +0000 (20:01 +0100)]
ASoC: Remove redundant WM8960 SYSCLKSEL clkdiv option

The SYSCLK source is automatically managed when configuring the PLL.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Tue, 27 Apr 2010 13:36:17 +0000 (15:36 +0200)]
Merge branch 'topic/asoc' into for-next

14 years agoMerge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc...
Takashi Iwai [Tue, 27 Apr 2010 13:35:59 +0000 (15:35 +0200)]
Merge branch 'for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/asoc-2.6 into topic/asoc

14 years agoASoC: tlv320aic3x: Add basic regulator support
Jarkko Nikula [Mon, 26 Apr 2010 12:49:14 +0000 (15:49 +0300)]
ASoC: tlv320aic3x: Add basic regulator support

This patch adds the TLV320AIC3x supplies and enables all of them for the
entire lifetime of the device.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Change bias management semantics
Jarkko Nikula [Mon, 26 Apr 2010 12:49:13 +0000 (15:49 +0300)]
ASoC: tlv320aic3x: Change bias management semantics

Move PLL enable from BIAS_ON state to BIAS_PREPARE to be pair with
BIAS_STANDBY where PLL is disabled. Remove also old comments about power
control.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Remove needless power off from aic3x_set_bias_level
Jarkko Nikula [Mon, 26 Apr 2010 12:49:12 +0000 (15:49 +0300)]
ASoC: tlv320aic3x: Remove needless power off from aic3x_set_bias_level

These ADC, DAC and output pin power off commands are needless in
aic3x_set_bias_level since they are not enabled in aic3x_init and they are
defined in aic3x_dapm_widgets so the ASoC DAPM will take care of them
anyway.

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoASoC: tlv320aic3x: Remove unused version string
Jarkko Nikula [Mon, 26 Apr 2010 12:49:11 +0000 (15:49 +0300)]
ASoC: tlv320aic3x: Remove unused version string

Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
14 years agoMerge branch 'topic/asoc' into for-next
Takashi Iwai [Mon, 26 Apr 2010 15:34:39 +0000 (17:34 +0200)]
Merge branch 'topic/asoc' into for-next