[alsa-devel] [PATCH] ALSA: pxa2xx: fix ac97 cold reset for pxa27x
Mike Dunn
mikedunn at newsguy.com
Sat Dec 29 03:26:26 CET 2012
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.
>
> Hi Mike,
>
> I'm glad you take over that burden too :)
No one else wants to work on this ancient hardware. It's all Kirkwood this and
Omap that :) Want to get the kernel fully functional on this old but still
widely available device.
> 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.
>
> This topic was discussed several years ago here :
> http://www.spinics.net/lists/alsa-devel/msg12327.html
>
> I think Mark has a much better view on the silicon defect, he will be of much
> more help than me.
Thanks for the pointer. I should have done some searches on this myself. I
would have if I was hitting a wall, but I chanced upon the solution pretty quickly.
Mike
More information about the Alsa-devel
mailing list