aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/atafb.c
diff options
context:
space:
mode:
authorGeert Uytterhoeven <geert@linux-m68k.org>2008-12-21 09:48:12 -0500
committerGeert Uytterhoeven <geert@linux-m68k.org>2009-01-12 14:56:31 -0500
commit96f47d6105203ab06c2004e26979dea153bce073 (patch)
tree39dce6e593746e55084a4b1c65cf66f66932a07c /drivers/video/atafb.c
parent2cd1de0a0ff1d3da08ff1f1437cf4a44deae6a00 (diff)
fbdev: c2p/atafb - Add support for Atari interleaved bitplanes
The c2p() for normal bitplanes is not suitable for interleaved bitplanes with 2 bytes of interleave, causing a garbled penguin logo. Add c2p_iplan2(). Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'drivers/video/atafb.c')
-rw-r--r--drivers/video/atafb.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/video/atafb.c b/drivers/video/atafb.c
index f932c138fe1d..477ce55bbae9 100644
--- a/drivers/video/atafb.c
+++ b/drivers/video/atafb.c
@@ -122,7 +122,6 @@ static struct atafb_par {
122 void *screen_base; 122 void *screen_base;
123 int yres_virtual; 123 int yres_virtual;
124 u_long next_line; 124 u_long next_line;
125 u_long next_plane;
126#if defined ATAFB_TT || defined ATAFB_STE 125#if defined ATAFB_TT || defined ATAFB_STE
127 union { 126 union {
128 struct { 127 struct {
@@ -1392,14 +1391,7 @@ set_screen_base:
1392 par->screen_base = screen_base + var->yoffset * linelen; 1391 par->screen_base = screen_base + var->yoffset * linelen;
1393 par->hw.falcon.xoffset = 0; 1392 par->hw.falcon.xoffset = 0;
1394 1393
1395 // FIXME!!! sort of works, no crash
1396 //par->next_line = linelen;
1397 //par->next_plane = yres_virtual * linelen;
1398 par->next_line = linelen; 1394 par->next_line = linelen;
1399 par->next_plane = 2;
1400 // crashes
1401 //par->next_plane = linelen;
1402 //par->next_line = yres_virtual * linelen;
1403 1395
1404 return 0; 1396 return 0;
1405} 1397}
@@ -2662,10 +2654,9 @@ static void atafb_imageblit(struct fb_info *info, const struct fb_image *image)
2662 src += pitch; 2654 src += pitch;
2663 } 2655 }
2664 } else { 2656 } else {
2665 // only used for logo; broken 2657 c2p_iplan2(info->screen_base, image->data, dx, dy, width,
2666 c2p(info->screen_base, image->data, dx, dy, width, height, 2658 height, par->next_line, image->width,
2667 par->next_line, par->next_plane, image->width, 2659 info->var.bits_per_pixel);
2668 info->var.bits_per_pixel);
2669 } 2660 }
2670} 2661}
2671 2662