On Mon, Sep 29, 2014 at 11:31:04AM +0200, Gerd Hoffmann wrote: > From: Benjamin Herrenschmidt <b...@kernel.crashing.org> > > Provide different functions for converting from an LE vs a BE > framebuffer. We cannot rely on the simple cases always being > shared surfaces since cirrus will need to always shadow for > cursor emulation, so we need the full set of functions to > be able to later handle runtime switching. > > Signed-off-by: Benjamin Herrenschmidt <b...@kernel.crashing.org>\ > Signed-off-by: Gerd Hoffmann <kra...@redhat.com>
[snip] > @@ -1572,19 +1585,19 @@ static void vga_draw_graphic(VGACommonState *s, int > full_update) > bits = 8; > break; > case 15: > - v = VGA_DRAW_LINE15; > + v = big_endian_fb ? VGA_DRAW_LINE15_BE : VGA_DRAW_LINE15_LE; > bits = 16; > break; > case 16: > - v = VGA_DRAW_LINE16; > + v = big_endian_fb ? VGA_DRAW_LINE16_BE : VGA_DRAW_LINE16_LE; > bits = 16; > break; So, v1 changed both of these cases to bits = 15, which looked wrong for case 16. v2 changes neither, which looks wrong for case 15. Or is there a reason it should be 16 for case 15? -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
pgpHB7m1hFohW.pgp
Description: PGP signature