linux/sound/soc/omap
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
..
am3517evm.c ARM: OMAP: Remove NEED_MACH_GPIO_H 2012-11-02 12:00:36 -07:00
ams-delta.c ASoC: OMAP: remove __dev* attributes 2012-12-10 00:31:32 +09:00
Kconfig ASoC: OMAP: Remove obsolete machine drivers for Zoom2 and SDP3430 2013-01-02 13:04:25 +00:00
Makefile ASoC: OMAP: Remove obsolete machine drivers for Zoom2 and SDP3430 2013-01-02 13:04:25 +00:00
mcbsp.c ASoC: OMAP: remove __dev* attributes 2012-12-10 00:31:32 +09:00
mcbsp.h ASoC: OMAP: remove __dev* attributes 2012-12-10 00:31:32 +09:00
n810.c ASoC: tlv320aic3x: Convert mic bias to a supply widget 2013-02-04 18:35:19 +00:00
omap3pandora.c ASoC: omap3pandora: Fix compilation error 2013-03-06 12:47:21 +08:00
omap-abe-twl6040.c ASoC: OMAP: remove __dev* attributes 2012-12-10 00:31:32 +09:00
omap-dmic.c ASoC: omap: convert to devm_ioremap_resource() 2013-03-13 10:35:59 +00:00
omap-dmic.h ASoC: OMAP4: omap-dmic: Initial support for OMAP DMIC 2011-11-28 17:21:44 +00:00
omap-hdmi-card.c ASoC: OMAP: remove __dev* attributes 2012-12-10 00:31:32 +09:00
omap-hdmi.c ASoC: OMAP: HDMI: Initialize IEC-60958 channel status word 2013-01-11 23:58:37 +00:00
omap-hdmi.h ASoC: OMAP: HDMI: Expand capabilities of the HDMI DAI 2012-05-22 17:33:23 +01:00
omap-mcbsp.c ASoC: OMAP: remove __dev* attributes 2012-12-10 00:31:32 +09:00
omap-mcbsp.h ASoC: omap-mcbsp: Remove unused defines 2012-08-22 20:17:11 +01:00
omap-mcpdm.c ASoC: omap-mcpdm: Fix for full duplex audio use case 2013-03-20 10:59:52 +01:00
omap-mcpdm.h ASoC: omap-mcpdm: API to configure offset cancellation 2011-09-26 22:23:32 +01:00
omap-pcm.c ASoC: omap-pcm: No need to set constraint at open time 2013-02-05 13:55:24 +00:00
omap-pcm.h ASoC: omap-pcm, omap-dmic: Change the use of omap_pcm_dma_data->data_type 2012-09-22 11:13:01 -04:00
omap-twl4030.c ASoC: omap-twl4030: Add support for routing, voice port and jack detect 2013-01-02 13:04:25 +00:00
osk5912.c ARM: OMAP: Remove NEED_MACH_GPIO_H 2012-11-02 12:00:36 -07:00
rx51.c ASoC: tlv320aic3x: Convert mic bias to a supply widget 2013-02-04 18:35:19 +00:00