[PATCH] ARM: PXA: Make PXA27x/PXA3xx overlay actually work
Eric Miao
eric.y.miao at gmail.com
Tue Feb 15 06:51:06 EST 2011
>> > lcd_writel(fbi, FDADR0, fbi->fdadr[0]);
>> > - lcd_writel(fbi, FDADR1, fbi->fdadr[1]);
>> > + if (fbi->lccr0 & LCCR0_SDS)
>> > + lcd_writel(fbi, FDADR1, fbi->fdadr[1]);
>>
>> My original intention was to simplify the code a bit by ignoring
>> LCCR0_SDS, as FDADR1 would not take effect if not enabled even
>> if it's being read/written.
>
> It leads to potential race condition when you try to reconfigure main plane
> and overlay1 simultaneously.
>
You are right on this.
>> > +#ifdef CONFIG_FB_PXA_OVERLAY
>> > + if (cpu_is_pxa27x())
>> > + fbi->lccr0 |= LCCR0_OUC;
>> > +#endif
>> > +
>>
>> I seem to remember LCCR0_OUC is still valid on pxa3xx, did you
>> do some test on pxa3xx as well?
>
> Sorry, I have no any pxa3xx boards.
That's all right, I can give it a test later. The point is, why
did you move the code here from pxafb_overlay_init()?
More information about the linux-arm-kernel
mailing list