Skip to content

Commit

Permalink
Revert "offb: Add palette hack for little endian"
Browse files Browse the repository at this point in the history
This reverts commit e1edf18.

This patch was a misguided attempt at fixing offb for LE ppc64
kernels on BE qemu but is just wrong ... it breaks real LE/LE
setups, LE with real HW, and existing mixed endian systems
that did the fight thing with the appropriate device-tree
property. Bad reviewing on my part, sorry.

The right fix is to either make qemu change its endian when
the guest changes endian (working on that) or to use the
existing foreign endian support.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
CC: <stable@vger.kernel.org> [v3.13+]
---
  • Loading branch information
Benjamin Herrenschmidt committed Jun 16, 2014
1 parent 7171511 commit 68986c9
Showing 1 changed file with 1 addition and 10 deletions.
11 changes: 1 addition & 10 deletions drivers/video/fbdev/offb.c
Original file line number Diff line number Diff line change
Expand Up @@ -91,15 +91,6 @@ extern boot_infos_t *boot_infos;
#define AVIVO_DC_LUTB_WHITE_OFFSET_GREEN 0x6cd4
#define AVIVO_DC_LUTB_WHITE_OFFSET_RED 0x6cd8

#define FB_RIGHT_POS(p, bpp) (fb_be_math(p) ? 0 : (32 - (bpp)))

static inline u32 offb_cmap_byteswap(struct fb_info *info, u32 value)
{
u32 bpp = info->var.bits_per_pixel;

return cpu_to_be32(value) >> FB_RIGHT_POS(info, bpp);
}

/*
* Set a single color register. The values supplied are already
* rounded down to the hardware's capabilities (according to the
Expand Down Expand Up @@ -129,7 +120,7 @@ static int offb_setcolreg(u_int regno, u_int red, u_int green, u_int blue,
mask <<= info->var.transp.offset;
value |= mask;
}
pal[regno] = offb_cmap_byteswap(info, value);
pal[regno] = value;
return 0;
}

Expand Down

0 comments on commit 68986c9

Please sign in to comment.