[alsa-devel] [PATCH] ALSA: pxa2xx: fix ac97 cold reset for pxa27x

Robert Jarzmik robert.jarzmik at free.fr
Sun Dec 30 14:12:43 CET 2012

Mike Dunn <mikedunn at newsguy.com> writes:

> On 12/28/2012 10:22 AM, Robert Jarzmik wrote:
>> Mike Dunn <mikedunn at newsguy.com> writes:
>>> Currently, ac97 reset is broken on PXA27x.  Through trial-and-error (the pxa270
>>> developer's manual is mostly incoherent on the topic of ac97 reset), I fixed it
>>> by setting the WARM_RST bit in the GCR register at the end of the cold reset,
>>> and then skipping the warm reset if the link is already up and running.
>>> It appears that setting the WARM_RST bit is a necessary final step during cold
>>> reset.  I think that the PXA25x and PXA3xx may currently be working correctly
>>> because WARM_RST is set within the warm reset routine, and the codec drivers
>>> always follow a cold reset with a warm reset during their initialization. so
>>> this combination effectively completes a cold reset.  This doesn't work on the
>>> PXA27x because its warm reset routine contains additional code for working
>>> around a hardware bug in the warm reset sequence, which causes the reset
>>> sequence to fail.  I only have a PXA27x platform for testing, so this patch only
>>> affects the PXA27x.
>> If you've tested that and if it work, that's great news. I'll test it also to
>> crosscheck.
> Thanks.  I'd really appreciate that.  Yes, it works for me.

Ok, I tested it, through a suspend/resume cycle with a music played, and it
works, and the patch looks correct to me. So :

Tested-by: Robert Jarzmik <robert.jarzmik at free.fr>
Reviewed-by: Robert Jarzmik <robert.jarzmik at free.fr>



More information about the Alsa-devel mailing list