vt8623fb.c (0ea5c948cb64bab5bc7a5516774eb8536f05aa0d) | vt8623fb.c (152609795dbf02f004c86049b75c23f4e68071d8) |
---|---|
1/* 2 * linux/drivers/video/vt8623fb.c - fbdev driver for 3 * integrated graphic core in VIA VT8623 [CLE266] chipset 4 * 5 * Copyright (c) 2006-2007 Ondrej Zajicek <santiago@crfreenet.org> 6 * 7 * This file is subject to the terms and conditions of the GNU General Public 8 * License. See the file COPYING in the main directory of this archive for --- 376 unchanged lines hidden (view full) --- 385 if (bpp != 0) { 386 info->fix.ypanstep = 1; 387 info->fix.line_length = (info->var.xres_virtual * bpp) / 8; 388 389 info->flags &= ~FBINFO_MISC_TILEBLITTING; 390 info->tileops = NULL; 391 392 /* in 4bpp supports 8p wide tiles only, any tiles otherwise */ | 1/* 2 * linux/drivers/video/vt8623fb.c - fbdev driver for 3 * integrated graphic core in VIA VT8623 [CLE266] chipset 4 * 5 * Copyright (c) 2006-2007 Ondrej Zajicek <santiago@crfreenet.org> 6 * 7 * This file is subject to the terms and conditions of the GNU General Public 8 * License. See the file COPYING in the main directory of this archive for --- 376 unchanged lines hidden (view full) --- 385 if (bpp != 0) { 386 info->fix.ypanstep = 1; 387 info->fix.line_length = (info->var.xres_virtual * bpp) / 8; 388 389 info->flags &= ~FBINFO_MISC_TILEBLITTING; 390 info->tileops = NULL; 391 392 /* in 4bpp supports 8p wide tiles only, any tiles otherwise */ |
393 info->pixmap.blit_x = (bpp == 4) ? (1 << (8 - 1)) : (~(u32)0); 394 info->pixmap.blit_y = ~(u32)0; | 393 if (bpp == 4) { 394 bitmap_zero(info->pixmap.blit_x, FB_MAX_BLIT_WIDTH); 395 set_bit(8 - 1, info->pixmap.blit_x); 396 } else { 397 bitmap_fill(info->pixmap.blit_x, FB_MAX_BLIT_WIDTH); 398 } 399 bitmap_fill(info->pixmap.blit_y, FB_MAX_BLIT_HEIGHT); |
395 396 offset_value = (info->var.xres_virtual * bpp) / 64; 397 fetch_value = ((info->var.xres * bpp) / 128) + 4; 398 399 if (bpp == 4) 400 fetch_value = (info->var.xres / 8) + 8; /* + 0 is OK */ 401 402 screen_size = info->var.yres_virtual * info->fix.line_length; 403 } else { 404 info->fix.ypanstep = 16; 405 info->fix.line_length = 0; 406 407 info->flags |= FBINFO_MISC_TILEBLITTING; 408 info->tileops = &vt8623fb_tile_ops; 409 410 /* supports 8x16 tiles only */ | 400 401 offset_value = (info->var.xres_virtual * bpp) / 64; 402 fetch_value = ((info->var.xres * bpp) / 128) + 4; 403 404 if (bpp == 4) 405 fetch_value = (info->var.xres / 8) + 8; /* + 0 is OK */ 406 407 screen_size = info->var.yres_virtual * info->fix.line_length; 408 } else { 409 info->fix.ypanstep = 16; 410 info->fix.line_length = 0; 411 412 info->flags |= FBINFO_MISC_TILEBLITTING; 413 info->tileops = &vt8623fb_tile_ops; 414 415 /* supports 8x16 tiles only */ |
411 info->pixmap.blit_x = 1 << (8 - 1); 412 info->pixmap.blit_y = 1 << (16 - 1); | 416 bitmap_zero(info->pixmap.blit_x, FB_MAX_BLIT_WIDTH); 417 set_bit(8 - 1, info->pixmap.blit_x); 418 bitmap_zero(info->pixmap.blit_y, FB_MAX_BLIT_HEIGHT); 419 set_bit(16 - 1, info->pixmap.blit_y); |
413 414 offset_value = info->var.xres_virtual / 16; 415 fetch_value = (info->var.xres / 8) + 8; 416 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64; 417 } 418 419 info->var.xoffset = 0; 420 info->var.yoffset = 0; --- 527 unchanged lines hidden --- | 420 421 offset_value = info->var.xres_virtual / 16; 422 fetch_value = (info->var.xres / 8) + 8; 423 screen_size = (info->var.xres_virtual * info->var.yres_virtual) / 64; 424 } 425 426 info->var.xoffset = 0; 427 info->var.yoffset = 0; --- 527 unchanged lines hidden --- |