31 lines
1.0 KiB
Diff
31 lines
1.0 KiB
Diff
|
After kernel commit:
|
||
|
|
||
|
http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08
|
||
|
|
||
|
It appears that the emulated colours in qemu are incorrect and that
|
||
|
the red and blue channels are reversed. This patch reverses that logic
|
||
|
so the colours are correctly displayed on the versatile platform which
|
||
|
doesn't support the BGR bit.
|
||
|
|
||
|
RP 16/9/2011
|
||
|
|
||
|
Upstream-Status: Pending
|
||
|
|
||
|
Index: qemu-0.14.0/hw/pl110.c
|
||
|
===================================================================
|
||
|
--- qemu-0.14.0.orig/hw/pl110.c 2011-09-16 14:45:34.228668514 +0100
|
||
|
+++ qemu-0.14.0/hw/pl110.c 2011-09-16 15:17:22.458671206 +0100
|
||
|
@@ -141,7 +141,11 @@
|
||
|
fprintf(stderr, "pl110: Bad color depth\n");
|
||
|
exit(1);
|
||
|
}
|
||
|
- if (s->cr & PL110_CR_BGR)
|
||
|
+
|
||
|
+ if (s->versatile && s->bpp == BPP_16)
|
||
|
+ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */
|
||
|
+ bpp_offset = 0;
|
||
|
+ else if (s->cr & PL110_CR_BGR)
|
||
|
bpp_offset = 0;
|
||
|
else
|
||
|
bpp_offset = 18;
|