Lines Matching refs:par
72 struct vmw_fb_par *par = info->par; in vmw_fb_setcolreg() local
73 u32 *pal = par->pseudo_palette; in vmw_fb_setcolreg()
80 switch (par->depth) { in vmw_fb_setcolreg()
88 DRM_ERROR("Bad depth %u, bpp %u.\n", par->depth, par->bpp); in vmw_fb_setcolreg()
99 struct vmw_fb_par *par = info->par; in vmw_fb_check_var() local
100 struct vmw_private *vmw_priv = par->vmw_priv; in vmw_fb_check_var()
143 if ((var->xoffset + var->xres) > par->max_width || in vmw_fb_check_var()
144 (var->yoffset + var->yres) > par->max_height) { in vmw_fb_check_var()
161 struct vmw_fb_par *par = info->par; in vmw_fb_set_par() local
162 struct vmw_private *vmw_priv = par->vmw_priv; in vmw_fb_set_par()
169 par->bpp, par->depth); in vmw_fb_set_par()
208 static void vmw_fb_dirty_flush(struct vmw_fb_par *par) in vmw_fb_dirty_flush() argument
210 struct vmw_private *vmw_priv = par->vmw_priv; in vmw_fb_dirty_flush()
214 __le32 __iomem *vram_mem = par->bo_ptr; in vmw_fb_dirty_flush()
226 spin_lock_irqsave(&par->dirty.lock, flags); in vmw_fb_dirty_flush()
227 if (!par->dirty.active) { in vmw_fb_dirty_flush()
228 spin_unlock_irqrestore(&par->dirty.lock, flags); in vmw_fb_dirty_flush()
231 x = par->dirty.x1; in vmw_fb_dirty_flush()
232 y = par->dirty.y1; 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()
235 par->dirty.x1 = par->dirty.x2 = 0; in vmw_fb_dirty_flush()
236 par->dirty.y1 = par->dirty.y2 = 0; in vmw_fb_dirty_flush()
237 spin_unlock_irqrestore(&par->dirty.lock, flags); in vmw_fb_dirty_flush()
262 static void vmw_fb_dirty_mark(struct vmw_fb_par *par, in vmw_fb_dirty_mark() argument
266 struct fb_info *info = par->vmw_priv->fb_info; in vmw_fb_dirty_mark()
271 spin_lock_irqsave(&par->dirty.lock, flags); in vmw_fb_dirty_mark()
272 if (par->dirty.x1 == par->dirty.x2) { in vmw_fb_dirty_mark()
273 par->dirty.x1 = x1; in vmw_fb_dirty_mark()
274 par->dirty.y1 = y1; in vmw_fb_dirty_mark()
275 par->dirty.x2 = x2; in vmw_fb_dirty_mark()
276 par->dirty.y2 = y2; in vmw_fb_dirty_mark()
279 if (par->dirty.active) in vmw_fb_dirty_mark()
282 if (x1 < par->dirty.x1) in vmw_fb_dirty_mark()
283 par->dirty.x1 = x1; in vmw_fb_dirty_mark()
284 if (y1 < par->dirty.y1) in vmw_fb_dirty_mark()
285 par->dirty.y1 = y1; in vmw_fb_dirty_mark()
286 if (x2 > par->dirty.x2) in vmw_fb_dirty_mark()
287 par->dirty.x2 = x2; in vmw_fb_dirty_mark()
288 if (y2 > par->dirty.y2) in vmw_fb_dirty_mark()
289 par->dirty.y2 = y2; in vmw_fb_dirty_mark()
291 spin_unlock_irqrestore(&par->dirty.lock, flags); in vmw_fb_dirty_mark()
297 struct vmw_fb_par *par = info->par; in vmw_deferred_io() local
316 spin_lock_irqsave(&par->dirty.lock, flags); in vmw_deferred_io()
317 par->dirty.x1 = 0; in vmw_deferred_io()
318 par->dirty.y1 = y1; in vmw_deferred_io()
319 par->dirty.x2 = info->var.xres; in vmw_deferred_io()
320 par->dirty.y2 = y2; in vmw_deferred_io()
321 spin_unlock_irqrestore(&par->dirty.lock, flags); in vmw_deferred_io()
324 vmw_fb_dirty_flush(par); in vmw_deferred_io()
339 vmw_fb_dirty_mark(info->par, rect->dx, rect->dy, in vmw_fb_fillrect()
346 vmw_fb_dirty_mark(info->par, region->dx, region->dy, in vmw_fb_copyarea()
353 vmw_fb_dirty_mark(info->par, image->dx, image->dy, in vmw_fb_imageblit()
417 struct vmw_fb_par *par; in vmw_fb_init() local
438 info = framebuffer_alloc(sizeof(*par), device); in vmw_fb_init()
446 par = info->par; in vmw_fb_init()
447 par->vmw_priv = vmw_priv; in vmw_fb_init()
448 par->depth = fb_depth; in vmw_fb_init()
449 par->bpp = fb_bpp; in vmw_fb_init()
450 par->vmalloc = NULL; in vmw_fb_init()
451 par->max_width = fb_width; in vmw_fb_init()
452 par->max_height = fb_height; in vmw_fb_init()
457 par->vmalloc = vmalloc(fb_size); in vmw_fb_init()
458 if (unlikely(par->vmalloc == NULL)) { in vmw_fb_init()
463 ret = vmw_fb_create_bo(vmw_priv, fb_size, &par->vmw_bo); in vmw_fb_init()
467 ret = ttm_bo_kmap(&par->vmw_bo->base, in vmw_fb_init()
469 par->vmw_bo->base.num_pages, in vmw_fb_init()
470 &par->map); in vmw_fb_init()
473 par->bo_ptr = ttm_kmap_obj_virtual(&par->map, &par->bo_iowrite); in vmw_fb_init()
474 par->bo_size = 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()
511 info->var.bits_per_pixel = par->bpp; in vmw_fb_init()
534 par->dirty.x1 = par->dirty.x2 = 0; in vmw_fb_init()
535 par->dirty.y1 = par->dirty.y2 = 0; in vmw_fb_init()
536 par->dirty.active = true; in vmw_fb_init()
537 spin_lock_init(&par->dirty.lock); in vmw_fb_init()
550 ttm_bo_kunmap(&par->map); in vmw_fb_init()
552 ttm_bo_unref((struct ttm_buffer_object **)&par->vmw_bo); in vmw_fb_init()
554 vfree(par->vmalloc); in vmw_fb_init()
564 struct vmw_fb_par *par; in vmw_fb_close() local
571 par = info->par; in vmw_fb_close()
572 bo = &par->vmw_bo->base; in vmw_fb_close()
573 par->vmw_bo = NULL; in vmw_fb_close()
579 ttm_bo_kunmap(&par->map); in vmw_fb_close()
582 vfree(par->vmalloc); in vmw_fb_close()
591 struct vmw_fb_par *par; in vmw_fb_off() local
598 par = info->par; in vmw_fb_off()
600 spin_lock_irqsave(&par->dirty.lock, flags); in vmw_fb_off()
601 par->dirty.active = false; in vmw_fb_off()
602 spin_unlock_irqrestore(&par->dirty.lock, flags); in vmw_fb_off()
606 par->bo_ptr = NULL; in vmw_fb_off()
607 ttm_bo_kunmap(&par->map); in vmw_fb_off()
609 vmw_dmabuf_unpin(vmw_priv, par->vmw_bo, false); in vmw_fb_off()
617 struct vmw_fb_par *par; in vmw_fb_on() local
626 par = info->par; in vmw_fb_on()
629 if (par->bo_ptr != NULL) in vmw_fb_on()
635 ret = vmw_dmabuf_to_start_of_vram(vmw_priv, par->vmw_bo, true, false); in vmw_fb_on()
641 ret = ttm_bo_kmap(&par->vmw_bo->base, in vmw_fb_on()
643 par->vmw_bo->base.num_pages, in vmw_fb_on()
644 &par->map); in vmw_fb_on()
646 par->bo_ptr = ttm_kmap_obj_virtual(&par->map, &dummy); in vmw_fb_on()
648 spin_lock_irqsave(&par->dirty.lock, flags); in vmw_fb_on()
649 par->dirty.active = true; in vmw_fb_on()
650 spin_unlock_irqrestore(&par->dirty.lock, flags); in vmw_fb_on()
655 vmw_fb_dirty_mark(par, 0, 0, info->var.xres, info->var.yres); in vmw_fb_on()