lkml.org 
[lkml]   [2004]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    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 =
    background)
    * @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)
    *
    * DESCRIPTiON:
    * 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.
    *
    * CALLED FROM:
    * 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);
    reverse_order(&b);


    -ryan
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 14:03    [W:0.021 / U:1.308 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site