staging: udlfb: fix big endian rendering error

Fix big endian rendering bug (affects PowerPC)

Thanks to Christian Melki at Ericsson for finding and suggesting patch.

Signed-off-by: Bernie Thompson <bernie@plugable.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Bernie Thompson 2010-09-05 16:35:27 -07:00 committed by Greg Kroah-Hartman
parent 18dffdf891
commit 1572f91cff

View File

@ -414,15 +414,14 @@ static void dlfb_compress_hline(
uint8_t *cmd_pixels_count_byte = 0; uint8_t *cmd_pixels_count_byte = 0;
const uint16_t *raw_pixel_start = 0; const uint16_t *raw_pixel_start = 0;
const uint16_t *cmd_pixel_start, *cmd_pixel_end = 0; const uint16_t *cmd_pixel_start, *cmd_pixel_end = 0;
const uint32_t be_dev_addr = cpu_to_be32(dev_addr);
prefetchw((void *) cmd); /* pull in one cache line at least */ prefetchw((void *) cmd); /* pull in one cache line at least */
*cmd++ = 0xAF; *cmd++ = 0xAF;
*cmd++ = 0x6B; *cmd++ = 0x6B;
*cmd++ = (uint8_t) ((be_dev_addr >> 8) & 0xFF); *cmd++ = (uint8_t) ((dev_addr >> 16) & 0xFF);
*cmd++ = (uint8_t) ((be_dev_addr >> 16) & 0xFF); *cmd++ = (uint8_t) ((dev_addr >> 8) & 0xFF);
*cmd++ = (uint8_t) ((be_dev_addr >> 24) & 0xFF); *cmd++ = (uint8_t) ((dev_addr) & 0xFF);
cmd_pixels_count_byte = cmd++; /* we'll know this later */ cmd_pixels_count_byte = cmd++; /* we'll know this later */
cmd_pixel_start = pixel; cmd_pixel_start = pixel;