android_kernel_google_msm/sound/arm
Mike Dunn 1d757c9abb ALSA: pxa27x: fix ac97 warm reset
commit 3b4bc7bccc upstream.

This patch fixes some code that implements a work-around to a hardware bug in
the ac97 controller on the pxa27x.  A bug in the controller's warm reset
functionality requires that the mfp used by the controller as the AC97_nRESET
line be temporarily reconfigured as a generic output gpio (AF0) and manually
held high for the duration of the warm reset cycle.  This is what was done in
the original code, but it was broken long ago by commit fb1bf8cd
    ([ARM] pxa: introduce processor specific pxa27x_assert_ac97reset())
which changed the mfp to a GPIO input instead of a high output.

The fix requires the ac97 controller to obtain the gpio via gpio_request_one(),
with arguments that configure the gpio as an output initially driven high.

Tested on a palm treo 680 machine.  Reportedly, this broken code only prevents a
warm reset on hardware that lacks a pull-up on the line, which appears to be the
case for me.

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Signed-off-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-01-17 08:50:55 -08:00
..
aaci.c ARM: 7362/1: AMBA: Add module_amba_driver() helper macro for amba_driver 2012-03-16 23:32:35 +00:00
aaci.h ALSA: AACI: make fifo variables more explanitory 2011-01-26 20:24:52 +00:00
Kconfig ALSA: drop outdated and broken sa11xx-uda1341 driver 2009-03-17 17:58:13 +01:00
Makefile ALSA: Remove old DMA-mmap code from arm/devdma.c 2009-11-27 10:15:24 +01:00
pxa2xx-ac97-lib.c ALSA: pxa27x: fix ac97 warm reset 2013-01-17 08:50:55 -08:00
pxa2xx-ac97.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa2xx-pcm-lib.c ASoC: PXA: Fix oops in __pxa2xx_pcm_prepare 2011-04-03 18:48:56 +09:00
pxa2xx-pcm.c sound: Add module.h to the previously silent sound users 2011-10-31 19:31:21 -04:00
pxa2xx-pcm.h [ARM] pxa: explicit #include <mach/dma.h> in various drivers 2008-12-02 14:42:26 +08:00