mirror of
https://github.com/torvalds/linux.git
synced 2024-10-31 17:21:49 +00:00
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:
parent
18dffdf891
commit
1572f91cff
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user