linux/debian/patches/bugfix/m68k/2.6.27/atafb-line_length.diff

70 lines
2.0 KiB
Diff

---
drivers/video/atafb.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
--- a/drivers/video/atafb.c
+++ b/drivers/video/atafb.c
@@ -614,7 +614,7 @@ static int tt_encode_fix(struct fb_fix_s
fix->xpanstep = 0;
fix->ypanstep = 1;
fix->ywrapstep = 0;
- fix->line_length = 0;
+ fix->line_length = par->next_line;
fix->accel = FB_ACCEL_ATARIBLITT;
return 0;
}
@@ -917,8 +917,10 @@ static int falcon_encode_fix(struct fb_f
/* Is this ok or should it be DIRECTCOLOR? */
fix->visual = FB_VISUAL_TRUECOLOR;
fix->xpanstep = 2;
+ /* FIXME: cfb driver needs line_length */
+ fix->line_length = (par->hw.falcon.line_width + par->hw.falcon.line_offset) * par->hw.falcon.bpp / 8;
+ printk(KERN_INFO "atafb: falcon_encode_fix -- line_length = %d\n", fix->line_length);
}
- fix->line_length = 0;
fix->accel = FB_ACCEL_ATARIBLITT;
return 0;
}
@@ -1852,7 +1854,7 @@ static int stste_encode_fix(struct fb_fi
fix->ypanstep = 0;
}
fix->ywrapstep = 0;
- fix->line_length = 0;
+ fix->line_length = par->next_line;
fix->accel = FB_ACCEL_ATARIBLITT;
return 0;
}
@@ -2169,7 +2171,7 @@ static int ext_encode_fix(struct fb_fix_
fix->xpanstep = 0;
fix->ypanstep = 0;
fix->ywrapstep = 0;
- fix->line_length = 0;
+ fix->line_length = par->next_line;
return 0;
}
@@ -2551,6 +2553,7 @@ static void atafb_fillrect(struct fb_inf
#ifdef ATAFB_FALCON
if (info->var.bits_per_pixel == 16) {
+printk("fix->line_length = %u, cfb_fillrect\n", info->fix.line_length);
cfb_fillrect(info, rect);
return;
}
@@ -2592,6 +2595,7 @@ static void atafb_copyarea(struct fb_inf
#ifdef ATAFB_FALCON
if (info->var.bits_per_pixel == 16) {
+printk("fix->line_length = %u, cfb_copyarea\n", info->fix.line_length);
cfb_copyarea(info, area);
return;
}
@@ -2648,6 +2652,7 @@ static void atafb_imageblit(struct fb_in
#ifdef ATAFB_FALCON
if (info->var.bits_per_pixel == 16) {
+printk("fix->line_length = %u, cfb_imageblit\n", info->fix.line_length);
cfb_imageblit(info, image);
return;
}