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

Mike Dunn mikedunn at newsguy.com
Mon Dec 31 02:14:48 CET 2012

On 12/30/2012 05:12 AM, Robert Jarzmik wrote:
> 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>

Great!  Many thanks Robert!


More information about the Alsa-devel mailing list