summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-16 15:57:12 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-09-16 17:03:13 +0100
commitbb0cc3cfa69ce02a25e5b7b22df0e5554f6592fb (patch)
treef3f0452742e494a9d3a0442b766e5351a3abc7ae /meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch
parentce2b383d045db5bbdbccdce2d9d1eae8b0d061a1 (diff)
downloadpoky-bb0cc3cfa69ce02a25e5b7b22df0e5554f6592fb.tar.gz
qemu: Fix reversed BGR values on ARM Versatile emulation
[YOCTO #1469] (From OE-Core rev: d06781eab16881d2206a3306c66a0c4c1e178dde) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch')
-rw-r--r--meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch30
1 files changed, 30 insertions, 0 deletions
diff --git a/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch b/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch
new file mode 100644
index 0000000000..3b460d04ce
--- /dev/null
+++ b/meta/recipes-devtools/qemu/qemu-0.14.0/arm-bgr.patch
@@ -0,0 +1,30 @@
1After kernel commit:
2
3http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/commit/?h=meta&id=9728c1b6a724daefc413b44e10253cdbb5e06d08
4
5It appears that the emulated colours in qemu are incorrect and that
6the red and blue channels are reversed. This patch reverses that logic
7so the colours are correctly displayed on the versatile platform which
8doesn't support the BGR bit.
9
10RP 16/9/2011
11
12Upstream-status: Pending
13
14Index: qemu-0.14.0/hw/pl110.c
15===================================================================
16--- qemu-0.14.0.orig/hw/pl110.c 2011-09-16 14:45:34.228668514 +0100
17+++ qemu-0.14.0/hw/pl110.c 2011-09-16 15:17:22.458671206 +0100
18@@ -141,7 +141,11 @@
19 fprintf(stderr, "pl110: Bad color depth\n");
20 exit(1);
21 }
22- if (s->cr & PL110_CR_BGR)
23+
24+ if (s->versatile && s->bpp == BPP_16)
25+ /* Code assumes BPP_16 == 565 and BGR is never set on the versatile in 565 mode */
26+ bpp_offset = 0;
27+ else if (s->cr & PL110_CR_BGR)
28 bpp_offset = 0;
29 else
30 bpp_offset = 18;