[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!

Mike


More information about the Alsa-devel mailing list