linux_dsm_epyc7002/sound/soc
Peter Ujfalusi 81054b226b ASoC: omap-mcpdm: Fix for full duplex audio use case
Due to HW limitation within OMAP McPDM IP uplink and downlink need to be
started at the same time. This causes issues when we have two streams
running, for example:
arecord | aplay

In this case the playback stream would have no channels enabled since at the
capture start we are not aware that a playback is going to start.

The workaround is to configure the other direction to stereo when the first
stream is started. When the second stream is coming we check the new stream's
number of channels against the pre-configured channels. If it does not match
we stop and restart McPDM to update the configuration. This might result a
small pop. If the coming stream is a match we do nothing in the McPDM driver.

This workaround can handle most use cases without the need to restart McPDM.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2013-03-20 10:59:52 +01:00
..
atmel ASoC: sam9g20_wm8731: disable clock and correct sequence when unload 2013-02-04 18:34:14 +00:00
au1x ASoC: au1x: remove __dev* attributes 2012-12-10 00:31:06 +09:00
blackfin ASoC: blackfin: remove __dev* attributes 2012-12-10 00:29:39 +09:00
cirrus ASoC: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
codecs Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2013-02-21 17:40:58 -08:00
davinci Merge remote-tracking branch 'asoc/topic/tlv320aic3x' into asoc-next 2013-02-11 11:06:46 +00:00
dwc ASoC: dwc: fix support for more than two channels 2013-01-26 15:37:09 +08:00
fsl Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc 2013-02-23 17:09:55 -08:00
generic ASoC: simple-card: add asoc_simple_dai for initializing 2013-01-14 06:55:43 +09:00
jz4740 ASoC: jz4740: remove __dev* attributes 2012-12-10 00:31:12 +09:00
kirkwood ASoC: Convert to devm_ioremap_resource() 2013-01-22 11:41:58 -08:00
mid-x86 ASoC: mid-x86: remove __dev* attributes 2012-12-10 00:31:14 +09:00
mxs Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
nuc900 ASoC: nuc900: remove __dev* attributes 2012-12-10 00:31:28 +09:00
omap ASoC: omap-mcpdm: Fix for full duplex audio use case 2013-03-20 10:59:52 +01:00
pxa Driver core patches for 3.9-rc1 2013-02-21 12:05:51 -08:00
s6000 ASoC: s6000: remove __dev* attributes 2012-12-10 00:31:34 +09:00
samsung arm-soc: cleanups 2013-02-21 14:58:40 -08:00
sh ASoC: fsi: Remove __devinitconst 2013-01-16 20:28:59 +09:00
spear ASoC: spear: remove __dev* attributes 2012-12-10 00:31:38 +09:00
tegra arm-soc: soc-specific updates 2013-02-21 15:27:22 -08:00
txx9 ASoC: txx9: remove __dev* attributes 2012-12-10 00:31:43 +09:00
ux500 ASoC: Ux500: Fix build error pertaining to missing include file 2013-01-31 20:37:05 +08:00
Kconfig ASoC: Rename ep93xx soc directory to cirrus 2012-08-28 10:24:21 -07:00
Makefile ASoC: dmaengine: Correct Makefile when sound is built as module 2012-10-09 15:57:33 +09:00
soc-cache.c ASoC: cache: Standardise ASoC cache messages 2012-11-21 11:39:51 +09:00
soc-compress.c ASoC: core: Allow digital mute for capture 2013-02-08 11:08:44 +00:00
soc-core.c The sweeping change is to make add_taint() explicitly indicate whether to disable 2013-02-25 15:41:43 -08:00
soc-dapm.c Merge remote-tracking branch 'asoc/topic/compress' into asoc-next 2013-02-11 11:06:29 +00:00
soc-dmaengine-pcm.c ASoC: dmaengine_pcm: set MODULE_LICENSE 2012-11-23 23:42:54 +09:00
soc-io.c ASoC: io: Don't dereference regmap if we failed to get one 2012-06-23 12:11:32 +01:00
soc-jack.c Merge remote-tracking branch 'asoc/topic/log' into asoc-next 2012-12-10 00:22:14 +09:00
soc-pcm.c Merge remote-tracking branch 'asoc/topic/core' into asoc-next 2013-02-11 11:06:30 +00:00
soc-utils.c ASoC: utils: remove __dev* attributes 2012-12-10 00:31:48 +09:00