Jarkko Nikula [Thu, 28 Oct 2010 11:05:40 +0000 (14:05 +0300)]
ASoC: tpa6130a2: Fix unbalanced regulator disables
This driver has unbalanced regulator_disable when doing module loading and
unloading. This is because tpa6130a2_probe followed by tpa6130a2_remove
calls twice tpa6130a2_power(0). Fix this by implementing a state checking
in tpa6130a2_power.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Fri, 29 Oct 2010 06:49:37 +0000 (09:49 +0300)]
ASoC: tlv320dac33: Mode1 FIFO auto configuration fix
Do not allow invalid (too big) nSample value, when FIFO Mode1
and automatic fifo configuration has been selected.
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>
Peter Ujfalusi [Fri, 29 Oct 2010 11:07:25 +0000 (14:07 +0300)]
ASoC: tlv320dac33: Limit the US_TO_SAMPLES macro
Limit the time window to maximum 1s in the macro.
The driver deals with much shorter times (<200ms).
This will fix a rare division by zero bug in Mode1.
This could happen, when the work is not executed in
time (within mode1_latency) after the interrupt.
In this case the DAC33 will not receive the needed
nSample command in time, and enters to an unknown
state, and won't recover.
In such event the time window will increase, and
eventually going to be bigger than 1s, resulting
devision by zero.
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>
Peter Ujfalusi [Tue, 26 Oct 2010 08:45:59 +0000 (11:45 +0300)]
ASoC: tlv320dac33: Error handling for broken chip
Correct/Implement handling of broken chip.
Fail the soc_prope if the communication with the chip
fails (can not read chip ID).
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>
Peter Ujfalusi [Fri, 22 Oct 2010 12:11:20 +0000 (15:11 +0300)]
ASoC: tlv320dac33: Use usleep_range for delays
Switch to use the more precise usleep_range instead of
msleep().
Replace the udelay with usleep_range to remove the busy loop
waiting.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Acked-by: Mark Borwn <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Peter Ujfalusi [Thu, 21 Oct 2010 12:03:03 +0000 (15:03 +0300)]
ASoC: tpa6130a2: Error handling for broken chip
Correct/Implement handling of broken chip.
Fail the i2c_prope if the communication with the chip
fails.
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>
Peter Ujfalusi [Wed, 13 Oct 2010 08:56:28 +0000 (11:56 +0300)]
ASoC: tlv320dac33: Control for line output gain
New control to select the line output gain.
This gain control affects the linein-to-lineout and
dac-to-loneout gain differently.
Use enum type to select the desired gain combination.
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>
Jarkko Nikula [Wed, 6 Oct 2010 13:47:26 +0000 (16:47 +0300)]
ASoC: omap: Remove needless prints from machine drivers
It is currently completely normal to execute these machine drivers code on
different boards if the kernel includes support for multiple boards so no
error message should be printed if the machine_is_xxx does not match with
the machine driver.
Therefore remove these pr_err and pr_debug prints in those cases.
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>
Nicolas Kaiser [Tue, 5 Oct 2010 12:11:40 +0000 (14:11 +0200)]
ASoC: remove duplicated include for nuc900
Remove duplicated include.
Signed-off-by: Nicolas Kaiser <nikai@nikai.net>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Guennadi Liakhovetski [Tue, 5 Oct 2010 15:54:28 +0000 (17:54 +0200)]
ASoC: sh: fix build error: terminate the platform device ID list
Platform driver ID table must be zero-element terminated.
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>
Dimitris Papastamos [Mon, 4 Oct 2010 15:28:59 +0000 (16:28 +0100)]
ASoC: WM8804: Retrieve the device revision and print it
Be verbose and print out the device revision.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Mon, 4 Oct 2010 10:25:13 +0000 (11:25 +0100)]
ASoC: soc-cache: Add spi_write support for all I/O types
Ensure that all drivers that use SPI and I2C will work properly
by providing SPI write functions for all different I/O types.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 5 Oct 2010 16:55:56 +0000 (09:55 -0700)]
Merge branch 'topic/asoc' of git://git./linux/kernel/git/tiwai/sound-2.6 into for-2.6.37
Takashi Iwai [Tue, 5 Oct 2010 05:50:11 +0000 (07:50 +0200)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Troy Kisky [Sun, 3 Oct 2010 21:44:19 +0000 (16:44 -0500)]
ALSA: ASoc: DaVinci Delay start of ASP to trigger
Since only 4 mainline ASoC codecs support the trigger
callback, we cannot rely upon them stopping the frame clock
if they are master and must assume it is running even if the
sound is paused. Thus we cannot start the ASP until the trigger
method.
Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Martin Ambrose <martin@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Mon, 4 Oct 2010 12:04:53 +0000 (15:04 +0300)]
omap: devices: Avoid merge conflict between ASoC and OMAP hwmod changes
Upcoming ASoC multi-component and OMAP hwmod changes will conflict
in arch/arm/mach-omap2/devices.c. Avoid this by moving a little bit
include statement introduced by ASoC Multi-Component Support patch.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Paul Walmsley <paul@pwsan.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Mon, 4 Oct 2010 08:37:48 +0000 (09:37 +0100)]
ASoC: WM8804: Power down the PLL correctly
The PLL is disabled when the corresponding bit is set not the other
way around. This commit depends on my other commit with Subject
"ASoC: WM8804: Refactor set_pll code to avoid GCC warnings".
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Mon, 4 Oct 2010 08:31:42 +0000 (09:31 +0100)]
ASoC: WM8804: Refactor set_pll code to avoid GCC warnings
Ensure that no uninitialised variable warnings are generated by
GCC.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Sun, 3 Oct 2010 09:10:01 +0000 (11:10 +0200)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into topic/asoc
Dimitris Papastamos [Fri, 1 Oct 2010 08:12:14 +0000 (09:12 +0100)]
ASoC: WM8804: Use a proper DAI name
Make sure the DAI name does not include a '/' since we might have
per DAI debugfs or sysfs entries in the future.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sat, 2 Oct 2010 00:46:37 +0000 (17:46 -0700)]
ASoC: Put WM8962 GPIO2/3 into GPIO mode when configuring platform data too
GPIO2 and GPIO3 on the WM8962 are MFPs and need to be put into GPIO mode
before the GPIO block can be used to control them. We're already doing
this when used via gpiolib, factor out the code for use when setting static
configurations via platform data as well.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 30 Sep 2010 22:37:53 +0000 (15:37 -0700)]
ASoC: Implement interrupt based jack detection
Allow microphone detection on WM8962 to be performed using the interrupt
signal, allowing the detection of both microphone presence and button
presses with a signal singal from the CODEC to CPU. Currently a 250ms
debounce time is applied to both short circuit and presence detection,
this has not been optimised.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 16:34:58 +0000 (17:34 +0100)]
ASoC: Add support for WM8962 GPIO outputs
The WM8962 features five GPIOs, add support for controlling their output
state via gpiolib.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 30 Sep 2010 20:46:14 +0000 (13:46 -0700)]
ASoC: Remove -dai suffix from i.MX SSI driver
While it is a generic serial port in practice the i.MX SSI is only supported
in Linux as an audio port (the i.MX has dedicated SPI controllers and so on).
This means we don't need to disambiguate against other uses of the hardware
and so can drop the -dai suffix from the driver name which fixes merge
issues with the i.MX tree in -next.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 30 Sep 2010 21:18:48 +0000 (14:18 -0700)]
ASoC: Relax restrictions on WM8962 BCLK configuration
The restrictions on configuring BCLK are overly cautious, other constraints
in the system should ensure that reconfiguration is not possible when the
device is sufficiently active to be unable to support reclocking.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Wed, 29 Sep 2010 10:14:56 +0000 (11:14 +0100)]
ASoC: WM8804: Initial driver
The WM8804 is a high performance consumer mode S/PDIF transceiver with
support for 1 received channel and 1 transmitted channel.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Wed, 29 Sep 2010 10:48:19 +0000 (11:48 +0100)]
ASoC: Remove unneeded use of spi_bus_type
No need to explicitly set the bus type, spi_register_driver does
that for us.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 29 Sep 2010 20:24:35 +0000 (13:24 -0700)]
ASoC: Provide microphone bias configuration for WM8962
Add the widget for MICBIAS power control and allow configuration of the
microphone bias setup via the platform data for the WM8962. When
microphone status signals are brought out to GPIO this should be
sufficient to enable microphone detection.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 29 Sep 2010 18:46:37 +0000 (11:46 -0700)]
ASoC: Mark WM8962 Additional Control 4 register as volatile
There are some status bits for microphone detection in here.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Tue, 28 Sep 2010 23:01:20 +0000 (16:01 -0700)]
ASoC: Initial WM8962 IRQ support
Provide an initial hookup for interrupts on the WM8962. Currently we simply
report error status via log messages if an IRQ is provided for the device.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 19:36:19 +0000 (20:36 +0100)]
ASoC: Lowercase WM8962 CODEC name
For consistency.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Tue, 28 Sep 2010 00:20:11 +0000 (17:20 -0700)]
ASoC: Fix masking of WM8962 FLL1 register
When configuring the FLL we preserve the FLL enable configuration in order
to allow us to reenable the FLL after configuration but we do not clear
the other bits in the register, causing old configuration to be preserved.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Mon, 27 Sep 2010 10:16:30 +0000 (11:16 +0100)]
ASoC: WM8985: Use the correct macro for the kcontrol defined
Since we are using custom get/put handlers
use SOC_ENUM_SINGLE_EXT_DECL instead of the original SOC_ENUM_SINGLE_DECL
macro.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Mon, 27 Sep 2010 06:13:25 +0000 (08:13 +0200)]
ASoC: Fix a compile warning for printk format
sound/soc/codecs/wm8985.c: In function 'wm8985_hw_params':
sound/soc/codecs/wm8985.c:731:2: warning: format '%d' expects type 'int', but argument 4 has type 'size_t'
Actually the variable is fine as int.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Mark Brown [Sat, 25 Sep 2010 08:15:39 +0000 (09:15 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
Mark Brown [Fri, 24 Sep 2010 09:50:46 +0000 (10:50 +0100)]
ASoC: Add Jassi Brar as Samsung maintainer
Since Jassi is doing so much good work and can offer such good review
for the Samsung CPU support add an entry for the Samsung ASoC drivers
to MAINTAINERS listing him.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Thu, 23 Sep 2010 16:11:54 +0000 (19:11 +0300)]
omap: zoom: Move new code introduced by ASoC m-c to board-zoom-peripherals
ASoC Multi-Component Support moves some code from sound/soc/omap/zoom2.c into
arch/arm/mach-omap2/board-zoom2.c. However, that code should go to
board-zoom-peripherals.c instead as there is common code and registration
for zoom boards.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Lopez Cruz, Misael <x0052729@ti.com>
Cc: Jorge Eduardo Candelaria <jorge.candelaria@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Thu, 23 Sep 2010 16:11:53 +0000 (19:11 +0300)]
omap: zoom2: Fix ASoC multi-component build breakage by removing dead code
ASoC Multi-Component Support patch removes #if 0 in board-zoom2.c that was
used to protect some uncompiling dead code. Remove that code as it seems to
be here quite some time since commit
479f12c.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Cc: Vikram Pandita <vikram.pandita@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Tested-by: Misael Lopez Cruz <misael.lopez@ti.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Fri, 24 Sep 2010 12:02:07 +0000 (13:02 +0100)]
ASoC: WM8985: Remove unneeded declaration.
We are not using the private data in this function, so get rid of it.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Thu, 23 Sep 2010 18:43:07 +0000 (19:43 +0100)]
ASoC: Clean up AC'97 glue driver
Remove version number and clean up some indentation.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Sep 2010 16:41:46 +0000 (17:41 +0100)]
ASoC: Add debug logging for s3c-ac97 resets
Helps tracing errors further up the stack.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Sep 2010 15:48:54 +0000 (16:48 +0100)]
ASoC: Convert s3c-ac97 to pr_() macros
Could use dev_() but we'd have to remember the struct device somewhere
and it wouldn't make the logging clearer.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Thu, 23 Sep 2010 14:28:14 +0000 (15:28 +0100)]
ASoC: Clean up the CODEC device as well as the board for SMDK WM9713
Otherwise we try to re-register the CODEC device if the module is reloaded
and sysfs becomes miserable.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 22 Sep 2010 18:44:13 +0000 (19:44 +0100)]
ASoC: Clarify naming for SMDK WM9713 driver
At least some of the systems using this device have multiple audio
subsystems so provide some guidance to userspace about which one this
is.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 22 Sep 2010 18:43:30 +0000 (19:43 +0100)]
ASoC: Remove unneeded WM9713 header include from SMDK WM9713 driver
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Wed, 22 Sep 2010 15:16:06 +0000 (16:16 +0100)]
ASoC: Fix incorrect parameter to snd_soc_codec_volatile_register
We need to pass the register index and not the register value.
This patch depends on my previous patch "ASoC: Delegate to hw
specific read for volatile registers".
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Wed, 22 Sep 2010 12:25:47 +0000 (13:25 +0100)]
ASoC: Delegate to hw specific read for volatile registers
Ensure that reads on volatile registers will correctly delegate
to the bus specific read function.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Takashi Iwai [Thu, 23 Sep 2010 05:40:16 +0000 (07:40 +0200)]
ASoC: adapt multi-componentism again
Go back to the new world order.
(Also fixed indentation.)
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai [Thu, 23 Sep 2010 05:31:27 +0000 (07:31 +0200)]
Merge branch 'for-2.6.36' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc
Mark Brown [Wed, 22 Sep 2010 17:47:40 +0000 (18:47 +0100)]
ASoC: Fix multi-componentism
Spot the build testing.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Tue, 21 Sep 2010 16:04:07 +0000 (17:04 +0100)]
ASoC: Return -1 instead of -EINVAL to ensure consistency
The code can't really cope with I/O errors, so it would be better
to be consistent throughout all cache functions and return -1 instead
of -EINVAL.
The return value of snd_soc_read(...) is mostly checked in the probe
function and nowhere else.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Tue, 21 Sep 2010 14:09:37 +0000 (15:09 +0100)]
ASoC: Report error codes for card DAI instantiation failures
Also clean up the error print a bit.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 22 Sep 2010 11:19:07 +0000 (12:19 +0100)]
Merge branch 'for-2.6.37' of git://git./linux/kernel/git/lrg/asoc-2.6 into for-2.6.37
Mark Brown [Wed, 22 Sep 2010 11:03:28 +0000 (12:03 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
Dimitris Papastamos [Tue, 21 Sep 2010 14:03:26 +0000 (15:03 +0100)]
ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the
register cache.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Tue, 21 Sep 2010 13:12:35 +0000 (14:12 +0100)]
ASoC: Fix soc-cache buffer overflow bug
Make sure we stay within the cache boundaries when updating the
register cache.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Tue, 21 Sep 2010 12:36:49 +0000 (15:36 +0300)]
ASoC: Remove extra rtd->dev.init_name assignment in soc_probe_dai_link
rtd->dev.init_name is set twice in soc_probe_dai_link. I removed the first
assignement from dai_link->stream_name since then there won't be sysfs name
changes and usually dai_link->name seems to fit anyway better for a sysfs
directory name.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Mon, 20 Sep 2010 18:17:44 +0000 (19:17 +0100)]
ASoC: Fix merge issue with WM8962 control addition
Let's not add the core controls twice.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 18:03:28 +0000 (19:03 +0100)]
ASoC: Report error code when failing to add controls
Helps with diagnostics.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Mon, 20 Sep 2010 16:54:57 +0000 (17:54 +0100)]
ASoC: Prototype s3c64xx_i2s_get_clock()
So machine drivers can see the declaration.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Kuninori Morimoto [Fri, 17 Sep 2010 04:49:05 +0000 (13:49 +0900)]
ASoC: fsi: merge fsi_data_push/pop to fsi_fifo_data_ctrl
Current FSI driver had data push/pop functions.
But the main operation of these 2 were very similar.
This mean it is possible to merge these to 1 function.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:45 +0000 (13:48 +0900)]
ASoC: fsi: modify variable name to easy to understand
Current FSI driver is using
data-length / width / number / offset for variables.
But it was a very confusing name.
This patch rename them to easy to understand,
and add new functions for it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 19 Sep 2010 15:07:06 +0000 (16:07 +0100)]
ASoC: Fix WM8978/migor driver name conflict
Standardise on 'wm8978' as the name for the CODEC.
Reported-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:14 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Let the codec hit SND_SOC_BIAS_OFF when idle
Now codec hits the SND_SOC_BIAS_OFF also when it is idle. This is also
the default state after probing and codec is left unconfigured and
unpowered by default. Initialization will happen when the bias state changes
and aic3x_set_power does power-up and cache sync.
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>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:13 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Use regulator notifiers for optimizing the cache sync
There is no need to reset the codec and perform cache sync if none of the
supply regulators were not disabled. Patch registers a notifier callback for
each supply and callback then sets a flag to indicate when cache sync is
required.
HW writes are also needless when codec bias is off so cache_only flag is set
independently of actual supply regulators state.
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>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:12 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Add runtime regulator control to aic3x_set_bias_level
Now all the regulators are disabled when entering into SND_SOC_BIAS_OFF
and enabled when coming back to SND_SOC_BIAS_STANDBY state. Currently this
runtime control happens only with suspend/resume as this patch does not
change the default idle behavior.
This patch manages all the regulators and reset since it seems that register
sync is needed even if only analog supplies AVDD and DRVDD are disabled.
This was noted when the system was running with idle behavior changed and
IOVDD and DVDD were on.
It is not known are all the registers needed to sync or only some subset of
them. Therefore patch plays safe and does always full shutdown/power-up.
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>
Jarkko Nikula [Mon, 20 Sep 2010 07:39:11 +0000 (10:39 +0300)]
ASoC: tlv320aic3x: Move regulator management from i2c to soc domain
It will be easier to keep regulator enable/disable calls in sync when dynamic
regulator management is added if regulator management is moved from
aic3x_i2c_probe/_remove to aic3x_probe/_remove.
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>
Liam Girdwood [Mon, 20 Sep 2010 08:53:29 +0000 (09:53 +0100)]
Merge remote branch 'asoc/for-2.6.37' into for-2.6.37
Jarkko Nikula [Fri, 17 Sep 2010 11:39:01 +0000 (14:39 +0300)]
ASoC: tlv320aic3x: Add virtual output pin Detection
Purpose of this virtual Detection pin is to keep codec bias on whenever the
GPIO or jack detection features are needed.
Jack detection needs a mic bias so machine drivers can construct a following
route for instance for keeping the path and codec bias on:
"Input Jack" -> "Mic Bias xV" -> "Detection" -> detection block inside codec.
For the GPIO the machine driver can force the pin on with
snd_soc_dapm_force_enable_pin.
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>
Liam Girdwood [Mon, 20 Sep 2010 08:49:26 +0000 (09:49 +0100)]
Merge remote branch 'broonie-asoc/for-2.6.37' into for-2.6.37
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:32 +0000 (13:48 +0900)]
ASoC: fsi: Add fsi_dma_soft_push/pop function
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:17 +0000 (13:48 +0900)]
ASoC: fsi: modify noisy comment out
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Fri, 17 Sep 2010 04:48:05 +0000 (13:48 +0900)]
ASoC: fsi: Add fsi_dma_get_area
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:30:18 +0000 (12:30 +0200)]
ASoC: fix SIU driver breakage, occurred during the multi-component transition
This patch fixes multiple bugs and a typo, occurred during the multi-
component transition.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:30:00 +0000 (12:30 +0200)]
sh: fix an SIU device name mismatch
Recent ASoC changes unified all PCM names, fix the platform code to match.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:29:46 +0000 (12:29 +0200)]
ASoC: fix compile breakage of the sh/siu driver
The sh/siu ASoC driver doesn't compile because of a function defined static in
the source and extern in a header. Remove the unneeded declaration in the
header.
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Sun, 19 Sep 2010 15:03:16 +0000 (16:03 +0100)]
Merge branch 'for-2.6.36' into for-2.6.37
Guennadi Liakhovetski [Fri, 17 Sep 2010 10:30:11 +0000 (12:30 +0200)]
ASoC: fix clkdev API usage in sh/migor.c
The clkdev API doesn't use .name and .id members of struct clk for clock
lookup. Instead clocks should be added to a lookup list. Without this patch
audio om the Migo-R board fails silently.
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>
Dzianis Kahanovich [Fri, 17 Sep 2010 13:42:05 +0000 (16:42 +0300)]
ASoC: Add device table to SH FSI driver
Signed-off-by: Dzianis Kahanovich <mahatma@eu.by>
[Modified to move the location of the table]
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Thu, 16 Sep 2010 04:07:06 +0000 (13:07 +0900)]
ASoC: da7210: code clean up
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Kuninori Morimoto [Thu, 16 Sep 2010 04:06:40 +0000 (13:06 +0900)]
ASoC: ak4642: code clean up
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Mark Brown [Wed, 15 Sep 2010 17:22:40 +0000 (18:22 +0100)]
ASoC: Add platform listing to debugfs
List registered platforms in debugfs to improve debugability of machine
drivers.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 15 Sep 2010 17:19:07 +0000 (18:19 +0100)]
ASoC: Add DAI list to debugfs
Allow the user to inspect the list of registered DAIs at runtime to
improve diagnostics for machine driver setup.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Mark Brown [Wed, 15 Sep 2010 17:15:14 +0000 (18:15 +0100)]
ASoC: Add debugfs listing of registered CODECs
Help with diagnostics for machine driver setup by listing all the
registered CODECs in debugfs.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Dimitris Papastamos [Wed, 15 Sep 2010 14:23:20 +0000 (15:23 +0100)]
ASoC: WM8985: Initial driver
The WM8985 is a low power, high quality, feature-rich stereo
CODEC designed for portable multimedia applications that
require low power consumption and high quality audio.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Tue, 14 Sep 2010 13:59:47 +0000 (16:59 +0300)]
ASoC: tlv320aic3x: Complete the soc-cache conversion
Complete the phasing out of aic3x_read_reg_cache, aic3x_write_reg_cache,
aic3x_read and aic3x_write calls.
This patch uses in aic3x_read the codec->hw_read that points to a function
implemented by soc-cache. Only use for aic3x_read is if wanting to read
volatile bits from those registers that has both read-only and read/write
bits. All other cases should use snd_soc_read.
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>
Jarkko Nikula [Tue, 14 Sep 2010 11:54:48 +0000 (14:54 +0300)]
ASoC: tlv320aic3x: Switch to soc-cache helpers
Continue phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read
and aic3x_write calls.
This patch takes the soc-cache in use and removes aic3x_read_reg_cache and
aic3x_write.
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>
Jarkko Nikula [Tue, 14 Sep 2010 11:54:47 +0000 (14:54 +0300)]
ASoC: tlv320aic3x: Use snd_soc_read and snd_soc_write
Start phasing out aic3x_read_reg_cache, aic3x_write_reg_cache, aic3x_read and
aic3x_write calls in order to switch to soc-cache helpers.
This patch replaces aic3x_read_reg_cache and aic3x_write with snd_soc_read
and snd_soc_write. This is basically null-op since .read and .write in
soc_codec_dev_aic3x points to aic3x_read_reg_cache and aic3x_write.
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>
Arnaud Patard (Rtp) [Thu, 9 Sep 2010 12:10:33 +0000 (14:10 +0200)]
ASoC: Change my mail address
Like other coworkers, I'm about leave Mandriva/Edge-It so I'm changing
my mail address to use my personal one.
Signed-off-by: Arnaud Patard <arnaud.patard@rtp-net.org>
Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jarkko Nikula [Tue, 14 Sep 2010 12:24:38 +0000 (15:24 +0300)]
ASoC: Remove needless codec->bias_level assignment to SND_SOC_BIAS_OFF
This assignment is done by the snd_soc_register_codec so there is no need
to redo it in probe function of a codec driver.
Signed-off-by: Jarkko Nikula <jhnikula@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Jassi Brar [Fri, 10 Sep 2010 07:41:05 +0000 (16:41 +0900)]
ASoC: Samsung: Debug PCM snd_soc_dai_driver registration
Each of the two PCM controllers need to be registered during probe
with appropriate 'name' of the dai driver.
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>
Mark Brown [Mon, 13 Sep 2010 09:11:14 +0000 (10:11 +0100)]
ASoC: Set more meaningful name for SMDK64xx WM8580 audio
Since the SMDK64xx boards have two audio subsystems using the board
name as the card name by itself isn't so user friendly as it might
be.
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Kuninori Morimoto [Mon, 13 Sep 2010 10:40:13 +0000 (19:40 +0900)]
ASoC: fsi codecs: Update card name field
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Seungwhan Youn [Fri, 10 Sep 2010 08:20:45 +0000 (17:20 +0900)]
ASoC: S3C: Fix PCM TXFIFO_DIPSTICK value
This patch modify FIFO_DIPSTICK value of PCM TX FIFO to be a optimal one.
Privious value (0x20) did not support 'Almost_full' of PCM FIFO for the DMA
request.
Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Seungwhan Youn [Fri, 10 Sep 2010 08:20:00 +0000 (17:20 +0900)]
ASoC: S3C: Fix PCM RX FIFO settings
When PCM capture, sound recorded abnormally because of RX FIFO
threshold settings are missing. So, This patch modify PCM RX FIFO
setting codes same as TX.
And for DMA, if PCM RXFIFO_DIPSTICK is not '0', it doesn't effect
to DMA request, because DMA refer RX_FIFO_EMPTY flag as the DMA
request.
Signed-off-by: Seungwhan Youn <sw.youn@samsung.com>
Acked-by: Jassi Brar <jassi.brar@samsung.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Dimitris Papastamos [Fri, 10 Sep 2010 17:24:08 +0000 (18:24 +0100)]
ASoC: Fix off-by-one bug in WM8962 register cache size configuration
This is a simple off-by-one bug, the size of the register cache is
incorrectly set to the maximum register index. Fix it by adding one.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Matti J. Aaltonen [Fri, 10 Sep 2010 07:41:30 +0000 (10:41 +0300)]
ASoC: WL1273 FM Radio: Eliminate unnecessary error return value.
With this change it's not a error to call wl1273_set_audio_route
when the codec is active if the new routing value is the same
as the current active setting.
Signed-off-by: Matti J. Aaltonen <matti.j.aaltonen@nokia.com>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Liam Girdwood <lrg@slimlogic.co.uk>
Jarkko Nikula [Fri, 10 Sep 2010 11:23:29 +0000 (14:23 +0300)]
ASoC: tlv320aic3x: Optimize PLL programming in aic3x_set_bias_level
There is only need to enable/disable once the PLL when the bias is going
between on, prepare, standby and off states.
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>
Dimitris Papastamos [Fri, 10 Sep 2010 17:14:56 +0000 (18:14 +0100)]
ASoC: Fix incorrect register cache size configuration
The reg_cache_size is the number of elements in the register cache,
not the size of the cache itself. This is not a problem if the size
of each element of the cache is 1 byte but it matters in any other
case.
Signed-off-by: Dimitris Papastamos <dp@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Axel Lin [Thu, 9 Sep 2010 09:50:56 +0000 (17:50 +0800)]
ASoC: ad1980 - set reg_cache_default to ad1980_reg
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>