ALSA: pxa27x: fix ac97 cold reset
authorMike Dunn <mikedunn@newsguy.com>
Mon, 7 Jan 2013 21:55:12 +0000 (13:55 -0800)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 8 Jan 2013 11:27:27 +0000 (11:27 +0000)
commit41b645c8624df6ace020a8863ad1449d69140f7d
tree701bedcdd8922cf72ecac2e4029374c306f7bcdd
parentd1c3ed669a2d452cacfb48c2d171a1f364dae2ed
ALSA: pxa27x: fix ac97 cold reset

Cold reset on the pxa27x currently fails and

     pxa2xx_ac97_try_cold_reset: cold reset timeout (GSR=0x44)

appears in the kernel log.  Through trial-and-error (the pxa270 developer's
manual is mostly incoherent on the topic of ac97 reset), I got cold reset to
complete by setting the WARM_RST bit in the GCR register (and later noticed that
pxa3xx does this for cold reset as well).  Also, a timeout loop is needed to
wait for the reset to complete.

Tested on a palm treo 680 machine.

Signed-off-by: Mike Dunn <mikedunn@newsguy.com>
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@vger.kernel.org
sound/arm/pxa2xx-ac97-lib.c