Lines Matching refs:info
70 struct fb_info *info) in vmw_fb_setcolreg() argument
72 struct vmw_fb_par *par = info->par; in vmw_fb_setcolreg()
96 struct fb_info *info) in vmw_fb_check_var() argument
99 struct vmw_fb_par *par = info->par; in vmw_fb_check_var()
159 static int vmw_fb_set_par(struct fb_info *info) in vmw_fb_set_par() argument
161 struct vmw_fb_par *par = info->par; in vmw_fb_set_par()
165 info->fix.line_length = info->var.xres * info->var.bits_per_pixel/8; in vmw_fb_set_par()
167 ret = vmw_kms_write_svga(vmw_priv, info->var.xres, info->var.yres, in vmw_fb_set_par()
168 info->fix.line_length, in vmw_fb_set_par()
178 vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_X, info->var.xoffset); in vmw_fb_set_par()
179 vmw_write(vmw_priv, SVGA_REG_DISPLAY_POSITION_Y, info->var.yoffset); in vmw_fb_set_par()
180 vmw_write(vmw_priv, SVGA_REG_DISPLAY_WIDTH, info->var.xres); in vmw_fb_set_par()
181 vmw_write(vmw_priv, SVGA_REG_DISPLAY_HEIGHT, info->var.yres); in vmw_fb_set_par()
194 struct fb_info *info) in vmw_fb_pan_display() argument
199 static int vmw_fb_blank(int blank, struct fb_info *info) in vmw_fb_blank() argument
211 struct fb_info *info = vmw_priv->fb_info; in vmw_fb_dirty_flush() local
212 int stride = (info->fix.line_length / 4); in vmw_fb_dirty_flush()
213 int *src = (int *)info->screen_base; in vmw_fb_dirty_flush()
233 w = min(par->dirty.x2, info->var.xres) - x; in vmw_fb_dirty_flush()
234 h = min(par->dirty.y2, info->var.yres) - y; in vmw_fb_dirty_flush()
239 for (i = y * stride; i < info->fix.smem_len / 4; i += stride) { in vmw_fb_dirty_flush()
240 for (k = i+x; k < i+x+w && k < info->fix.smem_len / 4; k++) in vmw_fb_dirty_flush()
266 struct fb_info *info = par->vmw_priv->fb_info; in vmw_fb_dirty_mark() local
280 schedule_delayed_work(&info->deferred_work, VMW_DIRTY_DELAY); in vmw_fb_dirty_mark()
294 static void vmw_deferred_io(struct fb_info *info, in vmw_deferred_io() argument
297 struct vmw_fb_par *par = info->par; in vmw_deferred_io()
313 y1 = min / info->fix.line_length; in vmw_deferred_io()
314 y2 = (max / info->fix.line_length) + 1; in vmw_deferred_io()
319 par->dirty.x2 = info->var.xres; in vmw_deferred_io()
336 static void vmw_fb_fillrect(struct fb_info *info, const struct fb_fillrect *rect) in vmw_fb_fillrect() argument
338 cfb_fillrect(info, rect); in vmw_fb_fillrect()
339 vmw_fb_dirty_mark(info->par, rect->dx, rect->dy, in vmw_fb_fillrect()
343 static void vmw_fb_copyarea(struct fb_info *info, const struct fb_copyarea *region) in vmw_fb_copyarea() argument
345 cfb_copyarea(info, region); in vmw_fb_copyarea()
346 vmw_fb_dirty_mark(info->par, region->dx, region->dy, in vmw_fb_copyarea()
350 static void vmw_fb_imageblit(struct fb_info *info, const struct fb_image *image) in vmw_fb_imageblit() argument
352 cfb_imageblit(info, image); in vmw_fb_imageblit()
353 vmw_fb_dirty_mark(info->par, image->dx, image->dy, in vmw_fb_imageblit()
418 struct fb_info *info; in vmw_fb_init() local
438 info = framebuffer_alloc(sizeof(*par), device); in vmw_fb_init()
439 if (!info) in vmw_fb_init()
445 vmw_priv->fb_info = info; in vmw_fb_init()
446 par = info->par; in vmw_fb_init()
479 strcpy(info->fix.id, "svgadrmfb"); in vmw_fb_init()
480 info->fix.type = FB_TYPE_PACKED_PIXELS; in vmw_fb_init()
481 info->fix.visual = FB_VISUAL_TRUECOLOR; in vmw_fb_init()
482 info->fix.type_aux = 0; in vmw_fb_init()
483 info->fix.xpanstep = 1; /* doing it in hw */ in vmw_fb_init()
484 info->fix.ypanstep = 1; /* doing it in hw */ in vmw_fb_init()
485 info->fix.ywrapstep = 0; in vmw_fb_init()
486 info->fix.accel = FB_ACCEL_NONE; in vmw_fb_init()
487 info->fix.line_length = fb_pitch; in vmw_fb_init()
489 info->fix.smem_start = 0; in vmw_fb_init()
490 info->fix.smem_len = fb_size; in vmw_fb_init()
492 info->pseudo_palette = par->pseudo_palette; in vmw_fb_init()
493 info->screen_base = par->vmalloc; in vmw_fb_init()
494 info->screen_size = fb_size; in vmw_fb_init()
496 info->flags = FBINFO_DEFAULT; in vmw_fb_init()
497 info->fbops = &vmw_fb_ops; in vmw_fb_init()
500 info->var.red.offset = 16; in vmw_fb_init()
501 info->var.green.offset = 8; in vmw_fb_init()
502 info->var.blue.offset = 0; in vmw_fb_init()
503 info->var.red.length = 8; in vmw_fb_init()
504 info->var.green.length = 8; in vmw_fb_init()
505 info->var.blue.length = 8; in vmw_fb_init()
506 info->var.transp.offset = 0; in vmw_fb_init()
507 info->var.transp.length = 0; in vmw_fb_init()
509 info->var.xres_virtual = fb_width; in vmw_fb_init()
510 info->var.yres_virtual = fb_height; in vmw_fb_init()
511 info->var.bits_per_pixel = par->bpp; in vmw_fb_init()
512 info->var.xoffset = 0; in vmw_fb_init()
513 info->var.yoffset = 0; in vmw_fb_init()
514 info->var.activate = FB_ACTIVATE_NOW; in vmw_fb_init()
515 info->var.height = -1; in vmw_fb_init()
516 info->var.width = -1; in vmw_fb_init()
518 info->var.xres = initial_width; in vmw_fb_init()
519 info->var.yres = initial_height; in vmw_fb_init()
523 info->apertures = alloc_apertures(1); in vmw_fb_init()
524 if (!info->apertures) { in vmw_fb_init()
528 info->apertures->ranges[0].base = vmw_priv->vram_start; in vmw_fb_init()
529 info->apertures->ranges[0].size = vmw_priv->vram_size; in vmw_fb_init()
538 info->fbdefio = &vmw_defio; in vmw_fb_init()
539 fb_deferred_io_init(info); in vmw_fb_init()
541 ret = register_framebuffer(info); in vmw_fb_init()
548 fb_deferred_io_cleanup(info); in vmw_fb_init()
555 framebuffer_release(info); in vmw_fb_init()
563 struct fb_info *info; in vmw_fb_close() local
570 info = vmw_priv->fb_info; in vmw_fb_close()
571 par = info->par; in vmw_fb_close()
576 fb_deferred_io_cleanup(info); in vmw_fb_close()
577 unregister_framebuffer(info); in vmw_fb_close()
583 framebuffer_release(info); in vmw_fb_close()
590 struct fb_info *info; in vmw_fb_off() local
597 info = vmw_priv->fb_info; in vmw_fb_off()
598 par = info->par; in vmw_fb_off()
604 flush_delayed_work(&info->deferred_work); in vmw_fb_off()
616 struct fb_info *info; in vmw_fb_on() local
625 info = vmw_priv->fb_info; in vmw_fb_on()
626 par = info->par; in vmw_fb_on()
653 vmw_fb_set_par(info); in vmw_fb_on()
655 vmw_fb_dirty_mark(par, 0, 0, info->var.xres, info->var.yres); in vmw_fb_on()
659 schedule_delayed_work(&info->deferred_work, 0); in vmw_fb_on()