Commit Graph

12492 Commits

Author SHA1 Message Date
Peter Ujfalusi 71e822e9dc OMAP: mcbsp: Move core driver under sound/soc/omap
In order to consolidate the McBSP driver move it out from
arch/arm/plat-omap directory under sound/soc/omap/

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Tested-by: Grazvydas Ignotas <notasas@gmail.com>
Tested-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Jarkko Nikula <jarkko.nikula@bitmer.com>
Signed-off-by: Liam Girdwood <lrg@ti.com>
2012-03-12 13:34:19 +00:00
Takashi Iwai 2ad787e9aa ALSA: Add a hook capability to vmaster controls
This patch adds a hook to vmaster control to be called at each time
when the master value is changed.  It'd be handy for an additional
mute LED control following the Master switch, for example.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-12 13:58:54 +01:00
Mark Brown 80f48143ff ASoC: Revert widget I/O locking for 3.4
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 66bf93212f and
96acc357be.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-03-12 10:37:23 +00:00
Paul Gortmaker 51990e8254 device.h: cleanup users outside of linux/include (C files)
For files that are actively using linux/device.h, make sure
that they call it out.  This will allow us to clean up some
of the implicit uses of linux/device.h within include/*
without introducing build regressions.

Yes, this was created by "cheating" -- i.e. the headers were
cleaned up, and then the fallout was found and fixed, and then
the two commits were reordered.  This ensures we don't introduce
build regressions into the git history.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
2012-03-11 14:27:37 -04:00
Olof Johansson c454f81350 Merge branch 'board' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/boards
* 'board' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: OMAP: add minimal support for Nokia RM-696
  ARM: OMAP: enable Bluetooth on the PandaBoard
  ARM: OMAP: pandora: add support for backlight and poweroff
  ARM: OMAP4: board-4430sdp: don't initialize value that is never used
  ARM: OMAP3: cm-t3517: add EMAC support
  ARM: OMAP: move generic EMAC init to separate file
  ARM: OMAP3: RX-51: add explicit mux configuration of tsc2005 control gpios
  ARM: OMAP: Add omap_reserve functionality

  (includes sync-up to 3.3-rc6)
2012-03-10 09:15:30 -08:00
Takashi Iwai 18478e8b62 ALSA: hda - Initialize vmaster slave volumes
When the driver is changed to use vmaster or a new slave element is
added by the improvement of the parser code, user may face often the
silent output because of the muted slave mixer although Master volume
is properly set.  And they complain.  And I get upset.

Although such a mixer element should be initialized via "alsactl init",
it'd be more user-friendly if the known output slaves are unmuted and
set to 0dB so that user can control the volume only with Master as
default.  Since Master is still set muted as default even with this
change, no risk of the speaker blow up, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-09 17:55:30 +01:00
Takashi Iwai e7df2a3ae5 ALSA: core - Refactor card id string creation code
The code to handle the card id string is fairly messy, so here is a
tidy up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-09 17:41:53 +01:00
Ashish Chavan aeb87073f0 ASoC: da7210: Remove extra registers from defaults list
This patch removes following registers from reg map defaults,

- Registers which are currently not used by driver
- Non existing registers
- Volatile registers

Signed-off-by: Ashish Chavan <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <dchen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-09 11:50:28 +00:00
Shawn Guo 2b81ec6914 ASoC: fsl: check property 'compatible' for the machine name
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 <shawn.guo@linaro.org>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-09 11:38:12 +00:00
Mark Brown 5b59648393 ASoC: wm8996: Remove separate output stage enable step
Marginally improve performance during startup.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08 18:24:27 +00:00
Mark Brown da7f910bd0 ASoC: wm8996: Remove some volatile regisers from the defaults table
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08 18:24:22 +00:00
Shawn Guo 5e4ba569a5 ASoC: core: missing set_fmt should not be complaint
Not having a DAI link set_fmt operation is perfectly normal and
should not be complaint.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08 18:23:46 +00:00
Ashish Chavan 33593b52eb ASoC: da7210: Update for using I2C regmap
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 <ashish.chavan@kpitcummins.com>
Signed-off-by: David Dajun Chen <dchen@diasemi.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08 18:19:24 +00:00
Qiao Zhou 8d8bf58b06 ASoC: add more sample rate for pxa-ssp
add more sample rate for pxa-ssp, which are supported, such as 32KHz,
64KHz.

Signed-off-by: Qiao Zhou <zhouqiao@marvell.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-08 18:15:43 +00:00
Olof Johansson d60d506e6b Merge branch 'next/cleanup-s3c24xx' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/cleanup
* 'next/cleanup-s3c24xx' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung: (24 commits)
  ARM: S3C24XX: remove call to s3c24xx_setup_clocks
  ARM: S3C24XX: add get_rate for clk_p on S3C2416/2443
  ARM: S3C24XX: add get_rate for clk_h on S3C2416/2443
  ARM: S3C24XX: remove XXX_setup_clocks method from S3C2443
  ARM: S3C24XX: remove obsolete S3C2416_DMA option
  ARM: S3C24XX: Reuse S3C2443 dma for S3C2416
  ARM: S3C24XX: Fix indentation of dma-s3c2443
  ARM: S3C24XX: Move device setup files to mach directory
  ARM: S3C24XX: Consolidate Simtec extensions
  ARM: S3C24XX: move simtec-specific code to mach directory
  ARM: S3C24XX: Move common-smdk code to mach directory
  ARM: S3C24XX: Move s3c2443-clock.c to mach-s3c24xx
  ARM: s3c2410_defconfig: update s3c2410_defconfig
  ARM: S3C2443: move mach-s3c2443/* into mach-s3c24xx/
  ARM: S3C2440: move mach-s3c2440/* into mach-s3c24xx/
  ARM: S3C2416: move mach-s3c2416/* into mach-s3c24xx/
  ARM: S3C2412: move mach-s3c2412/* into mach-s3c24xx/
  ARM: S3C2410: move mach-s3c2410/* into mach-s3c24xx/
  ARM: S3C24XX: change the ARCH_S3C2410 to ARCH_S3C24XX
  ARM: S3C2410: move s3c2410_baseclk_add to clock.h
  ...
2012-03-08 08:53:14 -08:00
Adrian Knoth 8de5d6f19b ALSA: hdspm - Provide ioctl_compat
snd_hdspm uses its own ioctls to acquire config- and status information.
Expose the corresponding ioctl handler via ioctl_compat, so that 32bit
applications can use it on 64bit kernels.

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-08 15:58:58 +01:00
Fabio Estevam fb97624ad6 ASoC: imx: imx-audmux: Fix section mismatch
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, *_console

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-07 19:32:39 +00:00
Mark Brown 66bf93212f ASoC: dapm: Only lock CODEC for I/O if not using regmap
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 <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-03-07 11:53:00 +00:00
Takashi Iwai 785f857d1c ALSA: hda - Set codec to D3 forcibly even if not used
We've seen a problem with a pop-noise at suspend/resume on a HP
machine with ALC269, and it turned out to be an issue that the
controller going to D3 while the codec is unused.

When the device is once suspended and resumed and kept unused, the
driver doesn't initialize the codecs.  Instead, the codec chips are
set up dynamically at the first usage.  Now, suppose the device going
to suspend again before the codec is set up.  The controller is turned
off to D3 while the codec chips are untouched.  This caused a pop
noise because the codec chip might have been turned on implicitly by
the hardware.

As a workaround, the codec chip needs to be set to D3 when going to
suspend no matter whether it was used or not.  Also, for making it
happening, the controller has to be always set up in the resume path.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-07 11:52:50 +01:00
Kukjin Kim 880bcd4a83 Merge branch 'topic/cleanup-s3c24xx' into next/cleanup-s3c24xx
Conflicts:
	arch/arm/mach-s3c24xx/include/mach/system.h
2012-03-07 01:36:33 -08:00
Takashi Iwai 546bb67852 ALSA: hda/realtek - Reuse init_hook for ALC269VB coef setup
Move the currently unused spec->init_hook at the beginning of the init
sequence so that the recently added ALC269VB coef setup can be put
there.  The alc_init() is again clean without an ugly check.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-07 09:07:04 +01:00
Takashi Iwai fc7a1627c1 Merge branch 'fix/hda' into topic/hda
Conflicts:
	sound/pci/hda/patch_realtek.c
2012-03-07 09:05:15 +01:00
Kailang Yang 526af6eb4d ALSA: hda/realtek - Apply the coef-setup only to ALC269VB
The coef setup in alc269_fill_coef() was designed only for ALC269VB
model, and this has some bad effects for other ALC269 variants, such
as turning off the external mic input.  Apply it only to ALC269VB.

Signed-off-by: Kailang Yang <kailang@realtek.com>
Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-07 09:03:29 +01:00
Liam Girdwood 96acc357be ASoC: DAPM: Make sure DAPM widget IO ops hold the component mutex
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 <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 20:07:03 +00:00
Liam Girdwood cc22d37e7f ASoC: core: Add platform component mutex
Add mutex support for platform IO operations. e.g. can be used
for platform DAPM widget IO ops.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 20:07:00 +00:00
Stephen Warren c25cd15439 ASoC: tegra: Remove unused variable
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 <swarren@wwwdotorg.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 20:06:59 +00:00
Liam Girdwood f1e90af2b5 ASoC: dapm: Use dev_warn for debugfs warning message
Remove printk(KERN_WARNING) and use dev_warn() instead.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 20:06:53 +00:00
Takashi Iwai 303076342b 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.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPVgcKAAoJEBus8iNuMP3dk6gQAJuddZ0luBse1NUf7NIGfKV6
 ZQJUWEjoAS3BLLQ4OMQF9QAd5PUQQzFG0VIjKrLVzomyTmxXOjhyM33HccWsHYsF
 fUOdpQTcj5FNOoalYbEMY5ELIp/+Q2KV5MnyjcOSS2Um6/WJGU1CZwO7DOEB3WHl
 XfoayQ9zZnvftEvweJqOepo6WrfJIVL65u2jxLyWDIqb3jyUQT2PYB3JrNenIXYQ
 ISI99NMqaQW1fq8v21aWgzO+jo4Jh7n6A2b6ZbbEM5ojQOBIScYX4Vk9+Qht4EbV
 r6nxNOvytmWBru7HHw1AGcnsBb1WUY7V1c2myvpEr98YWxDWoWEp7pgWyiaLsBRP
 DDzVlEmWD9248pn/sKUCxQe+cLgG6gWz46YXYFqNdBT/Q5hBcEBoB2o9dEeyFfLT
 l+XpSDve8kT3QaDz5rvzYRHji97uHG0vE8s6WU0PJYtf2/u0Jzf5ZKrJMU//lojE
 q3EySKAC1hy2KtSU4G4p13sh5dbzLfBt6UYSxHk0GYnRZG6k/VSXQGznBVcjHK93
 +95CharGOB179k6n5S/HTSBeXPn/EeB977uysurvE1VVc14QE0fsoKCbrBWov4vB
 W3+DTqWScHdVtp9gUzJFMJ6Cmupc4rG1PN1xDLguZ8h8TCRvxHRTx3zmsO/Jkna4
 crf42gOFThah4nOmqr72
 =0lYr
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc

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.
2012-03-06 14:04:16 +01:00
Takashi Iwai 78f8baf138 ALSA: hda - Add Gigabyte GA-MA790X to the beep whitelist
Its BIOS suppresses the PC beep although it's implemented.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-06 14:02:32 +01:00
Richard Zhao 9d5ef2663f ASoC: fsl: add dt support for imx-audmux
It adds device tree probe support for imx-audmux driver.

Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 12:44:21 +00:00
Axel Lin f320515a58 ASoC: Add missing regmap_init_i2c in wm8804_i2c_probe
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 <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 12:22:11 +00:00
Marton Balint 8f23921423 ALSA: hda - add quirk to detect CD input on Gigabyte EP45-DS3
My CD input got lost in commit 68ef0561ef.
Raymond helped me to add the necessary pin fixup to make it appear again. In
fact, this is basically his patch. It fixes alsa bug #5541.

Signed-off-by: Marton Balint <cus@passwd.hu>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-06 10:44:01 +01:00
Mark Brown ba106ce3d0 ASoC: wm8962: Remove defaults for volatile registers
Save a little RAM.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:26:05 +00:00
Mark Brown fbe4ff795f ASoC: wm8962: Remove unneeded pm_runtime_set_active()
The default pm_runtime status is enabled which is what we want.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:18:42 +00:00
Mark Brown 4752a88719 ASoC: wm8994: Use audio mode for jack detection when system is active
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 <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:05:24 +00:00
Shawn Guo 56cea3f1e7 ASoC: imx: add an explicit Kconfig option for imx-ssi driver
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 <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:03:13 +00:00
Shawn Guo 4762fbab0b ASoC: imx: separate imx-pcm bits from imx-ssi driver
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 <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:03:08 +00:00
Shawn Guo af4872fb39 ASoC: imx: rename audmux prefix mxc to imx
It renames the legacy name mxc used in audmux function and macro
to imx.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:03:04 +00:00
Shawn Guo 3c77c29c49 ASoC: imx: move audmux driver into sound/soc/imx
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 <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:03:00 +00:00
Shawn Guo 17ec38a8b6 ASoC: imx: move phycore audmux call into ASoC machine driver
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 <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:02:47 +00:00
Shawn Guo 60282ede6b ASoC: imx: move eukrea audmux call into ASoC machine driver
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 <shawn.guo@linaro.org>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-06 00:02:36 +00:00
Janusz Krzysztofik 0379c1f55b ASoC: OMAP: ams-delta: drop .set_bias_level callback
This functionality has already been implemented in the cx20442 codec
driver (commit f75a8ff67d, "ASoC: cx20442:
add bias control over a platform provided regulator"), no need to keep
it here duplicated.

Once done, remove the no longer used AMS_DELTA_LATCH2_MODEM_NRESET
symbol from the board header file and a call to the regulator_toggle()
helper function from the old API wrapper found in the board file.  While
being at it, simplify the way the modem .pm callback handles the
regulator and drop that helper function and its related consumer setup
completely.

Depends on patches 1/3 and 2/3 for clean apply and keep things working.

Signed-off-by: Janusz Krzysztofik <jkrzyszt@tis.icnet.pl>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
2012-03-05 11:25:34 -08:00
Mark Brown f13ebada17 ASoC: dapm: Show if widgets are forced in debugfs
The information was not otherwise visible.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-03-05 14:50:18 +00:00
David Henningsson e21af48583 ALSA: hda - fix broken automute/autoswitch for Realtek
The recent addition of volume-knob widget in the auto-parser broke
automute/autoswitch for some Realtek devices.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-05 15:15:40 +01:00
Takashi Iwai 650d6e25cd This has been a very active release for ASoC, as well as the usual raft
of bugfixes and driver updates there's quite a few framework enhancements.
 Most are either small or are laying the groundwork for user visible
 features (especially dynamic PCM), the most directly visible change is
 the dmaengine library.  There's also a bunch of regmap API enhancements
 pulled into the tree so that either the framework or drivers can take
 advantage of the new features.
 
 Changes include:
 
 - Support for widgets not associated with a CODEC, an important part of
   the dynamic PCM framework.
 
 - A library factoring out the common code shared by dmaengine based DMA
   drivers contributed by Lars-Peter Clausen.  This will save a lot of
   code and make it much easier to deploy enhancements to dmaengine.
 
 - Support for binary controls, used for providing runtime configuration
   of algorithm coefficients.
 
 - A new DAPM widget type for regulator supplies allowing drivers for
   devices that can power down unused supplies while active to do without
   any per-driver code.
 
 - DAPM widgets for DAIs, initially giving a speed boost for playback
   startup and shutdown and also the basis for CODEC<->CODEC DAI link
   support.
 
 - Support for specifying the number of significant bits on audio
   interfaces, useful for allowing applications to know how much effort to
   put into generating data for a larger sample format.
 
 - Conversion of the FSI driver used on some SH processors to DMAEngine.
 
 - New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics WM2200.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPU4IOAAoJEBus8iNuMP3de34P/2aEhzOwxZE3DviqSR6qIag0
 exdEqMVUzoRoAJ5NHVFd4qClqUv7k6TxiDKdcIVXXjVm4L2imF5iqkB5VPK4dJSy
 YMYOIBtruHzTsUmjnJzbTc4GSk3lJ/GfYDPvrNslFBywkNy+uAoNRGQQN1wywgA0
 OJhbCoGfgtT+ULKLg9ke5ckHtdgkSFQNpGjb7IuGy+9JDH72CUiSbZzffxRGFR4X
 Ah2/5VuDqXj56ENfp011K7uMRTv2i57+388JAW7kGR/D5TBs3mTD5AkyJUvGYxVY
 bzfUyNoOek7X22mCSZEuP3W/rtyyuAaaA67yBbC1jTKpbACEriSVBauIApHPvUB5
 a9mz03V2knEcrCVgoyt0yMnvWh2UcWtH3BlaGZhlUrmrMvAEYKCW7xYRMScBvlDA
 NPUPBuf6MCMaKbpu+PnuyhTr4TVjkZqHSmotOMgiP5IUzzdlHzAgUSbnU/DQiNV0
 jS6u9+rkc8j9wRVkBXuzaj1uJ6iSI1T3ElS3WrpsMV33/HBqJLHY9LyWyxhBF3Su
 S4dGeo+I6zljrkZeAU4aNHWXRciv37TMNGNVYVs0xZajtLllgpp3IHrOCPzJtoXF
 tJwmXiZUdAo+3QQci0aH4p2Mem2RH2lLOrxKkKD65CqvNC6mCWC3Dc13B+kiZ/Qn
 9GVK/O9CRuwMcBdVsUy9
 =FpJH
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.4' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into topic/asoc

This has been a very active release for ASoC, as well as the usual raft
of bugfixes and driver updates there's quite a few framework enhancements.
Most are either small or are laying the groundwork for user visible
features (especially dynamic PCM), the most directly visible change is
the dmaengine library.  There's also a bunch of regmap API enhancements
pulled into the tree so that either the framework or drivers can take
advantage of the new features.

Changes include:

- Support for widgets not associated with a CODEC, an important part of
  the dynamic PCM framework.

- A library factoring out the common code shared by dmaengine based DMA
  drivers contributed by Lars-Peter Clausen.  This will save a lot of
  code and make it much easier to deploy enhancements to dmaengine.

- Support for binary controls, used for providing runtime configuration
  of algorithm coefficients.

- A new DAPM widget type for regulator supplies allowing drivers for
  devices that can power down unused supplies while active to do without
  any per-driver code.

- DAPM widgets for DAIs, initially giving a speed boost for playback
  startup and shutdown and also the basis for CODEC<->CODEC DAI link
  support.

- Support for specifying the number of significant bits on audio
  interfaces, useful for allowing applications to know how much effort to
  put into generating data for a larger sample format.

- Conversion of the FSI driver used on some SH processors to DMAEngine.

- New CODEC drivers for Maxim MAX9768 and Wolfson Microelectronics WM2200.
2012-03-05 15:07:33 +01:00
Pavel Hofman db05828aad ALSA: ice1724 - constrain runtime rates for locked internal rate
The driver already defines control "Multi Track Rate Locking" which
locks the card at current rate if switched to internal clock. This patch
limits the runtime rates to this rate only, allowing proper reporting
of the card capabilities, and e.g. automatic rate conversion by the plug
plugin to the currently locked rate.

Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-05 14:53:58 +01:00
Takashi Iwai 019ae33410 A driver specific fix that wasn't noticed as the OpenMoko guys have been
stuck on 2.6.39 for a very long time now and are just starting to catch
 up again.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPU3znAAoJEBus8iNuMP3dOMUP/ioABxNsPbXv7csbVrWFeSsF
 7tjoWtUQi6mQF4V096So0irTYint9dd6r4MWyBQ7ktDjfEaKZA8fYX6HsKVSiNVF
 Jr+VHPG+lrL2abpkkcWNt7V42NIq5b3Tka6n6nRaMhFyyWaNpLo2sTjR2ZqPEkBD
 Nv39qQ5+r7RRG+ELCSLv/MB/zsubMS/S8JsvXwBMdita7O0ErjNdsXBCy8d336PR
 3xobCNC8+U/FalbdpCaoSD/o2LwpHv+5AN3Hyl9vwN204IRsk0Un6M/va0LlcWhg
 NZMzzJOmsrANQ/sEPw2l2iTi5MqoFexnHC0Vdt4NqEwb/no62IMdLXCqhXfC+lF/
 coYzCNYy8Z4yBQ94/aTod6q6wF3tggHd6b3wAMY0kzQZ4DT0tKqLkJRRHcej20vk
 Z1n0tq2QsYaYbiH1dDV/dk6oGyvy4V3+HqqEcfsUoTN0yZPErbXAr6sxkgoScvQm
 rHVHYp7syBoXHxWINX7rBKVcFymQOrRK8E2yK5SPJ/tz3mlV8P3v8VbLmpP+Sn2g
 VeC9lJ8ucgq0QcFvih7gAVhazgOOJr/hY92ctxnHIsaTwIQ7Id/mKwa07zL/5mpG
 O/ljbjXuVcnqTB5Uu0K/csqVogKlOO+BfHsdsCwf5hZN4qCjLsRw2vNk/iMgxrVP
 6jAwebYZj+CFWrxae786
 =UEyt
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

A driver specific fix that wasn't noticed as the OpenMoko guys have been
stuck on 2.6.39 for a very long time now and are just starting to catch
up again.
2012-03-04 16:13:58 +01:00
Denis 'GNUtoo' Carikli ad20ff920c ASoC: wm8753: fix initialization
Without that fix the wm8753 SPI initialization fails, and then produces
  a kernel panic during boot with the following call trace:
    Unable to handle kernel paging request at virtual address 37386d9b
    [<c01ccafc>] (regmap_get_val_bytes+0x0/0x14) from [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc)
    [<c0243dfc>] (snd_soc_codec_set_cache_io+0x9c/0xcc) from [<c0244a4c>] (wm8753_probe+0x5c/0x1c4)
    [<c0244a4c>] (wm8753_probe+0x5c/0x1c4) from [<c023bb24>] (soc_probe_codec+0x174/0x284)
    [<c023bb24>] (soc_probe_codec+0x174/0x284) from [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28)
    [<c023c2c0>] (snd_soc_instantiate_cards+0x68c/0xe28) from [<c023d278>] (snd_soc_register_card+0x240/0x2d4)
    [<c023d278>] (snd_soc_register_card+0x240/0x2d4) from [<c023d330>] (soc_probe+0x24/0x40)
    [<c023d330>] (soc_probe+0x24/0x40) from [<c01c3900>] (platform_drv_probe+0x14/0x18)
    [...]

The commit d3398ff059
 ( ASoC: Convert WM8753 to direct regmap API usage ) introduced
 the problem.

Thanks to Lars-Peter Clausen for helping me a bit during the debugging.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 14:34:44 +00:00
Denis 'GNUtoo' Carikli b2ccf065f7 ASoC: neo1973: fix neo1973 wm8753 initialization
The neo1973 driver had wrong codec name which prevented the "sound card"
from appearing.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-03-04 14:30:18 +00:00
Shawn Guo 15ca1b19c6 ASoC: imx: move SND_SOC_AC97_BUS selection down to machine driver
SND_SOC_AC97_BUS is selected to enable the AC97 support in soc-core.
Rather than selecting the option under SND_IMX_SOC, it's better to
leave the selection to individual machine driver which knows if AC97
support is needed or not.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 13:32:27 +00:00
Shawn Guo 9a3a101c1a ASoC: imx: initialize dma_params burstsize just in imx-ssi
It's not necessary for imx-pcm-dma-mx2 to access imx_ssi.dma_params
for burstsize initialization.  Instead, it can just be done in imx-ssi
probe function once.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 13:26:02 +00:00
Mark Brown 1defde2a50 ASoC: wm8994: Factor out WM1811A detection mode setting
Push everything through one function for active use cases, should be
no practical effect.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:59:01 +00:00
Mark Brown 28e33269a7 ASoC: wm8994: Don't bother updating the jackdet mode needlessly
If we're not doing jackdet it's not needed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:58:36 +00:00
Mark Brown afaf159120 ASoC: wm8994: Disable JACKDET when disabling detecton
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:57:48 +00:00
Mark Brown 7d464b201f ASoC: wm8994: Make sure we sync DAPM on WM8958 detection mode changes
Normally this will have no effect as we set detection up at system startup
before DAPM syncs take effect, this will only be useful if the system
enables and disables detection at runtime.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:57:37 +00:00
Mark Brown 67109cbea1 ASoC: wm_hubs: Disable cache of the DC servo calibration for WM1811
The WM1811 DC servo is able to run much faster than previous devices so
the benefit of skipping calibration is not useful.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:56:47 +00:00
Mark Brown b16db745b5 ASoC: wm8994: Suppress noop updates of FLL K
Using snd_soc_write() means we always write to the register even if it
already contains the newly calculated value.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:56:18 +00:00
Mark Brown 2bc16ed8e0 ASoC: wm8994: Push wm8994 private data allocation out into device probe
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-04 01:56:06 +00:00
Kukjin Kim b130d5c295 ARM: S3C24XX: change the ARCH_S3C2410 to ARCH_S3C24XX
This patch changes the ARCH name to "ARCH_S3C24XX" for Samsung
S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443,
and S3C2450 SoCs so that we can merge the mach-xxx directories
and plat-s3c24xx dir. to just one mach-s3c24xx for them.

I think this should be sent to upstream via samsung tree because
this touches many samsung stuff.

Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Richard Purdie <rpurdie@rpsys.net>
Cc: Chris Ball <cjb@laptop.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: Greg Kroah-Hartman <gregkh@suse.de>
[for the gadget part:]
Acked-by: Felipe Balbi <balbi@ti.com>
[for the framebuffer (video) part:]
Acked-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
[For the watchdog-part:]
Acked-by: Wim Van Sebroeck <wim@iguana.be>
Cc: Sangbeom Kim <sbkim73@samsung.com>
Cc: Liam Girdwood <lrg@ti.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
2012-03-03 07:44:51 +09:00
Mark Brown fe4085e84f ASoC: core: Log a warning when machines use soc-audio
snd_soc_register_card() has been available and strongly preferred since
2.6.38 but we're still seeing new drivers using it and the conversion rate
for older machines has been low. Help address both issues by logging a
warning when the soc-audio device probes.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-03-02 16:21:25 +00:00
Liam Girdwood 02db110351 ASoC: core: cleanup platform debugfs on probe failure.
Make sure we cleanup the platform debugfs when probe fails.

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-02 16:20:44 +00:00
Lars-Peter Clausen 016ab467aa ASoC: mxs-pcm: Use dmaengine PCM helper functions
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-02 13:47:36 +00:00
Lars-Peter Clausen c307e8e32e ASoC: imx-pcm-dma: Use dmaengine PCM helper functions
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-02 13:47:30 +00:00
Lars-Peter Clausen e7f73a1613 ASoC: Add dmaengine PCM helper functions
This patch adds a set of functions which are intended to be used when
implementing a dmaengine based sound PCM driver.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Vinod Koul <vinod.koul@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-02 13:47:25 +00:00
Mark Brown 1355ab147f ASoC: wm8962: Run the headphone in class G mode when sidetone is enabled
Class W mode with sidetone is not fully supported.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-02 12:01:40 +00:00
Takashi Iwai 7c589750a7 Merge branch 'fix/hda' into topic/hda
Speaker-Out renames are merged.

Conflicts:
	sound/pci/hda/patch_realtek.c
2012-03-02 09:00:33 +01:00
Takashi Iwai e49a3434f1 ALSA: hda - Kill hyphenated names
Kill hyphens from "Line-Out" name strings, as suggested by Mark Brown.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-03-02 08:59:23 +01:00
Tony Lindgren 4239276214 Merge branch 'omap1' into ams-delta 2012-03-01 15:20:00 -08:00
Mark Brown 378ec0ca38 ASoC: wm8994: Disable debounce of jack detection on inserted jack
Don't debounce jack detection for inserted jacks, giving improved
responsiveness.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-01 19:06:37 +00:00
Takashi Iwai b399997008 A small fix for the SSI driver and a fix for system shutdown with modern
devices.  Most of the modern devices will never get shut down normally
 with a visible kernel log as the systems they're in tend not to shut
 down often and when they do it's usually in form factors that don't have
 a user visible console.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPT2d3AAoJEBus8iNuMP3d5Y0P/iM8j26/TQ27/5r9WroKKHXL
 BeIt+xT2hB1xuCf8KUMmq4JZUQQQZBz2mhlcR5oG93A5S6QmLXl8bXJ2qdmGb3KW
 YmtWo1kCMj44Z/mVt9u9lIy+EnlxrgogwCA/Ph3Fb+GppR+f27rXr87g3OaYEJgu
 1W1u9AYrmJ9SkWrjSxlihfQiQ7v4gojGQKrWsG6uFq4ZJIBDah9nqsfpvT1/XdeF
 ciijoSk1sRAHOz92MPDRvwPxVaWbyv4ehkE3O7Zckcm+8z0bBWL26U5Nq4thhIjz
 CCqhqSP/22XvJxOM6xQwnH3VmxyON+F7bOdmk9fZdwEIJ5zVpvK1gkBQSeykUn6F
 Ow6g5L2cH2azmswWCVsUt6+NjfnpaNI/g8+J/Jy9aDQbyx0LWeN89AUJBC+KCGUL
 YLAzzsx2e4cKcILx6PiDhDCkoPkszacPrsoWZWr5QvNc+32HQhXX/KEqUcYHhxGR
 N/b046oVzLjcAfOFDoSvER5G1Ep6wJCxgNKjo+b4uYk2UYQBt/haYqSjqQwFnRi1
 JjkC/FZjHTS4z1dexdSx5SGsRl+dDvr9rlmYtq+u/5SqLb+eq+iDUhberrgP6vGh
 P7Nkt9PEHzJ+ifqlmvJXyKf54mlozmS5MzDn9JopGnZjLp5QVHIVqdd+inqGpFSg
 wpwymYcKQ3BXeJC0aGQH
 =FzOc
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

A small fix for the SSI driver and a fix for system shutdown with modern
devices.  Most of the modern devices will never get shut down normally
with a visible kernel log as the systems they're in tend not to shut
down often and when they do it's usually in form factors that don't have
a user visible console.
2012-03-01 14:17:07 +01:00
Mark Brown df0c016d0b ASoC: wm8962: Remove register default for PLL2
The initial value can be changed depending on system configuration.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-03-01 12:41:55 +00:00
Jaswinder Singh df8ad33558 ASoC: Samsung: Update email id of the author
I moved on from a great employer and the email-id no longer exists.
Update email-id to a personal one, assuming I don't move on from
myself anytime soon. And when I do, people don't get the eulogies
bounced.

Signed-off-by: Jaswinder Singh <jassisinghbrar@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 23:37:57 +00:00
Jassi Brar c90887fe98 ASoC: Samsung: Merge two identical if-else clauses
Saves two lines and a hell of a lot of embarrassment looking at the code.

Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 23:37:28 +00:00
Mark Brown 62172f4a75 ASoC: wm8994: Remove stub of register access code
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 23:35:49 +00:00
Mark Brown e778ba07ed ASoC: wm_hubs: Bomb out if we can't read back the DC servo result
Should have no practical impact but it's safer than trying to soldier on.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 23:35:30 +00:00
Mark Brown 6449c9f858 ASoC: wm8996: Remove stub register cache
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 23:35:21 +00:00
Mark Brown 1dd4c8e42a ASoC: wm8996: Fix /RESET bounce ordering
We want to leave the device out of rather than in reset.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 23:35:17 +00:00
Takashi Iwai 07cafff288 ALSA: hda/conexant - Clear unsol events on unused pins
It seems that Lenovo machines (or codec chip itself?) leave the unsol
event tags and the enablement-flag from other pins bogusly even on the
unused pins.  Although this shouldn't be too critical, it's better to
clear them up sanely.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-29 17:38:51 +01:00
Takashi Iwai 3868137ea4 ALSA: hda - Add a fake mute feature
Some codecs don't supply the mute amp-capabilities although the lowest
volume gives the mute.  It'd be handy if the parser provides the mute
mixers in such a case.

This patch adds an extension amp-cap bit (which is used only in the
driver) to represent the min volume = mute state.  Also modified the
amp cache code to support the fake mute feature when this bit is set
but the real mute bit is unset.

In addition, conexant cx5051 parser uses this new feature to implement
the missing mute controls.

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

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-29 17:32:38 +01:00
Mark Brown b9e67e5ef3 ASoC: wm8994: Make sure we don't have MICBIAS on during jackdet mode
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-29 10:28:59 +00:00
Takashi Iwai 7bff172a35 ALSA: hda - Always set HP pin in unsol handler for STAC/IDT codecs
A bug report with an old Sony laptop showed that we can't rely on BIOS
setting the pins of headphones but the driver should set always by
itself.

Cc: <stable@kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-29 09:41:39 +01:00
Takashi Iwai 3e93f5efaf ALSA: hda - Enable docking-station SPDIF for Thinkpad
The docking-station of Thinkpad X200 & co supports also an SPDIF output,
and the corresponding pin 0x1c has to be enabled for using it.

Reported-and-tested-by: Sebastian Glita <sebastian.glita@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-28 21:49:55 +01:00
Shawn Guo 64902b29cb ASoC: Remove unnecessary -codec from cs4270 driver name
Similar to what commit 1e3ad57 (ASoC: Remove redundant -codec from
WM8776 driver name) does for wm8776 driver, this patch does the same
thing for cs4270 driver.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-28 12:35:20 +00:00
Shawn Guo 7c59bc55e4 ASoC: fsl: align mpc8610_hpcd with p1022_ds on getting codec node
Align mpc8610_hpcd with p1022_ds on getting codec node by just calling
of_parse_phandle.  The bonus point of doing that is we can save
exporting get_node_by_phandle_name() when we consolidate the common
bits between mpc8610_hpcd and p1022_ds into a module, which can be
shared by more machine drivers added later.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-28 12:35:08 +00:00
Shawn Guo fb1a6453bc ASoC: fsl: correct get_dma_channel parameter name
The second parameter of function get_dma_channel is actually a property
name rather than a compatible string, so rename it for less confusing.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Acked-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-28 12:35:04 +00:00
Takashi Iwai a6f2fd557f ALSA: hda - Add position_fix=4 (COMBO) option
This patch adds a new position_fix option value, 4, as a combo mode
to use LPIB for playbacks and POSBUF for captures.  It's the way
recommended by Intel hardware guys.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-28 12:18:15 +01:00
Vitaliy Kulikov 5556e14708 ALSA: hda - Fix audio playback support on HP Zephyr system
Enables port E of IDT 92HD91 codec as output and sets correct output
phase between ports E and D and high pass filter.

Signed-off-by: Vitaliy Kulikov <Vitaliy.Kulikov@idt.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-28 07:29:40 +01:00
Mark Brown 53803aead0 ALSA: Use a define for the number of jack switch types
This is intended to facilitate the merge of the two jack detection
mechanisms.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-27 17:34:44 +01:00
Mark Brown 2c823d14bf ASoC: wm8753: Convert to devm_kzalloc()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-27 15:25:27 +00:00
Paul Gortmaker 07a38b1b4e ASoC: fix trivial build error in mpc5200_dma.c
Add the obvious header to fix this:

sound/soc/fsl/mpc5200_dma.c:301: error: implicit declaration of function 'DMA_BIT_MASK'
sound/soc/fsl/mpc5200_dma.c:301: error: initializer element is not constant

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-27 14:56:30 +00:00
Shawn Guo 1e1d7e593e ASoC: imx: let SND_MXC_SOC_FIQ select FIQ
CONFIG_FIQ is only needed when CONFIG_SND_MXC_SOC_FIQ is selected to
build imx-pcm-fiq.c, so let SND_MXC_SOC_FIQ select FIQ.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-27 14:36:10 +00:00
Alban Bedel 87c9e7d702 ALSA: azt3328 - Fix NULL ptr dereference on cards without OPL3
opl3->private_data was set even if opl3 could not be created.

Signed-off-by: Alban Bedel <albeu@free.fr>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-25 19:03:18 +01:00
Takashi Iwai 068b939431 ALSA: hda/realtek - Fix resume of multiple input sources
When there are multiple input sources, the driver wrongly overwrites with
the value of the last input source on other slots at resume.  Thus the
primary input source may be shown wrongly.

Reported-and-tested-by: Julian Sikorski <belegdol@gmail.com>
Cc: <stable@kernel.org> [v3.1+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-25 11:13:16 +01:00
Torsten Schenk adef39c0ea ALSA: snd-usb-6fire: Select missing SND_VMASTER option in Kconfig
Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-25 11:07:19 +01:00
Viresh Kumar b1dd5897f5 ASoC: core: Don't overwrite .poweroff in snd_soc_pm_ops
SET_SYSTEM_SLEEP_PM_OPS writes .poweroff = *_resume once. Then we overwrite it
again explicitly as .poweroff = snd_soc_poweroff. Even though it works, as the
second one overwrites the first one, this is not the correct way. Fix this by
expanding SET_SYSTEM_SLEEP_PM_OPS in our structure.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-24 14:46:26 +00:00
Mark Brown 0512615db6 ASoC: wm8962: Convert interrupt handler to direct regmap usage
Avoids potential locking issues with anything that needs the CODEC lock.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-23 22:06:58 +00:00
Javier Martin 5ed80a75b2 ASoC: i.MX SSI: Fix DSP_A format.
According to i.MX27 Reference Manual (p 1593) TXBIT0 bit selects
whether the most significant or the less significant part of the
data word written to the FIFO is transmitted.

As DSP_A is the same as DSP_B with a data offset of 1 bit, it
doesn't make any sense to remove TXBIT0 bit here.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
2012-02-23 18:58:17 +00:00
Masanari Iida 8a236f3f1a ALSA: ctxfi: Fix typo in ctvmem.c
Correct spelling "virtural" to "virtual" in
sound/pci/ctxfi/ctvmem.c

Signed-off-by: Masanari Iida <standby24x7@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-23 18:28:49 +01:00
Mark Brown d690516c6d ASoC: wm8962: Remove mistakenly committed debug logging
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-23 15:46:25 +00:00
Mark Brown 2901d6ebe1 ASoC: ak4104: Convert to direct regmap API usage
Since the cache is currently open coded this is more of a win than for
most devices.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Daniel Mack <zonque@gmail.com>
2012-02-23 15:14:18 +00:00
Mark Brown 34baf22020 ASoC: ak4104: Use snd_soc_write() rather than internal write function
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Daniel Mack <zonque@gmail.com>
2012-02-23 15:14:14 +00:00
Mark Brown afad95f825 ASoC: ak4104: Use snd_soc_update_bits() for read/modify/write
Don't use the internal I/O functions directly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Daniel Mack <zonque@gmail.com>
2012-02-23 15:13:54 +00:00
Mark Brown 7679e42ec8 ASoC: dapm: Check for bias level when powering down
Recent enhancements in the bias management means that we might not be
in standby when the CODEC is idle and can have active widgets without
being in full power mode but the shutdown functionality assumes these
things. Add checks for the bias level at each stage so that we don't
do transitions other than the ON->PREPARE->STANDBY->OFF ones that the
drivers are expecting.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org
2012-02-23 15:13:02 +00:00
Wu Fengguang 6edc59e602 ALSA: hda - add id for Atom Cedar Trail HDMI codec
[the order sorted by tiwai]

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-23 09:50:10 +01:00
Torsten Schenk 06bb4e7435 ALSA: snd-usb-6fire: add analog input volume control
Add a stereo volume control for analog input channel pair 1/2.

Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 15:51:26 +01:00
Torsten Schenk d97c735a10 ALSA: snd-usb-6fire: add mute control for analog outputs
Add a mute control for every analog output channel.

Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 15:51:16 +01:00
Torsten Schenk f90ffbf3c6 ALSA: snd-usb-6fire: add individual volume control for analog channels
Add a stereo volume control for every analog output pair 1/2, 3/4, 5/6.

Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 15:51:06 +01:00
Torsten Schenk 8e247a9c90 ALSA: snd-usb-6fire: add tlv to controls
Remove the soft log-conversion and add a dB scale according to
the DAC documentation instead.

Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 15:50:56 +01:00
Torsten Schenk c596758f57 ALSA: snd-usb-6fire: remove driver version information
Remove unused driver version information from the individual files.

Signed-off-by: Torsten Schenk <torsten.schenk@zoho.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 15:50:45 +01:00
Mark Brown 462835e4a7 mfd/ASoC: Convert WM8994 driver to use regmap patches
Early revisions of several of the WM8994 variants have register updates
to improve performance. Move these over to using the regmap patch system
instead of open coding them in the audio driver. Since the regmap init
is done by the MFD the code is moved there.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Samuel Ortiz <sameo@linux.intel.com>
2012-02-22 13:57:03 +00:00
Lars-Peter Clausen 95a771ca16 ASoC: mxs-pcm: Request DMA channel early
Request the DMA channel in the PCM open callback instead of the hwparams
callback, this allows us to let open fail if no dma channel is available. This
also fixes a bug where the channel will be requested multiple times if hwparams
is called multiple times.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-22 13:21:49 +00:00
Lars-Peter Clausen 4564d10f30 ASoC: imx-pcm: Request DMA channel early
Request the DMA channel in the pcm open callback. This allows us to let open
fail if there is no dma channel available.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-22 13:21:49 +00:00
Lars-Peter Clausen 91a38540f5 ASoC: imx-ssi: Set dma data early
Move the call to snd_soc_dai_set_dma_data from the hw_params callback to the
startup callback. This allows us to use the dma data in the pcm driver's open
callback.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-22 13:21:49 +00:00
Viresh Kumar e2b35f3dbf dmaengine/dw_dmac: Fix dw_dmac user drivers to adapt to slave_config changes
There are few existing user drivers of dw_dmac. They will break as soon as we
remove unused fields from struct dw_dma_slave. This patch focuses to fix these
user drivers to use dma_slave_config() routine.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-02-22 18:15:39 +05:30
Viresh Kumar 258aea76f5 dmaengine: Pass dma_slave_config .device_fc = NULL for all existing users
.device_fc is added in struct dma_slave_config recently. All user drivers, which
want DMA to be the flow controller must pass this field as false. As earlier
driver don't look to use this feature, mark it false for now.

Signed-off-by: Viresh Kumar <viresh.kumar@st.com>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@linux.intel.com>
2012-02-22 18:15:37 +05:30
Takashi Iwai 77e314f722 ALSA: hda/via - Add a few sanity checks
Added sanity checks in a few places not to assume the pins having the
certain amp caps or the input-source being always assigned to a mux.

No actual bugs have been triggered by these, but surely better to be a
bit more robust.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 12:36:06 +01:00
Takashi Iwai 8d8bbc6f17 ALSA: hda/via - Don't create duplicated boost controls
The driver may create duplicated mic boost controls when there are
multiple mics with the very same type / location, and this leads to
the error at actual kcontrol creation.  It needs to check the validity
of the created control and add a proper index if it's duplicated.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 12:28:44 +01:00
Mark Hills cb74eb15ac ALSA: snd-usb-caiaq: Fix the return of XRUN
Commit 3702b08 added a lock, but did not account for the case of
SNDRV_PCM_POS_XRUN, which would get immediately overwritten.

This could be bundled into one if-else-if statement, but the goto
helps to clarify the 'exceptional' case.

Thanks to Andreas Pape for spotting this.

Signed-off-by: Mark Hills <mark@pogo.org.uk>
Acked-by: Daniel Mack <zonque@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-22 08:34:58 +01:00
Mark Brown f7085641ee ASoC: wm8994: Move wm_hubs callback before we start ramping VMID
Allows the generic code to set up for that.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 23:10:41 +00:00
Takashi Iwai fe879e2f6d A couple of small, driver specific fixes - nothing too exciting going
on.
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 
 iQIcBAABAgAGBQJPQ/LIAAoJEBus8iNuMP3d3qYQAIW6eCnfrTjTe5s7FpXcSqup
 gIIwoibxg6YA2SbXm0l1YBFnZxUl21S9vbAni9ZqYAcYFPlLS/WKb6N7X8bWKA/4
 PfzR96VPBum0sZg+1PwIgYd/zh29Mv532hzLAGCG862afW2TIF3dke8bLsdh4GvV
 KTbicLBmo7EdnshOOsEIKq0UGNkAFss6V8JvxeUSIlQPY2npv887tbnO29LHNjR7
 al4Mg23bLeCWqgUCIihyPz4LwCsyQtM/xm/sL0RBvo8OPsqnPdCvCZ9ZK7vzYQ3n
 HAp62oF2QZ1S/cxp9VnpMT/wVaBo2amTFcLybZyuRoIv0YxRNcfxiDXQaKqlIlx6
 y80oeVvlpCqnOXek3L+DQ8KheGWutfP/eG6KiFMbtSwlqrJx0YKqAMSRcRcr4lWh
 UO+WMlCo59KvqC0wXsQqwRGTznZRNKs/+5yCVhi3VE9tNDKyZuerQG1ParenJNw9
 GdNxqaJSC2FTR+gVoxrgCm880pu7AqQJa4VdAglunhgfRFRfng+KBhLRoYdVTGr2
 FJ4M2ZLQ/rYxqXRw3MEs2LBOAoUyX0s5yOmUmvzUJzySWE4OHWFd9KFR+I+4oI9g
 5/0HW8WgAWmq1t14yvOcmkx/slEtFt41A997Cakvl6ZkNccawY2Npg5l9JxcwL2K
 mcG+6To6YU7JJ5RiH9Dk
 =i5Ya
 -----END PGP SIGNATURE-----

Merge tag 'asoc-3.3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

A couple of small, driver specific fixes - nothing too exciting going
on.
2012-02-21 21:21:57 +01:00
Mark Brown 1ec1cdfbb3 ASoC: wm8996: Convert to use DAPM routes for stream connections
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 19:37:46 +00:00
Mark Brown cdaaf301da ASoC: wm5100: Implement DRC coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 19:34:50 +00:00
Mark Brown 29e3cc1597 ASoC: wm8996: Implement DRC coefficient configuration
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 19:34:49 +00:00
Mark Brown f831b055ec ASoC: core: Add support for masking out parts of coefficient blocks
Chip designers frequently include things like the enable and disable
controls for algorithms in the register blocks which also hold the
coefficients. Since it's desirable to split out the enable/disable
control from userspace the plain SND_SOC_BYTES() isn't optimal for
these devices.

Add a SND_SOC_BYTES_MASK() which allows a bitmask from the first word
of the block to be excluded from the control. This supports the needs
of devices I've looked at and lets us have a reasonably simple API.
Further controls can be added in future if that's needed.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-21 19:34:48 +00:00
Mark Brown 71d08516b8 ASoC: core: Add SND_SOC_BYTES control for coefficient blocks
Allow devices to export blocks of registers to the application layer,
intended for use for reading and writing coefficient data which can't
usefully be worked with by the kernel at runtime (for example, due to
requiring complex and expensive calculations or being the results of
callibration procedures). Currently drivers are using platform data to
provide configurations for coefficient blocks which isn't at all
convenient for runtime management or configuration development.

Currently only devices using regmap are supported, an error will be
generated for any attempt to work with a byte control on a non-regmap
device. There's no fundamental block to other devices so support could
be added if required.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-21 19:34:48 +00:00
Mark Brown 2b4bdee292 ASoC: io: Retrieve val_bytes from the regmap API
Allow us to build infrastructure which needs to know the size of a value
without requiring regmap based drivers to supply this information to both
ASoC and regmap by asking regmap for the value.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-21 19:34:47 +00:00
Lars-Peter Clausen 8949490f70 ASoC: mxs-pcm: Remove unused fields from struct mxs_pcm_runtime_data
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 19:29:59 +00:00
Lars-Peter Clausen f691402457 ASoC: imx-pcm: Remove unused fields from imx_pcm_runtime_data struct
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 19:29:59 +00:00
Lars-Peter Clausen e54e2f81da ASoC: imx-pcm: Remove empty prepare callback
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 19:29:59 +00:00
Mark Brown 07fb9d9e93 ASoC: wm8994: Support external capacitors on MICBIAS2 with jack detection
When an external capacitor is connected to MICBIAS2 on devices with
jack detection (which is not required but may be done in some systems)
then the loading may mean that better performance is obtained when
the microphone bias is enabled normally rather than using the low power
mode. Provide platform data allowing systems to indicate if they require
this.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 16:49:53 +00:00
Mark Brown 55a2778685 ASoC: wm8994: Actively discharge idle MICBIAS with jack detect
This minimises the chance of any external capacitors that are fitted
being discharged into headphones as they insert.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 16:49:49 +00:00
Takashi Iwai 070cff4cfd ALSA: hda/realtek - Small code cleanups
A few clean-ups for post-static-quirk time:
- Call alc_auto_init_std() statically in alc_init() instead of setting
  spec->init_hook in each caller.  spec->init_hook field is left
  unused for any future use.

- Move the call of set_capture_mixer() to to alc_parse_auto_config()
  instead of each caller.

- Get rid of the ADC-filling and imux check in each parser function.
  This is no longer needed since the auto-parser always check ADCs and
  imux.  It was only for the static quirks.

- Kill unused defines

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 13:48:35 +01:00
Takashi Iwai f568291ef5 ALSA: hda/realtek - Fix the wrong offset for two-speaker systems
When the machine has two speakers but wants to put more multi-io
jacks, the parser shouldn't consider about the shared DAC but try to
assign the individual DACs.  Otherwise the channel mapping would be
fairly confused and lead to the wrong DACs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 12:37:00 +01:00
Takashi Iwai 689cabf6d0 ALSA: hda/realtek - Fix the possible conflicts of Bass Speaker name
When the multi-io is added to the two speaker output configuration,
the parser would try to add yet another "Bass Speaker" control since
it checks only cfg->line_outs.  Add a workaround for it by simply
passing the channel name in the case of multi-io outputs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 12:36:37 +01:00
Takashi Iwai c96f0bf4ad ALSA: hda/realtek - Create individual mute switches for shared DAC
Even if the outputs are using shared DACs, we can still create individual
mute siwtches since they are assigned per pin.  This allows to create,
e.g. Speaker and Bass Speaker mute switches while the single volume is
used for these outputs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 12:12:57 +01:00
Takashi Iwai 5803a32646 ALSA: hda/realtek - Fix possible Oops with NULL input_mux
When BIOS is damn crazy and gives no pin-config at all, the driver might
lead to a NULL dereference.  Let's add a NULL check for such a case.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 11:59:45 +01:00
Mark Brown 29fdc3605c ASoC: wm8994: Enable headphone startup mode 1 for WM1811 and WM8958
The latest recommendation for optimal performance.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 10:57:47 +00:00
Justin P. Mattock a80581d0d1 Typos: change aditional to additional.
The below patch fixes some typos "aditional" to "additional", and also fixes
a comment with another word mispelled.

Signed-off-by: Justin P. Mattock <justinmattock@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2012-02-21 11:40:36 +01:00
Takashi Iwai 164f73ee93 ALSA: hda/realtek - Parse aa-loopback items dynamically
Similarly in patch_via.c, parse the active analog-loopback connections
and create a list dynamically rather than static arrays.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 11:28:51 +01:00
Takashi Iwai 1a97b7f227 ALSA: hda/realtek - Remove the last static quirks for ALC882
Resitance is futile.  The remaining static model quirks for Apple
machines with ALC882-compatible codecs are converted to the auto-parser
now.  We can remove all alc*_quirks.c finally.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-21 11:11:48 +01:00
Kuninori Morimoto e555cf3631 ASoC: ak4642: fixup HeadPhone L/R dapm settings
Current ak4642 driver had wrong dapm settings for headphone L/R.
If you select headphone L, and select R after that,
headphone L setting was removed by R settings.

This patch fixes it up.
It provides just "Headphone Enable" to user side

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 10:00:24 +00:00
Peter Ujfalusi 3b8a079516 ASoC: twl4030: Debug code cleanup
Replace the printk(KERN_ERR* instances with dev_err in the driver.
While we are here clean up some of the debug messages as well.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 09:58:47 +00:00
Mark Brown 26422625d5 ASoC: wm_hubs: Convert headphone driver to output driver widget
Mostly for neatness, though it may help with sequencing in some
situations.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 09:52:09 +00:00
Mark Brown fdd48f9d19 ASoC: wm8776: Add WM8775 device ID to the WM8776
The WM8775 is register compatible with the WM8776 so can be supported with
the same driver though it is an ADC only part. Add the device ID to the
WM8776 driver, further updates will be added in the future.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-21 09:13:59 +00:00
Mark Brown 38d78bafb9 ASoC: ak4104: Convert to module_spi_driver()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20 22:01:01 +00:00
Mark Brown 65b30bee58 ASoC: ak4104: Remove uninformative print on probe()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20 22:00:54 +00:00
Takashi Iwai 9155f82a6a ALSA: hda/realtek - Add model=fixup not to apply fix-ups
If anyone wants to debug the driver and avoid the existing fix-ups,
pass model=nofixup option.  Then the driver will skip to pick up the
fixup list.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 18:42:04 +01:00
Takashi Iwai 67b6ec3196 ALSA: hda/realtek - Drop all ALC880 static quirks
Finally the all static quirks for ALC880 are converted to the
auto-parser.  Since we are never sure whether the BIOS on so many old
machines are really correct, the quirk table entries are copied as
they are, but just providing the proper pin-config values
accordingly.

Since alc880_quirks.c is removed, alc882_quirks.c has to be adjusted
slightly to be built again.  There might be some compile warnings due
to the remaining alc882 quirks, but these shall be killed sooner or
later, I don't care it much at this point.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 18:20:42 +01:00
Takashi Iwai 29e3fdcc84 ALSA: hda/realtek - Drop model=asus* from ALC880
It turned out that BIOS on most of ASUS mobo's set the pin-config tables
reasonably well for the auto-parser.  We'd need GPIO setups, but should
work as is other than that.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:56:57 +01:00
Takashi Iwai 411225a01e ALSA: hda/realtek - Rewrite ALC880 model=asus-w1v with auto-parser
ASUS W1V has a sane pin-config table set by BIOS.  The only missing piece
is the setup of GPIO1.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:48:19 +01:00
Takashi Iwai 96e225f692 ALSA: hda/realtek - Rewrite ALC880 model=z71v with auto-parser
ASUS Z71V has a totally broken BIOS setup (at least the info I got),
thus we need to override the whole pin-config table to make the
auto-parser working correctly.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:43:00 +01:00
Takashi Iwai 967b88c477 ALSA: hda/realtek - Rewrite ALC880 model=uniwill-dig with auto-parser
ALC880 model=uniwill-dig requires the fix-up of bogus BIOS pin default
configurations.  Other than that, it's pretty normal.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:31:02 +01:00
Takashi Iwai 817de92f1b ALSA: hda/realtek - Rewrite ALC880 model=uniwill with auto-parser
The model=uniwill would work almost as is, but a couple of adjustments
are needed to make the mutli-io working correctly.  The headphone and
speaker pins have to be marked properly in pin configs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:30:49 +01:00
Takashi Iwai 7833c7e8b4 ALSA: hda/realtek - Rewrite ALC880 model=uniwill-p53 with auto-parser
Uniwill p53 has a sane BIOS setup but just needs the volume-knob handling
like Fujitsu laptops with ALC880.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:11:38 +01:00
Takashi Iwai ba5338185d ALSA: hda/realtek - Rewrite ALC880 model=F1734 with auto-parser
Similar as the previous patch for model=fujitsu, we can now move the
static quirk for F1734 to the auto-parser.  The only difference is the
default pin configurations: F1734 has less pins than Amilo's.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 17:06:04 +01:00
Shawn Guo cbdfb661ff ASoC: imx/mxs: remove redundant SND_PCM selection
SND_PCM is already selected by SND_SOC, there is no need for
SND_IMX_SOC and SND_MXS_SOC to select it again.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-20 07:45:43 -08:00
Takashi Iwai cf5a22793c ALSA: hda/realtek - Rewrite ALC880 model=futjisu with auto-parser
Now adding the support for the volume-knob widget, we can move the static
quirk for ALC880 model=fujitsu to the auto-parser completely.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 16:31:07 +01:00
Takashi Iwai 589876e243 ALSA: hda/realtek - Apply probe-fixup really after probing
Move the call of alc_apply_fixup() with ALC_FIXUP_ACT_PROBE after the
whole setups of patch_ops & co, so that the fix-up function may override
the default setup.  This will be needed for installing the own unsol
event handler (e.g. for volume-knob controls).

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 15:50:20 +01:00
Jeffrin Jose 7913a49963 ALSA: Fixed a trailing white space error
This is a patch to the sound/core/misc.c file that
fixes up a trailing white space issue found by the
checkpatch.pl tool.

Signed-off-by: Jeffrin Jose <ahiliation@yahoo.co.in>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-20 15:34:04 +01:00
Kuninori Morimoto 7da9ced606 ASoC: fsi: Add DMAEngine support
This patch supports DMAEngine to FSI driver.
It supports only Tx case at this point.
If platform/cpu doesn't support DMAEngine, FSI driver will
use PIO transfer.

Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-19 18:36:16 -08:00
Mark Brown fa2c8f4017 Linux 3.3-rc4
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
 iQEcBAABAgAGBQJPQDoTAAoJEHm+PkMAQRiGMpYH/ibfyIFBrKMD1v/s9oNvp8rS
 c7J7E7mHZOylCHrpIS3lX3ZbOfOe33Ln0Z59f1/TcV4CMMz0NrKYcTC8erj/H/DA
 8DRYegiczWKqiXRgktwaZXkJcwXYdOOL1WQYxuzzbZcwRrNBY2QpH7Zu8Bj+TPAy
 d4fvJHWdlh4sbWVdQmLRbp04UB9J/Z5/uWmSNvVQjLLdRlD+mEBbt7JjiNY6sUVC
 2sJoAs9F3UlHu7VaN+JIhMOGZ3GqOpHGBxN/aWxJ/7GsXdXuAfCrxoPxaAe4xzOa
 HndN5ZDyg02Vy5uDeUzj+HJPW3M8L4Q0nwxAYb3ZnQ5tbpu1Q2cHfIBealomWCQ=
 =R91X
 -----END PGP SIGNATURE-----

Merge tag 'v3.3-rc4' into for-3.4 in order to resolve the conflict
resolved below within the FSI driver and allow the application of the
dmaeengine conversion that depends on this resolution.

Linux 3.3-rc4

Conflicts:
	sound/soc/sh/fsi.c
2012-02-19 18:35:12 -08:00
Axel Lin a387419612 ASoC: Add __devinit annotation for pxa2xx_ac97_probe
This fixes below build warning:
WARNING: vmlinux.o(.text+0x1e632c): Section mismatch in reference from the function pxa2xx_ac97_probe() to the function .devinit.text:pxa2xx_ac97_hw_probe()
The function pxa2xx_ac97_probe() references
the function __devinit pxa2xx_ac97_hw_probe().
This is often because pxa2xx_ac97_probe lacks a __devinit
annotation or the annotation of pxa2xx_ac97_hw_probe is wrong.

Also rename pxa_ac97_dai to pxa_ac97_dai_driver to fix below build warning:

  LD      sound/soc/pxa/built-in.o
WARNING: sound/soc/pxa/built-in.o(.data+0x18c): Section mismatch in reference from the variable pxa_ac97_dai to the function .devinit.text:pxa2xx_ac97_probe()
The variable pxa_ac97_dai references
the function __devinit pxa2xx_ac97_probe()
If the reference is valid then annotate the
variable with __init* or __refdata (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-19 18:13:02 -08:00
Fabio Estevam 0837fc6243 ASoC: soc-core: Show the returned values on error messages
Showing the returned values on error messages is useful information.

While at it, use pr_err/pr_warn whenever possible.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-17 13:51:01 -08:00
Mark Brown d5a7f23f9c ASoC: wm8996: Make sure we bounce /RESET to reset
While it matches the current code only bringing the device out of reset
isn't actually doing what the function says so make sure we set the GPIO
high before we pull it low.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-17 13:50:51 -08:00
Takashi Iwai b9368f5c10 ALSA: hda/realtek - Replace ALC880 model=tcl with auto-parser
It needs a few extra setups for EAPD, but others look fairly
straightforward.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 17:59:22 +01:00
Takashi Iwai 27e917f82b ALSA: hda/realtek - Drop ALC880 model=clevo
Clevo machines with ALC880 are all well with proper BIOS setup.
It seems still requiring the additional COEF setup for the EAPD.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 17:59:16 +01:00
Takashi Iwai dc31b58dbc ALSA: hda/realtek - Refactor the DAC filler function
Refactor the DAC filling function to be used for both the primary
line outputs and extra outputs using the individual badness tables.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 17:59:10 +01:00
Takashi Iwai f02aab5d7f ALSA: hda/realtek - Rewrite ALC880 model=w810 with auto-parser
The Medion W810 with ALC880 has a typical BIOS bug, copying the
pin-defaults without disabling the unused pins.  At least, the pin
0x17 must be disabled.  Also, it requires GPIO-2 setup.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 17:59:00 +01:00
Mark Brown 8005f394ab ASoC: wm8996: Convert to module_i2c_driver()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-17 08:15:40 -08:00
Mark Brown 7813561a39 ASoC: wm8993: Convert to module_i2c_driver()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-17 08:15:39 -08:00
Mark Brown 9d50a764b5 ASoC: wm8962: Convert to module_i2c_driver()
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-17 08:15:36 -08:00
Mark Brown 1a8b2d9d5b ASoC: dapm: Only mark pin widgets as dirty if we actually change state
Small optimisation for noop state updates.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:33 -08:00
Mark Brown 5567d8c621 ASoC: wm8994: Convert to use DAI widget routing rather than streams
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:28 -08:00
Mark Brown fe360685f9 ASoC: dapm: Convert stream events to use DAI widgets
This means we don't need to walk through every single widget in the system
for each stream event which is a bit less silly.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:21 -08:00
Mark Brown 888df395eb ASoC: dapm: Implement and instantiate DAI widgets
In order to allow us to do smarter things with DAI links create DAPM
widgets which directly represent the DAIs in the DAPM graph. These are
automatically created from the DAIs as we probe the card with references
held in both directions between the widget and the DAI.

The widgets are not made available for direct instantiation by drivers,
they are created automatically from the DAIs.  Drivers should be updated
to create stream routes using DAPM maps rather than by annotating AIF
and DAC widgets with streams.

In order to ease transition to this model from existing drivers we
automatically create DAPM routes between the DAI widgets and the existing
stream widgets which are started and stopped by the DAI widgets, though
the old stream handling mechanism is still in place.  This also has the
nice effect of removing non-DAPM devices as any device with a DAI
acquires a widget automatically which will allow future simplifications
to the core DAPM logic.

The intention is that in future the AIF and DAI widgets will gain the
ability to interact such that we are able to manage activity on
individual channels independantly rather than powering up and down the
entire AIF as we do currently.

Currently we only generate these for CODECs, mostly as I have no systems
with non-CODEC DAPM to integrate with. It should be a simple matter of
programming to add the additional hookup for these.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:10 -08:00
Mark Brown 3056557f3b ASoC: dapm: Constify lots of names that are never modified
Neater and avoids warnings when used in other places where const strings
are desired.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:06 -08:00
Mark Brown 7bd3a6f34c ASoC: dapm: Supply the DAI and substream when calling stream events
In order to allow us to do something smarter than iterate through widgets
doing strcmp() to work out what to power up for stream events change the
interface used to generate them to be based on the combination of a DAI
and a stream direction rather than just a simple string identifying the
stream.

At some point we'll probably want a set of channels too.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:10:01 -08:00
Mark Brown 5ba06fc969 ASoC: dapm: Refactor snd_soc_dapm_new_widget() to return the widget
Let the caller fiddle with the widget after we're done in order to
facilitate further refactoring.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:09:56 -08:00
Mark Brown ce0e9f0ede ASoC: dapm: Unexport snd_soc_dapm_new_control()
Everything now uses snd_soc_dapm_new_controls() instead so we don't need
to make it part of the external API.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Acked-by: Liam Girdwood <lrg@ti.com>
2012-02-17 08:09:52 -08:00
Axel Lin 059ad76028 ASoC: Change spitz_ext_control to take dapm as argument.
This fixes below build warning:
  CC      sound/soc/pxa/spitz.o
sound/soc/pxa/spitz.c: In function 'spitz_startup':
sound/soc/pxa/spitz.c:116: warning: passing argument 1 of 'spitz_ext_control' from incompatible pointer type
sound/soc/pxa/spitz.c:47: note: expected 'struct snd_soc_card *' but argument is of type 'struct snd_soc_codec *'

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-17 08:09:33 -08:00
Takashi Iwai dc6af52dea ALSA: hda/realtek - Rewrite ALC880 model=lg with the auto-parser
ALC880 model=lg could work fine with the auto-parser due to the recent
rewrite, but it still needs the manual adjustment; namely, the BIOS leaves
unused pins as some real active jacks.  This confuses the parser.
Thus we just cover these pins and override the pin-configs as a fix-up.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 16:18:59 +01:00
Takashi Iwai 276dd70bae ALSA: hda/realtek - Adjust badness calculation for multi-ios
Try harder to fit the multi-io pins also by checking the hard-wired
connections for multi-ios.  Also, the badness values are adjusted to
prioritize the multi-ios as more valuable.  These changes will enable
the multi-io on some machines without losing the current capability.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 16:17:03 +01:00
Takashi Iwai 6f45304091 ALSA: hda/realtek - Show multi-io pins in debug prints
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 14:09:20 +01:00
Takashi Iwai ef8d60fb79 ALSA: hda/realtek - Fix surround output regression on Acer Aspire 5935
The previous fix for the speaker on Acer Aspire 59135 introduced
another problem for surround outputs.  It changed the connections on
the line-in/mic pins for limiting the routes, but it left the modified
connections.  Thus wrong connection indices were written when set to
4ch or 6ch mode.

This patch fixes it by restoring the right connections just after
parsing the tree but before the initialization.

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

Cc: <stable@kernel.org> [v3.2+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-17 10:28:06 +01:00
Mark Brown a1fa92130c ASoC: ak4535: Convert to direct regmap API usage
I suspect the timer register may also be volatile.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 23:04:45 -08:00
Mark Brown 7e11a53516 ASoC: ak4535: Remove bitrotted driver version
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 23:04:45 -08:00
Mark Brown b08c576434 ASoC: ak4535: Make I2C usage unconditional
Convert to module_i2c_driver() too.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 23:04:43 -08:00
Mark Brown d69280be41 ASoC: ak4535: Remove -codec from driver name
Redundant, the device is only a CODEC.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 23:04:43 -08:00
Mark Brown d23031a4d3 ASoC: wm8962: Convert to runtime PM for bias off management
This allows userspace control of final power off, allowing policy decisions
for register configuration retention.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:32:04 -08:00
Mark Brown a968d9db3b ASoC: wm8962: Don't automatically enable and disable FLL
Only enable and disable the FLL when explicitly told to, supporting some
additional use cases and making the driver behaviour more standard.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:32:03 -08:00
Mark Brown 5aa9b858ef ASoC: wm8962: Clean up register dump cruft
No longer needed with regmap.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:32:02 -08:00
Mark Brown 07fabd1bfb ASoC: wm8962: Add new SYSCLK ratios for new device revisions
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:32:02 -08:00
Mark Brown eeba1f8b6a ASoC: wm8962: Log the selected SYSCLK ratio
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:32:01 -08:00
Mark Brown 1993502d24 ASoC: wm8962: Only configure BCLK in hw_params when audio is active
Otherwise we might not have a sensible clocking setup ready.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:32:00 -08:00
Mark Brown 71de4d27c8 ASoC: wm8962: Update the clocking when setting system clock
Make sure we update for any changes in cases where we reconfigure while
live (eg, for analogue bypass).

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 22:31:59 -08:00
Takashi Iwai 185d99f192 ALSA: hda/realtek - Try harder to fit the single-connections
So far, the Realtek driver tires to assign the single-connected routes
for all pins only once at the beginning.  However, since some DACs have
been already mapped, the rest pins might have also single conections.

In this patch, the driver does the single-connection assignment in a
loop until all possbile single-connections are checked.  This will
improve the DAC assignment, e.g. for ASUS G72.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-16 18:39:45 +01:00
Takashi Iwai 1c4a54b451 ALSA: hda/realtek - Finer tuning of auto-parser with badness evaluation
This patch improves the Realtek auto-parser for assigning the DACs and
mixers in more suitable ways by evaluating the assignment with "badness"
calculations.

When assigning a DAC hinders the assignment of individual DACs for
other pins, some badness point is given.  Similarly, when it blocks the
assignment of unique mixer controls, another badness point is added.
Also, if no DAC, even shared DAC, can be assigned, more badness is
pointed.  Finally, comparing the accumulated badness, the best route is
chosen among several trials.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-16 18:08:39 +01:00
Takashi Iwai 140547ef4e ALSA: hda/realtek - Improve the signel-connection check
When the connections from the pin selector contain only two
widgets, a route to DAC and the aa-mixer, it's certainly a
single connection.  In such a case, get_dac_if_single() should
return the connected DAC, too.

This will improve the detection of the individual DAC
assignment for each pin.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
2012-02-16 17:29:24 +01:00
Liam Girdwood 0e66821f63 ASoC: spitz: Fix kcontrols to use card instead of codec
Machine kcontrols now use card instead of codec for thier "chip".

Signed-off-by: Liam Girdwood <lrg@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-02-16 08:24:40 -08:00
Takashi Iwai 00bc0ce913 Merge branch 'fix/hda' into topic/hda
The fix for bitmap-overflow in Realtek codec driver is needed for the
further development of the auto-parser with badness evaluation.
2012-02-16 16:43:09 +01:00