linux-stable/arch/arm/mach-pxa
Mike Dunn 3b4bc7bccc ALSA: pxa27x: fix ac97 warm reset
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>
Cc: stable@vger.kernel.org
2013-01-08 11:27:35 +00:00
..
include/mach ALSA: pxa27x: fix ac97 warm reset 2013-01-08 11:27:35 +00:00
am200epd.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
am300epd.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
balloon3.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
capc7117.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
clock-pxa2xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
clock-pxa3xx.c ARM: pxa: support CKENC in clk_enable 2012-08-16 16:15:44 +08:00
clock.c ARM: pxa: add clk_set_rate() 2011-07-12 19:45:19 +08:00
clock.h ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
cm-x2xx-pci.c ARM: PCI: provide a default bus scan implementation 2012-05-13 17:12:17 +01:00
cm-x2xx-pci.h
cm-x2xx.c Merge branch 'late/fixes' into fixes 2012-10-07 07:22:32 -07:00
cm-x255.c ARM: 7104/1: plat-pxa: break out GPIO driver specifics 2011-10-01 23:45:34 +01:00
cm-x270.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
cm-x300.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-evalboard.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-pxa3xx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-pxa270-income.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-pxa270.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
colibri-pxa300.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
colibri-pxa320.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
corgi.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
corgi_pm.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
cpufreq-pxa2xx.c
cpufreq-pxa3xx.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
csb701.c
csb726.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
devices.c ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
devices.h ARM: pxa: change gpio to platform device 2011-11-15 19:08:27 +08:00
em-x270.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
eseries.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
ezx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
generic.c Disintegrate asm/system.h for ARM 2012-03-28 18:30:01 +01:00
generic.h ARM: pxa: remove duplicated registeration on pxa-gpio 2012-03-06 14:40:59 +08:00
gumstix.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
h5000.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
himalaya.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
hx4700.c ARM: pxa: hx4700: Fix backlight PWM device number 2012-10-28 07:53:23 +08:00
icontrol.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
idp.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
irq.c ARM: pxa: add devicetree code for irq handling 2012-08-16 16:14:50 +08:00
Kconfig ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
littleton.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
lpd270.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
lubbock.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
magician.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
mainstone.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
Makefile ARM: pxa: remove pxa95x support 2012-11-15 13:50:13 +01:00
Makefile.boot ARM: 7022/1: allow to detect conflicting zreladdrs 2011-10-17 09:12:40 +01:00
mfp-pxa2xx.c ARM: PXA2xx: MFP: fix potential direction bug 2012-04-27 11:14:06 +08:00
mfp-pxa3xx.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
mioa701.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
mioa701_bootresume.S
mp900.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
mxm8x10.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palm27x.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palmld.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palmt5.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palmtc.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palmte2.c Merge branch 'late/fixes' into fixes 2012-10-07 07:22:32 -07:00
palmtreo.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palmtx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
palmz72.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pcm027.c ARM: restart: pxa: use new restart hook 2012-01-05 12:57:17 +00:00
pcm990-baseboard.c [media] mt9v022: set y_skip_top field to zero as default 2012-11-22 11:36:50 -02:00
pm.c ARM: pm: move cpu_init() call into core code 2011-06-24 08:48:43 +01:00
poodle.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pxa-dt.c ARM: pxa3xx: add generic DT machine code 2012-08-16 16:15:12 +08:00
pxa2xx.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
pxa3xx-ulpi.c ARM: pxa: use module_platform_driver macro 2012-11-06 05:59:59 -08:00
pxa3xx.c Merge branch 'multiplatform/platform-data' into next/multiplatform 2012-09-22 01:07:21 -07:00
pxa25x.c ARM: pxa: add dummy SA1100 rtc clock in pxa25x 2012-11-23 17:27:41 +08:00
pxa27x.c ALSA: pxa27x: fix ac97 warm reset 2013-01-08 11:27:35 +00:00
pxa300.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa320.c ARM: pxa: use common IOMEM definition 2012-03-25 14:36:31 -05:00
pxa930.c
raumfeld.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
reset.c ARM: sa11x0/pxa: convert OS timer registers to IOMEM 2012-07-09 17:37:35 +01:00
saar.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
sharpsl_pm.c Merge branch 'late/fixes' into fixes 2012-10-07 07:22:32 -07:00
sleep.S ARM: pm: pxa: move cpu_suspend into C code 2011-06-24 08:48:45 +01:00
smemc.c ARM / PXA: Use struct syscore_ops for "core" power management 2011-04-24 19:16:09 +02:00
spitz.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
spitz_pm.c ARM: pxa/spitz_pm: Fix hang when resuming from STR 2012-10-28 07:53:45 +08:00
standby.S
stargate2.c ARM: soc: multiplatform enablement 2012-10-01 19:11:38 -07:00
tavorevb.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
time.c ARM: sa11x0/pxa: convert OS timer registers to IOMEM 2012-07-09 17:37:35 +01:00
tosa-bt.c
tosa.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
trizeps4.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
viper.c Merge branch 'late/fixes' into fixes 2012-10-07 07:22:32 -07:00
vpac270.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
xcep.c ARM: pxa: remove NR_IRQS 2012-01-25 20:37:49 -06:00
z2.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
zeus.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
zylonite.c ARM: pxa: move platform_data definitions 2012-09-14 11:18:10 +02:00
zylonite_pxa300.c ARM: pxa: rename IRQ_GPIO to PXA_GPIO_TO_IRQ 2011-11-14 21:07:58 +08:00
zylonite_pxa320.c