[lkml]   [2004]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectdrivers/video/riva/fbdev.c broken on x86_64
The following snippet is from drivers/video/riva/fbdev.c  I'm put arrows 
on the lines I think break cursor loading. It does segfault, but boy
does the cursor look weird. The code in this function is so confusing,
I have no idea what was going on or how to fix it:

* rivafb_load_cursor_image - load cursor image to hardware
* @data: address to monochrome bitmap (1 = foreground color, 0 =
* @par: pointer to private data
* @w: width of cursor image in pixels
* @h: height of cursor image in scanlines
* @bg: background color (ARGB1555) - alpha bit determines opacity
* @fg: foreground color (ARGB1555)
* Loads cursor image based on a monochrome source and mask bitmap. The
* image bits determines the color of the pixel, 0 for background, 1 for
* foreground. Only the affected region (as determined by @w and @h
* parameters) will be updated.
* rivafb_cursor()
static void rivafb_load_cursor_image(struct riva_par *par, u8 *data,
u8 *mask, u16 bg, u16 fg, u32 w, u32 h)
int i, j, k = 0;
u32 b, m, tmp;

for (i = 0; i < h; i++) {
-> b = *((u32 *)data);
b = (u32)((u32 *)b + 1);
-> m = *((u32 *)mask);
m = (u32)((u32 *)m + 1);

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:03    [W:0.058 / U:0.744 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site