20 Mar, 2012
3 commits
-
The optimal management of VMID depends on a number of factors which vary
dynamically at runtime, for example the connection to a system docking
station. In some circumstances it is desirable to keep VMID enabled all
the time, in others it is desirable to aggressively power it up and down.Provide a callback allowing machine driver to configure either the normal
power up/down mode (WM8994_VMID_MODE_NORMAL) or to maintain VMID even
when idle (WM8994_VMID_MODE_FORCE). This callback, wm8994_vmid_mode(),
should be called with the CODEC lock.Signed-off-by: Mark Brown
-
Signed-off-by: Mark Brown
-
It can just be enabled all the time with no impact.
Signed-off-by: Mark Brown
19 Mar, 2012
1 commit
-
PXA's SSP engine fails to take its current channel phase into account
when enabling a stream while the engine is already running. This
results in randomly swapped left/right channels on either the record
or the playback side, depending on which one was enabled first.The following patch fixes this by factoring out the bit field
modifications in question to a separate function that pauses the
engine temporarily, modifies the bits and kicks it off again
afterwards. Appearantly, a transition of SSCR0_SSE syncs both
directions properly.The patch has been rolled out to quite a number of devices over the
last weeks and seems to fix the issue reliably.Signed-off-by: Daniel Mack
Reported-and-tested-by: Sven Neumann
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
18 Mar, 2012
1 commit
-
The WM8776 codec driver requires the machine driver to set one of the
SND_SOC_DAIFMT_CBx_xxx values. The P1022DS machine driver should be setting
SND_SOC_DAIFMT_CBM_CFM, but since that value was zero, no one noticed.Commit 75d9ac46 ("ASoC: Allow DAI formats to be specified in the
dai_link"), however, changed the value of SND_SOC_DAIFMT_CBM_CFM from zero
to a non-zero value, which means that it now needs to be specifically set
by the machine driver.We also set SND_SOC_DAIFMT_NB_NF, for the same reason.
Signed-off-by: Timur Tabi
Signed-off-by: Mark Brown
Cc: stable@vger.kernel.org
17 Mar, 2012
1 commit
-
The dma size will be changed by requested number of
channel(mono/stereo) from platform. For mono recording,
channels_min value should be 1.Signed-off-by: Sangsu Park
Signed-off-by: Sangbeom Kim
Signed-off-by: Mark Brown
15 Mar, 2012
2 commits
-
We're currently not freeing card->rtd in cases where the card is
unregistered before being instantiated - convert it to devm_kzalloc() to
make sure that happens.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
The WM8996 specification has been updated to specify 44.1kHz as a supported
sample rate. Update the driver to accept this configuration.Signed-off-by: Mark Brown
14 Mar, 2012
1 commit
-
Convert mx27vis-aic32x4 to platform driver.
Signed-off-by: Fabio Estevam
Tested-by: Javier Martin
Signed-off-by: Mark Brown
13 Mar, 2012
3 commits
-
Signed-off-by: Lars-Peter Clausen
Acked-by: Vinod Koul
Tested-by: Mika Westerberg
Signed-off-by: Mark Brown -
Otherwise a wrong position will be reported after restarting a stream and the
first few samples might be skipped.Signed-off-by: Mika Westerberg
Signed-off-by: Lars-Peter Clausen
Signed-off-by: Mark Brown -
Currently we can the accdet mutex from within DAPM when updating the device
state which means we take accdet then the CODEC mutex but we also do the
locking the other way around when responding to the jackdet IRQ. Move all
the jackdet use of the CODEC mutex out of the accdet lock to avoid this.
Since all the DAPM interactions depend only on a single threaded IRQ this
is still serialised.The locking improvements in 3.5 allow a better solution there.
Signed-off-by: Mark Brown
12 Mar, 2012
1 commit
-
The widget locking depends on some of the other locking changes which
are queued up for 3.5 not 3.4 so revert the locking changes and reapply
them in 3.5.This reverts commit 66bf93212f19548f5ed221356b2d70189cc18254 and
96acc357bedad69fbc94d1b923a960af5a411c6f.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood
09 Mar, 2012
7 commits
-
This patch removes following registers from reg map defaults,
- Registers which are currently not used by driver
- Non existing registers
- Volatile registersSigned-off-by: Ashish Chavan
Signed-off-by: David Dajun Chen
Signed-off-by: Mark Brown -
Check /compatible rather than /model to determine the machine name.
The p1022ds older device trees get a different /model from the new
ones, while /compatible is consistent there, so checking /compatible
will save the bother of detecting older p1022ds device trees.Signed-off-by: Shawn Guo
Acked-by: Timur Tabi
Signed-off-by: Mark Brown -
Marginally improve performance during startup.
Signed-off-by: Mark Brown
-
Signed-off-by: Mark Brown
-
Not having a DAI link set_fmt operation is perfectly normal and
should not be complaint.Signed-off-by: Shawn Guo
Signed-off-by: Mark Brown -
Current DA7210 driver has I2C support using older register cache
methods. This patch updates it for latest regmap framework.This has been tested on DA7210 EVB with Samsung SMDK6410 board.
Signed-off-by: Ashish Chavan
Signed-off-by: David Dajun Chen
Signed-off-by: Mark Brown -
add more sample rate for pxa-ssp, which are supported, such as 32KHz,
64KHz.Signed-off-by: Qiao Zhou
Signed-off-by: Mark Brown
08 Mar, 2012
1 commit
-
Fix the following section mismatch warning:
WARNING: vmlinux.o(.data+0x35be8): Section mismatch in reference from the variable imx_audmux_driver to the function .init.text:imx_audmux_probe()
The variable imx_audmux_driver references
the function __init imx_audmux_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_consoleSigned-off-by: Fabio Estevam
Signed-off-by: Mark Brown
07 Mar, 2012
5 commits
-
If we do use regmap then regmap will take care of things for us. We
actually already have this check at a higher level for the current
users but this makes sure we do the right thing in the future too if
we need to.Signed-off-by: Mark Brown
Acked-by: Liam Girdwood -
Currently not all DAPM widget IO ops are holding their component mutex
(codec or platform). Make sure this is now held for DAPM widget IO operations.Signed-off-by: Liam Girdwood
Signed-off-by: Mark Brown -
Add mutex support for platform IO operations. e.g. can be used
for platform DAPM widget IO ops.Signed-off-by: Liam Girdwood
Signed-off-by: Mark Brown -
Fixes the following warning:
sound/soc/tegra/tegra_alc5632.c: In function 'tegra_alc5632_asoc_init':
sound/soc/tegra/tegra_alc5632.c:118:6: warning: unused variable 'ret' [-Wunused-variable]Signed-off-by: Stephen Warren
Signed-off-by: Mark Brown -
Remove printk(KERN_WARNING) and use dev_warn() instead.
Signed-off-by: Liam Girdwood
Signed-off-by: Mark Brown
06 Mar, 2012
14 commits
-
A few more ASoC updates, the main one is the move of the audmux driver
from arch/arm into sound/soc. There's also some general driver specific
tweaks and fixes. -
It adds device tree probe support for imx-audmux driver.
Signed-off-by: Richard Zhao
Signed-off-by: Shawn Guo
Signed-off-by: Mark Brown -
commit 891271c "ASoC: Convert wm8804 to direct regmap API usage"
only converts wm8804_spi_probe to use regmap_init_spi.This patch adds missing regmap_init_i2c in wm8804_i2c_probe.
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
Save a little RAM.
Signed-off-by: Mark Brown
-
The default pm_runtime status is enabled which is what we want.
Signed-off-by: Mark Brown
-
When we are out of system sleep always use audio mode for jack detection
in order to avoid potential performance issues handing off between modes.Signed-off-by: Mark Brown
-
Currently ASoC:imx uses menuconfig option SND_IMX_SOC selects imx-ssi
driver, and it works because all the machine driver covered by the
menuconfig need to build imx-ssi driver in. However, it will not work
any more if we have a imx based machine driver going into the menuconfig
while working with fsl_ssi driver (sound/soc/fsl/fsl_ssi.c) rather than
imx-ssi one.The patch adds an explicit Kconfig option SND_SOC_IMX_SSI for imx-ssi
driver, so that it can be selected independently from the menuconfig
option SND_IMX_SOC.Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
Currently the imx-ssi.c[h] accommodates the imx-pcm common bits which
are shared between imx-pcm-dma-mx2 and imx-pcm-fiq drivers. It assumes
that imx-pcm-dma-mx2 and imx-pcm-fiq will always be used together with
imx-ssi driver. However this becomes untrue when we see that driver
sound/soc/fsl/fsl_ssi could possibly work with imx-pcm-dma-mx2 too.The patch moves the imx-pcm common bits from imx-ssi.c[h] into new
files imx-pcm.c[h], and let imx-pcm-dma-mx2 and imx-pcm-fiq drivers
build it in, so that imx-pcm-dma-mx2 can work with no dependency on
imx-ssi driver.Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
It renames the legacy name mxc used in audmux function and macro
to imx.Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
As audmux becomes a platform driver and its callers are all ASoC
machine drivers, there is no reason to keep it in arch folder, so
move it to sound/soc/imx.One bonus point would be those ASoC machine drivers stop including
mach/audmux.h, since it's been moved to sound/soc/imx/imx-audmux.h.
This should be a move to the right direction in terms of single kernel
image goal.Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
It coverts audmux to a platform driver, so that it can be moved into
sound/soc/imx and adopt device tree support later.Signed-off-by: Richard Zhao
Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
It merges audmux-v1 and audmux-v2 under arch/arm/plat-mxc into one.
Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
It moves phycore audmux configuration call from board file into ASoC
machine driver phycore-ac97 to ease converting audmux into a platform
driver later.
It moves phycore audmux configuration call from board file into ASoC
machine driver phycore-ac97, so that it gets aligned with wm1133-ev1
and mx27vis-aic32x4, and more importantly it will ease the moving of
audmux into sound/soc/imx as a platform driver later.Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown -
It moves eukrea audmux configuration call from board file into ASoC
machine driver eukrea-tlv320, so that it gets aligned wm1133-ev1 and
mx27vis-aic32x4, and more importantly it will ease the moving of audmux
into sound/soc/imx as a platform driver later.Signed-off-by: Shawn Guo
Acked-by: Sascha Hauer
Signed-off-by: Mark Brown