eric.y.miao at gmail.com
Tue Dec 28 23:51:23 EST 2010
On Tue, Dec 14, 2010 at 11:08 PM, Matt Reimer <mreimer at sdgsystems.com> wrote:
> On Wed, Dec 8, 2010 at 9:02 AM, Russell King - ARM Linux
> <linux at arm.linux.org.uk> wrote:
>> On Tue, Dec 07, 2010 at 12:26:45PM -0500, Aric D. Blumer wrote:
>>> Matt Reimer and I believe we have found what is going on here. I've put
>>> in a fix (no failures yet), but I wanted to bounce it off anyone interested.
>>> The PXA platform does not use the "bad pmd" mapping that Russell
>>> describes above under normal circumstances, but the PXA resume code
>>> (arch/arm/mach-pxa/sleep.S) does on resume:
>> Good find.
>>> I'm using the patch below as a fix for now, but it's hard to know what
>>> registers are available. Might be better to just mask it off the lower
>>> bits in r1 again.
>>> @ Let us ensure we jump to resume_after_mmu only when the mcr above
>>> @ actually took effect. They call it the "cpwait" operation.
>>> - mrc p15, 0, r1, c2, c0, 0 @ queue a dependency on CP15
>>> - sub pc, r2, r1, lsr #32 @ jump to virtual addr
>>> + mrc p15, 0, r0, c2, c0, 0 @ queue a dependency on CP15
>>> + sub pc, r2, r0, lsr #32 @ jump to virtual addr
>> I don't see anything wrong with this. Any PXA people want to ack this?
Acked-by: Eric Miao <eric.y.miao at gmail.com>
> This patch fixes the problem for us. We have yet to see a failure with
> this patch applied.
> Eric, do you concur that this is a proper fix?
This patch is good. Thanks for figuring this out. My bad replying so
Still time for this fix to get into .37?
More information about the linux-arm-kernel