savagefb: X-panning fixes
PATCH 1/7 savagefb: X-panning fixes
The driver unconditionally sets xpanstep to 2. However, a value of 4 empirically works better at bpp = 8, and 2 for 16 and 32. This buglet was exposed by the rotation code.
Second fix is the unconditional call to update_start() without verifying if the offsets are correct. Remove this call, it's not necessary and secondly, it causes a crash with invalid values.
Signed-off-by Antonino Daplas <[email protected]>
--- savagefb_driver.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-)
drivers/video/savage/savagefb_driver.c +6 -4
@@ -1315,10 +1315,14 @@ static void savagefb_set_fix(struct fb_i info->fix.line_length = info->var.xres_virtual * info->var.bits_per_pixel /8 ; -if (info->var.bits_per_pixel ==8 ) +if (info->var.bits_per_pixel ==8 ) { info->fix.visual =FB_VISUAL_PSEUDOCOLOR ; -else + info->fix.xpanstep =4 ; + }else { info->fix.visual =FB_VISUAL_TRUECOLOR ; + info->fix.xpanstep =2 ; + } + }#if defined(CONFIG_FB_SAVAGE_ACCEL )
@@ -1363,7 +1367,6 @@ static int savagefb_set_par (struct fb_i par->minClock =10000 ;savagefb_set_par_int (par); -savagefb_update_start (par, var);fb_set_cmap (&info->cmap, info);savagefb_set_fix (info);savagefb_set_clip (info);
@@ -1873,7 +1876,6 @@ static int __devinit savage_init_fb_info info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.type_aux =0 ; - info->fix.xpanstep =2 ; info->fix.ypanstep =1 ; info->fix.ywrapstep =0 ; info->fix.accel = id->driver_data;
-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php