Skip to content

Commit

Permalink
staging: udlfb: fix big endian rendering error
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bernie Thompson authored and Greg Kroah-Hartman committed Sep 5, 2010
1 parent 18dffdf commit 1572f91
Showing 1 changed file with 3 additions and 4 deletions.
7 changes: 3 additions & 4 deletions drivers/staging/udlfb/udlfb.c
Original file line number Diff line number Diff line change
Expand Up @@ -414,15 +414,14 @@ static void dlfb_compress_hline(
uint8_t *cmd_pixels_count_byte = 0;
const uint16_t *raw_pixel_start = 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 */

*cmd++ = 0xAF;
*cmd++ = 0x6B;
*cmd++ = (uint8_t) ((be_dev_addr >> 8) & 0xFF);
*cmd++ = (uint8_t) ((be_dev_addr >> 16) & 0xFF);
*cmd++ = (uint8_t) ((be_dev_addr >> 24) & 0xFF);
*cmd++ = (uint8_t) ((dev_addr >> 16) & 0xFF);
*cmd++ = (uint8_t) ((dev_addr >> 8) & 0xFF);
*cmd++ = (uint8_t) ((dev_addr) & 0xFF);

cmd_pixels_count_byte = cmd++; /* we'll know this later */
cmd_pixel_start = pixel;
Expand Down

0 comments on commit 1572f91

Please sign in to comment.