Lines Matching refs:ufb
35 struct udl_framebuffer ufb; member
93 struct drm_device *dev = ufbdev->ufb.base.dev; in udlfb_dpy_deferred_io()
116 if (udl_render_hline(dev, (ufbdev->ufb.base.bits_per_pixel / 8), in udlfb_dpy_deferred_io()
293 udl_handle_damage(&ufbdev->ufb, rect->dx, rect->dy, rect->width, in udl_fb_fillrect()
303 udl_handle_damage(&ufbdev->ufb, region->dx, region->dy, region->width, in udl_fb_copyarea()
313 udl_handle_damage(&ufbdev->ufb, image->dx, image->dy, image->width, in udl_fb_imageblit()
325 struct drm_device *dev = ufbdev->ufb.base.dev; in udl_fb_open()
402 struct udl_framebuffer *ufb = to_udl_fb(fb); in udl_user_framebuffer_dirty() local
408 if (!ufb->active_16) in udl_user_framebuffer_dirty()
411 if (ufb->obj->base.import_attach) { in udl_user_framebuffer_dirty()
412 ret = dma_buf_begin_cpu_access(ufb->obj->base.import_attach->dmabuf, in udl_user_framebuffer_dirty()
413 0, ufb->obj->base.size, in udl_user_framebuffer_dirty()
420 ret = udl_handle_damage(ufb, clips[i].x1, clips[i].y1, in udl_user_framebuffer_dirty()
427 if (ufb->obj->base.import_attach) { in udl_user_framebuffer_dirty()
428 dma_buf_end_cpu_access(ufb->obj->base.import_attach->dmabuf, in udl_user_framebuffer_dirty()
429 0, ufb->obj->base.size, in udl_user_framebuffer_dirty()
441 struct udl_framebuffer *ufb = to_udl_fb(fb); in udl_user_framebuffer_destroy() local
443 if (ufb->obj) in udl_user_framebuffer_destroy()
444 drm_gem_object_unreference_unlocked(&ufb->obj->base); in udl_user_framebuffer_destroy()
447 kfree(ufb); in udl_user_framebuffer_destroy()
458 struct udl_framebuffer *ufb, in udl_framebuffer_init() argument
464 spin_lock_init(&ufb->dirty_lock); in udl_framebuffer_init()
465 ufb->obj = obj; in udl_framebuffer_init()
466 drm_helper_mode_fill_fb_struct(&ufb->base, mode_cmd); in udl_framebuffer_init()
467 ret = drm_framebuffer_init(dev, &ufb->base, &udlfb_funcs); in udl_framebuffer_init()
516 ret = udl_framebuffer_init(dev, &ufbdev->ufb, &mode_cmd, obj); in udlfb_create()
520 fb = &ufbdev->ufb.base; in udlfb_create()
527 info->screen_base = ufbdev->ufb.obj->vmapping; in udlfb_create()
529 info->fix.smem_start = (unsigned long)ufbdev->ufb.obj->vmapping; in udlfb_create()
545 ufbdev->ufb.obj->vmapping); in udlfb_create()
549 drm_gem_object_unreference(&ufbdev->ufb.obj->base); in udlfb_create()
570 drm_framebuffer_unregister_private(&ufbdev->ufb.base); in udl_fbdev_destroy()
571 drm_framebuffer_cleanup(&ufbdev->ufb.base); in udl_fbdev_destroy()
572 drm_gem_object_unreference_unlocked(&ufbdev->ufb.obj->base); in udl_fbdev_destroy()
647 struct udl_framebuffer *ufb; in udl_fb_user_fb_create() local
663 ufb = kzalloc(sizeof(*ufb), GFP_KERNEL); in udl_fb_user_fb_create()
664 if (ufb == NULL) in udl_fb_user_fb_create()
667 ret = udl_framebuffer_init(dev, ufb, mode_cmd, to_udl_bo(obj)); in udl_fb_user_fb_create()
669 kfree(ufb); in udl_fb_user_fb_create()
672 return &ufb->base; in udl_fb_user_fb_create()