[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.019 / U:9.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site