s3fb.c (2e21dee6a46a66e4c2ced778485e1044101edee4) s3fb.c (152609795dbf02f004c86049b75c23f4e68071d8)
1/*
2 * linux/drivers/video/s3fb.c -- Frame buffer device driver for S3 Trio/Virge
3 *
4 * Copyright (c) 2006-2007 Ondrej Zajicek <santiago@crfreenet.org>
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
8 * more details.

--- 603 unchanged lines hidden (view full) ---

612 if (bpp != 0) {
613 info->fix.ypanstep = 1;
614 info->fix.line_length = (info->var.xres_virtual * bpp) / 8;
615
616 info->flags &= ~FBINFO_MISC_TILEBLITTING;
617 info->tileops = NULL;
618
619 /* in 4bpp supports 8p wide tiles only, any tiles otherwise */
1/*
2 * linux/drivers/video/s3fb.c -- Frame buffer device driver for S3 Trio/Virge
3 *
4 * Copyright (c) 2006-2007 Ondrej Zajicek <santiago@crfreenet.org>
5 *
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file COPYING in the main directory of this archive for
8 * more details.

--- 603 unchanged lines hidden (view full) ---

612 if (bpp != 0) {
613 info->fix.ypanstep = 1;
614 info->fix.line_length = (info->var.xres_virtual * bpp) / 8;
615
616 info->flags &= ~FBINFO_MISC_TILEBLITTING;
617 info->tileops = NULL;
618
619 /* in 4bpp supports 8p wide tiles only, any tiles otherwise */
620 info->pixmap.blit_x = (bpp == 4) ? (1 << (8 - 1)) : (~(u32)0);
621 info->pixmap.blit_y = ~(u32)0;
620 if (bpp == 4) {
621 bitmap_zero(info->pixmap.blit_x, FB_MAX_BLIT_WIDTH);
622 set_bit(8 - 1, info->pixmap.blit_x);
623 } else {
624 bitmap_fill(info->pixmap.blit_x, FB_MAX_BLIT_WIDTH);
625 }
626 bitmap_fill(info->pixmap.blit_y, FB_MAX_BLIT_HEIGHT);
622
623 offset_value = (info->var.xres_virtual * bpp) / 64;
624 screen_size = info->var.yres_virtual * info->fix.line_length;
625 } else {
626 info->fix.ypanstep = 16;
627 info->fix.line_length = 0;
628
629 info->flags |= FBINFO_MISC_TILEBLITTING;
630 info->tileops = fasttext ? &s3fb_fast_tile_ops : &s3fb_tile_ops;
631
632 /* supports 8x16 tiles only */
627
628 offset_value = (info->var.xres_virtual * bpp) / 64;
629 screen_size = info->var.yres_virtual * info->fix.line_length;
630 } else {
631 info->fix.ypanstep = 16;
632 info->fix.line_length = 0;
633
634 info->flags |= FBINFO_MISC_TILEBLITTING;
635 info->tileops = fasttext ? &s3fb_fast_tile_ops : &s3fb_tile_ops;
636
637 /* supports 8x16 tiles only */
633 info->pixmap.blit_x = 1 << (8 - 1);
634 info->pixmap.blit_y = 1 << (16 - 1);
638 bitmap_zero(info->pixmap.blit_x, FB_MAX_BLIT_WIDTH);
639 set_bit(8 - 1, info->pixmap.blit_x);
640 bitmap_zero(info->pixmap.blit_y, FB_MAX_BLIT_HEIGHT);
641 set_bit(16 - 1, info->pixmap.blit_y);
635
636 offset_value = info->var.xres_virtual / 16;
637 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64;
638 }
639
640 info->var.xoffset = 0;
641 info->var.yoffset = 0;
642 info->var.activate = FB_ACTIVATE_NOW;

--- 940 unchanged lines hidden ---
642
643 offset_value = info->var.xres_virtual / 16;
644 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64;
645 }
646
647 info->var.xoffset = 0;
648 info->var.yoffset = 0;
649 info->var.activate = FB_ACTIVATE_NOW;

--- 940 unchanged lines hidden ---