openwrt/staging/blogic.git
15 years agoMerge branch 'for-2.6.31' into for-2.6.32
Mark Brown [Thu, 25 Jun 2009 12:58:37 +0000 (13:58 +0100)]
Merge branch 'for-2.6.31' into for-2.6.32

15 years agoASoC: Add core suspend and resume callbacks to WM8961
Mark Brown [Thu, 25 Jun 2009 12:57:59 +0000 (13:57 +0100)]
ASoC: Add core suspend and resume callbacks to WM8961

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMAINTAINERS: Add entry for twl4030 series soc codec driver
Peter Ujfalusi [Thu, 25 Jun 2009 10:26:09 +0000 (13:26 +0300)]
MAINTAINERS: Add entry for twl4030 series soc codec driver

New MAINTAINERS entry for twl4030 series soc codec driver
with Peter Ujfalusi as maintainer.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add a shutdown callback
Mark Brown [Mon, 22 Jun 2009 12:16:51 +0000 (13:16 +0100)]
ASoC: Add a shutdown callback

Ensure that the audio subsystem is powered down cleanly when the system
shuts down by providing a shutdown operation. This ensures that all the
components have been returned to an off state cleanly which should avoid
audio issues from partially charged capacitors or noise on digital inputs
if the system is restarted quickly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Tested-by: Ben Dooks <ben-linux@fluff.org>
15 years agoASoC: TWL4030: Correct bypass event for voice sidetone
Lopez Cruz, Misael [Tue, 23 Jun 2009 00:34:07 +0000 (19:34 -0500)]
ASoC: TWL4030: Correct bypass event for voice sidetone

Event for voice sidetone was being interpreted as an
analog HiFi bypass event because VSTPGA register offset
is less than ARXR2_APGA_CTL offset. Reordering the
register checks allows to handle voice digital bypass
event properly.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Add AVADC Clock Priority
Lopez Cruz, Misael [Mon, 22 Jun 2009 15:51:52 +0000 (10:51 -0500)]
ASoC: TWL4030: Add AVADC Clock Priority

AVDAC clk priority allows to determine the path ADC must
be connected when the codec is in option2 and both HiFi
and Voice paths are enabled.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Fix voice interface clock masters
Lopez Cruz, Misael [Fri, 19 Jun 2009 08:23:42 +0000 (03:23 -0500)]
ASoC: TWL4030: Fix voice interface clock masters

Voice interface of twl4030 codec supports: CBM_CFM and
CBS_CFS. It doesn't support CBS_CFM.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-By: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'wm8961' into for-2.6.32
Mark Brown [Mon, 22 Jun 2009 10:08:26 +0000 (11:08 +0100)]
Merge branch 'wm8961' into for-2.6.32

15 years agoASoC: Blackfin: convert internal names from bf52x to bf5xx
Barry Song [Sat, 20 Jun 2009 15:29:56 +0000 (11:29 -0400)]
ASoC: Blackfin: convert internal names from bf52x to bf5xx

These drivers aren't BF52x specific, so don't use bf52x in the names.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Blackfin: update the bf5xx_i2s_resume parameters
Barry Song [Sat, 20 Jun 2009 15:29:57 +0000 (11:29 -0400)]
ASoC: Blackfin: update the bf5xx_i2s_resume parameters

Latest ASoC only passes snd_soc_dai to the resume function.

Signed-off-by: Barry Song <barry.song@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Blackfin: keep better track of SPORT configuration state
Cliff Cai [Sat, 20 Jun 2009 15:29:05 +0000 (11:29 -0400)]
ASoC: Blackfin: keep better track of SPORT configuration state

Do not let the SPORT be reconfigured until there are no more active
streams.  Then we can let the system reprogram the SPORT state.

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Staticise put_twl4030_opmode_enum_double()
Mark Brown [Sat, 20 Jun 2009 12:54:02 +0000 (13:54 +0100)]
ASoC: Staticise put_twl4030_opmode_enum_double()

It's an operation for a control and doesn't need to be exported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix shadowed variables in twl4030
Mark Brown [Sat, 20 Jun 2009 12:53:20 +0000 (13:53 +0100)]
ASoC: Fix shadowed variables in twl4030

No need to define second copies of mode and format, they're declared
with exactly the same type at the head of the function and there's no
conflict in their use.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Regulator support for WM8580
Mark Brown [Wed, 17 Jun 2009 16:30:14 +0000 (17:30 +0100)]
ASoC: Regulator support for WM8580

Add basic support for integration with the regulator API to WM8580.
Since the core cannot yet disable biases when the CODEC is idle we
simply request and enable the regulators for the entire time the
driver is active.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Kill BUS_ID_SIZE
Takashi Iwai [Wed, 17 Jun 2009 09:42:45 +0000 (11:42 +0200)]
ASoC: Kill BUS_ID_SIZE

Remove the use of BUS_ID_SIZE from txx9aclc.c, as BUS_ID_SIZE will be
removed soon later.

Also, use snprintf() instead of sprintf() as a safer operation.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoASoC: UDA1380: refactor device registration
Philipp Zabel [Mon, 15 Jun 2009 20:18:23 +0000 (22:18 +0200)]
ASoC: UDA1380: refactor device registration

This patch mostly follows commit 5998102b9095fdb7c67755812038612afea315c5
"ASoC: Refactor WM8731 device registration" to make UDA1380 use standard
device instantiation. Similarly, the I2C device registration temporarily
moves into the magician machine driver before it will find its final
resting place in the board file.

At the same time, platform specific configuration is moved to platform data
and common power/reset GPIO handling moves into the codec driver.

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: magician: fix PXA SSP clock polarity
Philipp Zabel [Sun, 14 Jun 2009 10:51:30 +0000 (12:51 +0200)]
ASoC: magician: fix PXA SSP clock polarity

Follow-up fix needed since "ASoC: pxa-ssp.c fix clock/frame invert".

Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Instantiate any forgotten DAPM widgets
Mark Brown [Sun, 14 Jun 2009 10:33:37 +0000 (11:33 +0100)]
ASoC: Instantiate any forgotten DAPM widgets

With the recent changes to the DAPM power checks it has become important
to explicitly instantiate all widgets but some drivers were forgetting
to do that.  Since everything needs to do it add a call to instantiate
them immediately before the card registration - it does no harm when it
is called repeatedly and saves work in drivers.

Tested-by: pHilipp Zabel <philipp.zabel@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add suspend and resume callbacks to Wolfson CODEC drivers
Mark Brown [Sat, 13 Jun 2009 21:30:18 +0000 (22:30 +0100)]
ASoC: Add suspend and resume callbacks to Wolfson CODEC drivers

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add stub suspend and resume calls for ASoC subdevices
Mark Brown [Sat, 13 Jun 2009 18:55:02 +0000 (19:55 +0100)]
ASoC: Add stub suspend and resume calls for ASoC subdevices

Now that ASoC subdevices can be regular devices they can have normal
suspend and resume calls from their buses.  However, suspending them
individually is not desirable since this can lead to problems such as
pops and clicks from devices being suspended with their signals being
amplified or clocks being stopped suddenly.

This will be resolved by having the normal device model suspend and
resume calls call into ASoC which will suspend the entire card while any
of its components are suspended.  At present this is not yet implemented
but in order to aid the transition of drivers to the standard device
model this patch adds API calls for the notifications.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Automatically manage WM8350 sloping stopband filter
Mark Brown [Fri, 12 Jun 2009 21:56:59 +0000 (22:56 +0100)]
ASoC: Automatically manage WM8350 sloping stopband filter

For best performance the DAC sloping stopband filter should be enabled
below 24kHz and not enabled above that so remove the user visible
control for this and do it autonomously in the driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Automatically manage WM8900 sloping stopband filter
Mark Brown [Fri, 12 Jun 2009 16:27:52 +0000 (17:27 +0100)]
ASoC: Automatically manage WM8900 sloping stopband filter

For best performance the DAC sloping stopband filter should be
enabled below 24kHz and not enabled above that so remove the
user visible control for this and do it autonomously in the
driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Automatically control WM8903 sloping stopband filter
Mark Brown [Fri, 12 Jun 2009 16:27:07 +0000 (17:27 +0100)]
ASoC: Automatically control WM8903 sloping stopband filter

For best performance the DAC sloping stopband filter should be
enabled below 24kHz and not enabled above that so remove the
user visible control for this and do it autonomously in the
driver.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Revert duplicated code in SSM2602 driver
Mark Brown [Sat, 13 Jun 2009 10:14:55 +0000 (11:14 +0100)]
ASoC: Revert duplicated code in SSM2602 driver

The Blackfin submission was done as a patch against a different tree
and contained a duplicate hunk which will cause us to loose track of the
substream pointers when shutting down.  Remove one of the duplicated
hunks.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Zoom2: Add machine driver for Zoom2 board
Lopez Cruz, Misael [Thu, 11 Jun 2009 22:35:27 +0000 (17:35 -0500)]
ASoC: Zoom2: Add machine driver for Zoom2 board

Add support for Zoom2 board. Zoom2 machine driver
connects both codec DAIs (audio and voice) to omap3
McBSP ports in the following way:

  HiFi <-> McBSP2
 Voice <-> McBSP3

The zoom2 driver has the following DAPM widgets:
* Ext Mic: MAINMIC, SUBMIC (with bias)
* Ext Spk: HFL, HFR
* Headset Stereophone: HSOL, HSOR
* Headset Mic: HSMIC (with bias)
* Aux In: AUXL, AUXR

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Remove odd bit clock ratios for WM8903
Mark Brown [Fri, 12 Jun 2009 15:55:56 +0000 (16:55 +0100)]
ASoC: Remove odd bit clock ratios for WM8903

These are not supported since performance can not be guaranteed
when they are in use.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
15 years agoASoC: Add WM8961 driver
Mark Brown [Tue, 9 Jun 2009 08:55:51 +0000 (09:55 +0100)]
ASoC: Add WM8961 driver

The WM8961 is a low power, high quality stereo CODEC designed for
portable digital applications with headphone and stereo class D speaker
drivers.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'dapm' into for-2.6.32
Mark Brown [Thu, 11 Jun 2009 20:04:04 +0000 (21:04 +0100)]
Merge branch 'dapm' into for-2.6.32

15 years agoASoC: remove duplicated code on pxa-ssp.c
Daniel Ribeiro [Wed, 10 Jun 2009 18:23:24 +0000 (15:23 -0300)]
ASoC: remove duplicated code on pxa-ssp.c

* We don't need to write the registers twice, remove the first write.
* DAIFMT_INV switch is duplicated inside DAIFMT_FORMAT switch, move it
  out.

(This patch is for Mark's for-2.6.32 branch, I have not checked if the
code is duplicated on current 2.6.30)

Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix lm4857 control
Mark Brown [Wed, 10 Jun 2009 12:55:34 +0000 (13:55 +0100)]
ASoC: Fix lm4857 control

Commit 4eaa9819dc08d7bfd1065ce530e31b18a119dcaf changed semantics of
private_value member of kcontrol. This resulted in inability to control
amplifier and subsequently in very low output volume.

Tested-by: Johannes Schauer <josch@pyneo.org>
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Make DAPM power sequence lists local variables
Mark Brown [Sun, 7 Jun 2009 12:57:17 +0000 (13:57 +0100)]
ASoC: Make DAPM power sequence lists local variables

They are now only accessed within dapm_power_widgets() so can be local
to that function.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Coalesce power updates for PGAs
Mark Brown [Sun, 7 Jun 2009 12:37:44 +0000 (13:37 +0100)]
ASoC: Coalesce power updates for PGAs

Handle gain ramping for PGAs so we can coalesce their power updates too.
This is not ideal since we can't cope properly with gain ramping for
stereo paths but that was the case without coalescing and gain ramping
is relatively infrequently used so the effects are limited.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Coalesce power updates for DAPM widgets with events
Mark Brown [Sun, 7 Jun 2009 12:21:24 +0000 (13:21 +0100)]
ASoC: Coalesce power updates for DAPM widgets with events

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Sort specialised mixers and muxes together
Mark Brown [Sun, 7 Jun 2009 12:08:45 +0000 (13:08 +0100)]
ASoC: Sort specialised mixers and muxes together

The more flexible value muxes and named mixers don't need to be sorted
differently from a power management point of view, they are different
only in terms of the control interface and not in terms of seqencing
behaviour.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Coalesce register writes for DAPM sequences
Mark Brown [Sun, 7 Jun 2009 11:51:26 +0000 (12:51 +0100)]
ASoC: Coalesce register writes for DAPM sequences

Reduce the number of register writes we need to set the power state for
a CODEC by coalescing updates to widgets with the same sequence order and
same register into a single write.

This can be a noticable performance improvement with slow or heavily
contended control buses, such as I2C controllers with a low clock
frequency, and is particularly noticable when resuming. It can also
reduce the noticability of and pops and clicks by ensuring that left
and right channels are powered simultaneously if they are in the same
register.

Currently widgets that have events are not coalesced, including PGAs
which may use the volume ramping control.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Allow 32 bit registers for DAPM
Daniel Ribeiro [Sun, 7 Jun 2009 05:49:11 +0000 (02:49 -0300)]
ASoC: Allow 32 bit registers for DAPM

Replace the remaining unsigned shorts with unsigned ints.
Tested with pcap2 codec (25 bits registers).

Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Factor out DAPM sequence execution
Mark Brown [Sun, 7 Jun 2009 09:12:52 +0000 (10:12 +0100)]
ASoC: Factor out DAPM sequence execution

Lump the list walk into a single function, and pull in the power
application too so we can do some further refactoring. Pure code
motion.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Sort DAPM power sequences while building lists
Mark Brown [Sat, 6 Jun 2009 18:03:23 +0000 (19:03 +0100)]
ASoC: Sort DAPM power sequences while building lists

In the past the DAPM power sequencing was done by iterating over the list
of widgets once for each widget type and powering widgets of that type.
Instead of doing that do the sorting at the time we insert the widgets
into the lists of widgets to apply power changes to. This reduces the
amount of computation required for seqencing still further, though the
costs are generally dwarfed by the costs of the register writes
implementing them.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Apostrophe patrol
Mark Brown [Sat, 6 Jun 2009 10:26:15 +0000 (11:26 +0100)]
ASoC: Apostrophe patrol

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: codec tlv320aic23 fix bogus divide by 0 message
Troy Kisky [Sat, 6 Jun 2009 02:15:58 +0000 (19:15 -0700)]
ASoC: codec tlv320aic23 fix bogus divide by 0 message

Some code analyzer software mistakenly gives
divide by 0 error messages for these lines.
This patch will end its confusion.

Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: fix NULL pointer dereference in soc_suspend()
Daniel Mack [Wed, 3 Jun 2009 15:44:49 +0000 (17:44 +0200)]
ASoC: fix NULL pointer dereference in soc_suspend()

In case the initalization of an soc_device failed, there is no codec
associated with it. soc_suspend() will still dereference the pointer
and cause an Ooops when entering the sleep mode.

This happens on our board with a multi-target kernel image when booted
on a machine without audio circuits.

This patch makes the code bail out very early in this special case.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix build error in twl4030.c
Takashi Iwai [Thu, 4 Jun 2009 07:58:18 +0000 (09:58 +0200)]
ASoC: Fix build error in twl4030.c

Fix the (likely cut-n-paste) error by commit
16a30fbb0d3aa4ee829a2dd3d0e314e2b5ae96a9, which causes the error below:
  sound/soc/codecs/twl4030.c: In function 'twl4030_read_reg_cache':
  sound/soc/codecs/twl4030.c:152: error: 'cache' undeclared (first use in this function)

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoASoC: SSM2602: assign last substream to the master when shutting down
Cliff Cai [Tue, 2 Jun 2009 04:18:54 +0000 (00:18 -0400)]
ASoC: SSM2602: assign last substream to the master when shutting down

Fixes crash when shutting down.

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Blackfin: document how anomaly 05000250 is handled
Sonic Zhang [Tue, 2 Jun 2009 04:18:57 +0000 (00:18 -0400)]
ASoC: Blackfin: document how anomaly 05000250 is handled

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Blackfin: set the transfer size according the ac97_frame size
Cliff Cai [Tue, 2 Jun 2009 04:18:56 +0000 (00:18 -0400)]
ASoC: Blackfin: set the transfer size according the ac97_frame size

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: SSM2602: remove unsupported sample rates
Cliff Cai [Tue, 2 Jun 2009 04:18:53 +0000 (00:18 -0400)]
ASoC: SSM2602: remove unsupported sample rates

Signed-off-by: Cliff Cai <cliff.cai@analog.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Check the interface format for 4 channel mode
Peter Ujfalusi [Mon, 1 Jun 2009 11:06:40 +0000 (14:06 +0300)]
ASoC: TWL4030: Check the interface format for 4 channel mode

In addition to the operating mode check, also check the
codec's interface format in case of four channel mode.
If the codec is not in TDM (DSP_A) mode, return with error.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Use reg_cache in twl4030_init_chip
Peter Ujfalusi [Fri, 29 May 2009 06:22:37 +0000 (09:22 +0300)]
ASoC: TWL4030: Use reg_cache in twl4030_init_chip

Use the codec->reg_cache instead of the array directly
in twl4030_init_chip for setting the default values.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Initialise dev for the dummy S/PDIF DAI
Mark Brown [Thu, 28 May 2009 13:51:00 +0000 (14:51 +0100)]
ASoC: Initialise dev for the dummy S/PDIF DAI

Also include the header to make sure the DAI is prototyped.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add dummy S/PDIF codec support
Chaithrika U S [Thu, 28 May 2009 09:10:50 +0000 (05:10 -0400)]
ASoC: Add dummy S/PDIF codec support

McASP on DM646x can operate in DIT (S/PDIF) where no codec is needed.
This patch provides stub codec that can be used in these configurations.
On DM646x EVM the McASP1 is connected to the S/PDIF out.

Signed-off-by: Steve Chen <schen@mvista.com>
Signed-off-by: Pavel Kiryukhin <pkiryukhin@ru.mvista.com>
Signed-off-by: Naresh Medisetty <naresh@ti.com>
Signed-off-by: Chaithrika U S <chaithrika@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: correct print specifiers for unsigneds
Roel Kluin [Thu, 28 May 2009 00:08:39 +0000 (17:08 -0700)]
ASoC: correct print specifiers for unsigneds

Unsigned variables should use `%u' rather than `%d'.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout()
Jon Smirl [Wed, 27 May 2009 05:06:19 +0000 (01:06 -0400)]
ASoC: Modify mpc5200 AC97 driver to use V9 of spin_event_timeout()

The function signature for spin_event_timeout() has changed in version V9.
Adjust the mpc5200 AC97 driver to use the new function.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Switch FSL SSI DAI over to symmetric_rates
Mark Brown [Sat, 23 May 2009 09:41:05 +0000 (10:41 +0100)]
ASoC: Switch FSL SSI DAI over to symmetric_rates

The effect of symmetric_constraints should provide a standard way to
enforce the use of the same sample rate for both directions.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Timur Tabi <timur@freescale.com>
15 years agoASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved
Mark Brown [Tue, 26 May 2009 20:14:59 +0000 (21:14 +0100)]
ASoC: Mark MPC5200 AC97 as BROKEN until PowerPC merge issues are resolved

These drivers use spin_event_timeout() which is only present in the
PowerPC tree at present and which is undergoing some API revisions
so temporarily mark them as BROKEN until these issues are sorted
out.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fabric bindings for STAC9766 on the Efika
Jon Smirl [Tue, 26 May 2009 12:34:14 +0000 (08:34 -0400)]
ASoC: Fabric bindings for STAC9766 on the Efika

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Support for AC97 on Phytec pmc030 base board.
Jon Smirl [Tue, 26 May 2009 12:34:12 +0000 (08:34 -0400)]
ASoC: Support for AC97 on Phytec pmc030 base board.

A wm9712 AC97 codec is used.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: AC97 driver for mpc5200
Jon Smirl [Tue, 26 May 2009 12:34:10 +0000 (08:34 -0400)]
ASoC: AC97 driver for mpc5200

I've implemented retries for when the AC97 hardware doesn't reset on
first try. About 10% of the time both the Efika and pcm030 AC97 codecs
don't reset on first try and need to be poked multiple times.  Failure
is indicated by not having the link clock start ticking. Every once in
a while even five pokes won't get the link started and I have to power
cycle.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Main rewite of the mpc5200 audio DMA code
Jon Smirl [Tue, 26 May 2009 12:34:08 +0000 (08:34 -0400)]
ASoC: Main rewite of the mpc5200 audio DMA code

Rewrite the mpc5200 audio DMA code to support both I2S and AC97.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: HandsfreeL/R mute DAPM switch
Peter Ujfalusi [Mon, 25 May 2009 08:12:13 +0000 (11:12 +0300)]
ASoC: TWL4030: HandsfreeL/R mute DAPM switch

Add DAPM switch for HeadsetL/R mute. Since all bits are are needed
for the HFL/R pop removal to work the switch is using the SW_SHADOW
no HW register for the HandsfreeL/R mute.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Add shadow register
Peter Ujfalusi [Mon, 25 May 2009 08:12:12 +0000 (11:12 +0300)]
ASoC: TWL4030: Add shadow register

Shadow, non HW register for dealing with the HandsfreeL/R
muting.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Handsfree pop removal redesign
Peter Ujfalusi [Mon, 25 May 2009 08:12:11 +0000 (11:12 +0300)]
ASoC: TWL4030: Handsfree pop removal redesign

Move the HandsfreeL/R (IHFL/R) pop removal code from the DAPM_MUX_E
to a more appropriate DAPM_PGA_E widget.
Also fix the power-up sequence to match with the TRM.
The power-down sequence is not described in the TRM, so do it
in a way, which seams like the correct sequence.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add a few more mpc5200 PSC defines
Jon Smirl [Sat, 23 May 2009 23:13:03 +0000 (19:13 -0400)]
ASoC: Add a few more mpc5200 PSC defines

Add a few more mpc5200 PSC defines. More bit fields defines for mpc5200
PSC registers.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Rename the PSC functions to DMA
Jon Smirl [Sat, 23 May 2009 23:13:01 +0000 (19:13 -0400)]
ASoC: Rename the PSC functions to DMA

Rename the functions in the mpc5200 DMA file from i2s based names to dma
ones to reflect the file they are in.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2s
Jon Smirl [Sat, 23 May 2009 23:12:59 +0000 (19:12 -0400)]
ASoC: Basic split of mpc5200 DMA code out of mpc5200_psc_i2s

Basic split of mpc5200 DMA code out from i2s into a standalone file.

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix minor issues in STAC9766 driver
Mark Brown [Sun, 24 May 2009 12:32:24 +0000 (13:32 +0100)]
ASoC: Fix minor issues in STAC9766 driver

Fairly minor issues:
 - Don't register the DAIs, it's not required for AC97 devices.
 - Make unexported functions static.
 - Wrap some excessively long lines.
 - Undo tab/space breakage.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Codec for STAC9766 used on the Efika
Jon Smirl [Sat, 23 May 2009 23:13:07 +0000 (19:13 -0400)]
ASoC: Codec for STAC9766 used on the Efika

Datasheet: http://www.idt.com/products/getDoc.cfm?docID=13134007

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Fix WM9081 PowerPC compiler issues
Mark Brown [Fri, 22 May 2009 23:01:05 +0000 (00:01 +0100)]
ASoC: Fix WM9081 PowerPC compiler issues

Ensure that we always set a new sysclk when using the FLL in master mode
and pick out the correct value for the sample rate in hw_params().

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
Mark Brown [Fri, 22 May 2009 14:01:19 +0000 (15:01 +0100)]
ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver

The WM9081 is designed to provide high power output at low distortion
levels in space-constrained portable applications.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Differentiate the playback streams
Peter Ujfalusi [Fri, 22 May 2009 12:12:15 +0000 (15:12 +0300)]
ASoC: TWL4030: Differentiate the playback streams

Give unique stream names for the two playback streams so
DAPM can figure out which codec_dai is in use.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: SDP4030: Use the twl4030_setup_data for headset pop-removal
Peter Ujfalusi [Fri, 22 May 2009 07:13:16 +0000 (10:13 +0300)]
ASoC: SDP4030: Use the twl4030_setup_data for headset pop-removal

With this patch the initial headset pop-removal related values are
configured for the twl4030 codec (ramp delay and sysclk).

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Add support for platform dependent configuration
Peter Ujfalusi [Fri, 22 May 2009 07:13:15 +0000 (10:13 +0300)]
ASoC: TWL4030: Add support for platform dependent configuration

twl4030_setup_data structure can be passed from platform drivers to
the codec via the snd_soc_device->codec_data pointer.

Currently the setup data has support for the Headset pop-removal
related configuration, which differs from board to board.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoAsoC: Make snd_soc_read() and snd_soc_write() functions
Mark Brown [Fri, 22 May 2009 08:41:30 +0000 (09:41 +0100)]
AsoC: Make snd_soc_read() and snd_soc_write() functions

Should be no impact on the generated code but it helps the compiler
print clearer messages.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Move the Headset pop-attenuation code to PGA event
Peter Ujfalusi [Mon, 18 May 2009 13:02:05 +0000 (16:02 +0300)]
ASoC: TWL4030: Move the Headset pop-attenuation code to PGA event

This patch adds SND_SOC_DAPM_PGA_E to the headset path, which handles
the headset ramp up and down sequences needed for the pop noise
removal.

With this patch the order of the internal components in the twl4030
codec is turned on and off in a correct order.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
Tested-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Change DAPM routings and controls for DACs and PGAs
Peter Ujfalusi [Mon, 18 May 2009 13:02:04 +0000 (16:02 +0300)]
ASoC: TWL4030: Change DAPM routings and controls for DACs and PGAs

Restructuring the twl4030 codec's DAPM routing to be able to handle the power
sequences correctly.

The twl4030 codec internal implementation have this order:
DAC -> Analog PGA -> Mixer/Mux

While the ASoC framework expects the following order:
DAC -> Mixer -> Analog PGA

This patch moves the Analog PGA handling from SND_SOC_DAPM_PGA to _MIXER and
adds two levels of mixer to handle the digital and analog loopback
functionality.

Now the analog loopback does not powers on any of the DACs.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Tested-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Tested-by: Jarkko Nikula <jhnikula@gmail.com>
Tested-by: Misael Lopez Cruz <x0052729@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add TXx9 AC link controller driver (v3)
Atsushi Nemoto [Tue, 19 May 2009 13:12:15 +0000 (22:12 +0900)]
ASoC: Add TXx9 AC link controller driver (v3)

This patch adds support for the integrated ACLC of the TXx9 family.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: SDP3430: Connect twl4030 voice DAI to McBSP3
Lopez Cruz, Misael [Mon, 18 May 2009 16:53:04 +0000 (11:53 -0500)]
ASoC: SDP3430: Connect twl4030 voice DAI to McBSP3

Connect twl4030 voice DAI to McBSP3 in sdp3430 machine driver.
Voice DAI init function enables corresponding interface by
writting directly to VOICE_IF codec register.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujflausi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Add control for selecting codec operation mode
Lopez Cruz, Misael [Mon, 18 May 2009 16:52:55 +0000 (11:52 -0500)]
ASoC: TWL4030: Add control for selecting codec operation mode

Add a control for selecting the codec operation mode. TWL4030 codec
has two modes:
- Option 1. Audio only (4 audio DACs)
- Option 2. Voice/Audio (2 audio DACs and voice ADC/DAC)

Control is restricted when a stream is ongoing, since codec's
operation mode cannot be changed on-the-fly.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujflausi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Fix Analog capture path for AUXR
Peter Ujfalusi [Tue, 19 May 2009 07:51:03 +0000 (10:51 +0300)]
ASoC: TWL4030: Fix Analog capture path for AUXR

AUXR is selected by bit 2 and not by bit 1 in the ANAMICR register.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add debug trace for bias level transitions
Mark Brown [Mon, 18 May 2009 14:44:43 +0000 (15:44 +0100)]
ASoC: Add debug trace for bias level transitions

A standard way of making sure we know when the bias level changes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Integrate bias management with DAPM power management
Mark Brown [Sun, 17 May 2009 20:41:23 +0000 (21:41 +0100)]
ASoC: Integrate bias management with DAPM power management

Rather than managing the bias level of the system based on if there is
an active audio stream manage it based on there being an active DAPM
widget. This simplifies the code a little, moving the power handling
into one place, and improves audio performance for bypass paths when no
playbacks or captures are active.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Make DAPM sysfs entries non-optional
Mark Brown [Sat, 16 May 2009 16:53:16 +0000 (17:53 +0100)]
ASoC: Make DAPM sysfs entries non-optional

sysfs is so standard these days there's no point.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Split DAPM power checks from sequencing of power changes
Mark Brown [Sat, 16 May 2009 16:47:29 +0000 (17:47 +0100)]
ASoC: Split DAPM power checks from sequencing of power changes

DAPM has always applied any changes to the power state of widgets as soon
as it has determined that they are required. Instead of doing this store
all the changes that are required on lists of widgets to power up and
down, then iterate over those lists and apply the changes. This changes
the sequence in which changes are implemented, doing all power downs
before power ups and always using the up/down sequences (previously they
were only used when changes were due to DAC/ADC power events). The error
handling is also changed so that we continue attempting to power widgets
if some changes fail.

The main benefit of this is to allow future changes to do optimisations
over the whole power sequence and to reduce the number of walks of the
widget graph required to check the power status of widgets.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: TWL4030: Enable/disable voice digital filters
Misael Lopez Cruz [Mon, 18 May 2009 01:02:31 +0000 (20:02 -0500)]
ASoC: TWL4030: Enable/disable voice digital filters

Enable TWL4030 VTXL/VTXR and VRX digital filters for uplink
and downlink paths, respectively.

This patch also corrects voice 8/16kHz mode selection bit
(SEL_16K) of CODEC_MODE register.

Signed-off-by: Misael Lopez Cruz <x0052729@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agosound: use dev_set_drvdata
Julia Lawall [Sun, 17 May 2009 09:29:21 +0000 (11:29 +0200)]
sound: use dev_set_drvdata

Eliminate direct accesses to the driver_data field.
cf 82ab13b26f15f49be45f15ccc96bfa0b81dfd015

The semantic patch that makes this change is as follows:
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
struct device *dev;
expression E;
type T;
@@

- dev->driver_data = (T)E
+ dev_set_drvdata(dev, E)

@@
struct device *dev;
type T;
@@

- (T)dev->driver_data
+ dev_get_drvdata(dev)
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoASoC: Optimize switch/case in magician.c
Takashi Iwai [Fri, 15 May 2009 10:20:52 +0000 (12:20 +0200)]
ASoC: Optimize switch/case in magician.c

Use default to optimize the switch/case in magicial_playback_hw_params(),
which also fixes the compile warnings below:
  sound/soc/pxa/magician.c:89: warning: 'acds' may be used uninitialized in this function
  sound/soc/pxa/magician.c:89: warning: 'acps' may be used uninitialized in this function

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoASoC: Add missing __devexit in wm8940.c
Takashi Iwai [Fri, 15 May 2009 10:18:47 +0000 (12:18 +0200)]
ASoC: Add missing __devexit in wm8940.c

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoMerge branch 'for-2.6.31' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie...
Takashi Iwai [Fri, 15 May 2009 08:30:21 +0000 (10:30 +0200)]
Merge branch 'for-2.6.31' of git://git./linux/kernel/git/broonie/sound-2.6 into topic/asoc

15 years agoMerge branch 'for-2.6.30' into for-2.6.31
Mark Brown [Fri, 15 May 2009 07:59:52 +0000 (08:59 +0100)]
Merge branch 'for-2.6.30' into for-2.6.31

15 years agoASoC: DaVinci EVM board support buildfixes
David Brownell [Thu, 14 May 2009 20:01:59 +0000 (13:01 -0700)]
ASoC: DaVinci EVM board support buildfixes

This is a build fix, resyncing the DaVinci EVM ASoC board code
with the version in the DaVinci tree.  That resync includes
support for the DM355 EVM, although that board isn't yet in
mainline.

(NOTE:  also includes a bugfix to the platform_add_resources
call, recently sent by Chaithrika U S <chaithrika@ti.com> but
not yet merged into the DaVinci tree.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: DaVinci I2S updates
David Brownell [Thu, 14 May 2009 19:47:42 +0000 (12:47 -0700)]
ASoC: DaVinci I2S updates

This resyncs the DaVinci I2S code with the version in the DaVinci
tree.  The behavioral change uses updated clock interfaces which
recently merged to mainline.  Two other changes include adding a
comment on the ASP/McBSP/McASP confusion, and dropping pdev->id in
order to support more boards than just the DM644x EVM.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: davinci-pcm buildfixes
David Brownell [Thu, 14 May 2009 19:41:22 +0000 (12:41 -0700)]
ASoC: davinci-pcm buildfixes

This is a buildfix for the DaVinci PCM code, resyncing it with
the version in the DaVinci tree.  The notable change is using
current EDMA interfaces, which recently merged to mainline.
(The older interfaces never made it into mainline.)

NOTE:  open issue, the DMA should be to/from SRAM; see chip
errata for more info.  The artifacts are extremely easy to
hear on DM355 hardware (not yet supported in mainline), but
don't seem as audible on DM6446 hardwaare (which does have
mainline support).

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Support AC97 link off by default on WM9712
Marek Vasut [Thu, 14 May 2009 19:52:46 +0000 (20:52 +0100)]
ASoC: Support AC97 link off by default on WM9712

The WM9712 can be configured by resistor strapping GPIO4 to behave like
the WM9713 and default to leaving the AC97 link disabled after cold
reset until a warm reset occurs.  In this configuration we need to issue
a warm reset after cold to bring the link up so do so.  The warm reset
will be harmless on systems that don't need it.

[Changelog rewritten to document the reasoning. -- broonie]

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoMerge branch 'pxa2xx-i2s' into for-2.6.31
Mark Brown [Thu, 14 May 2009 19:35:51 +0000 (20:35 +0100)]
Merge branch 'pxa2xx-i2s' into for-2.6.31

15 years agoASoC: pxa2xx-i2s: Fix suspend/resume
Karl Beldan [Wed, 13 May 2009 20:16:59 +0000 (22:16 +0200)]
ASoC: pxa2xx-i2s: Fix suspend/resume

pxa2xx_i2s_resume is :
 - unconditionnaly setting SACR0_ENB
 - unsetting SACR0_ENB in saved SACR0 pxa_i2s.sacr0
fix these.

In pxa2xx_i2s_{resume,suspend}, save/restore registers even
when !dai->active.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock
Karl Beldan [Wed, 13 May 2009 20:16:52 +0000 (22:16 +0200)]
ASoC: pxa2xx-i2s: Fix inappropriate release of i2s clock

i2s_clk is 'put' for no reason in pxa2xx_i2s_shutdown.
Now we 'get' i2s_clk at probe and 'put' it at driver removal or when
probe fails.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately
Karl Beldan [Wed, 13 May 2009 20:16:46 +0000 (22:16 +0200)]
ASoC: pxa2xx-i2s: Handle SACR1_DRPL and SACR1_DREC separately

- hw_params enables both RPL and REC functions each time : Enable the
appropriate function in pxa2xx_i2s_trigger.
- pxa2xx_i2s_shutdown disables i2s anytime one of RPL or REC function is
off : Turn it off only when both functions are off.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: pxa2xx-i2s: Proper hw initialization
Karl Beldan [Thu, 14 May 2009 08:25:42 +0000 (10:25 +0200)]
ASoC: pxa2xx-i2s: Proper hw initialization

Make sure we are in a know good state at end of probe :
Reset FIFO logic and registers, and make sure REC and RPL functions
along with FIFO service are disabled (SACR0_RST enables REC and RPL).

Resetting loses current settings so remove reset from stream startup.
Now reset occurs only at probe.

Signed-off-by: Karl Beldan <karl.beldan@mobile-devices.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format
Jon Smirl [Thu, 14 May 2009 01:59:14 +0000 (21:59 -0400)]
ASoC: Add SNDRV_PCM_FMTBIT_S32_BE as a valid AC97 format

Signed-off-by: Jon Smirl <jonsmirl@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Added OMAP3 EVM support in ASoC.
Anuj Aggarwal [Thu, 14 May 2009 08:29:19 +0000 (13:59 +0530)]
ASoC: Added OMAP3 EVM support in ASoC.

Resending the patch after fixing the minor issues.

Signed-off-by: Anuj Aggarwal <anuj.aggarwal@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
15 years agoASoC: Point at kernel.org git
Mark Brown [Wed, 13 May 2009 16:23:54 +0000 (17:23 +0100)]
ASoC: Point at kernel.org git

The Wolfson git is not currently tracking bleeding edge ASoC so change
to my kernel.org git which is doing so.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>