diff options
author | Geert Uytterhoeven <geert@linux-m68k.org> | 2008-12-21 09:48:12 -0500 |
---|---|---|
committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2009-01-12 14:56:31 -0500 |
commit | 96f47d6105203ab06c2004e26979dea153bce073 (patch) | |
tree | 39dce6e593746e55084a4b1c65cf66f66932a07c /drivers/video/atafb.c | |
parent | 2cd1de0a0ff1d3da08ff1f1437cf4a44deae6a00 (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.c | 15 |
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 | ||