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()
298 udl_handle_damage(&ufbdev->ufb, rect->dx, rect->dy, rect->width, in udl_fb_fillrect()
308 udl_handle_damage(&ufbdev->ufb, region->dx, region->dy, region->width, in udl_fb_copyarea()
318 udl_handle_damage(&ufbdev->ufb, image->dx, image->dy, image->width, in udl_fb_imageblit()
330 struct drm_device *dev = ufbdev->ufb.base.dev; in udl_fb_open()
407 struct udl_framebuffer *ufb = to_udl_fb(fb); in udl_user_framebuffer_dirty() local
413 if (!ufb->active_16) in udl_user_framebuffer_dirty()
416 if (ufb->obj->base.import_attach) { in udl_user_framebuffer_dirty()
417 ret = dma_buf_begin_cpu_access(ufb->obj->base.import_attach->dmabuf, in udl_user_framebuffer_dirty()
418 0, ufb->obj->base.size, in udl_user_framebuffer_dirty()
425 ret = udl_handle_damage(ufb, clips[i].x1, clips[i].y1, in udl_user_framebuffer_dirty()
432 if (ufb->obj->base.import_attach) { in udl_user_framebuffer_dirty()
433 dma_buf_end_cpu_access(ufb->obj->base.import_attach->dmabuf, in udl_user_framebuffer_dirty()
434 0, ufb->obj->base.size, in udl_user_framebuffer_dirty()
446 struct udl_framebuffer *ufb = to_udl_fb(fb); in udl_user_framebuffer_destroy() local
448 if (ufb->obj) in udl_user_framebuffer_destroy()
449 drm_gem_object_unreference_unlocked(&ufb->obj->base); in udl_user_framebuffer_destroy()
452 kfree(ufb); in udl_user_framebuffer_destroy()
463 struct udl_framebuffer *ufb, in udl_framebuffer_init() argument
469 spin_lock_init(&ufb->dirty_lock); in udl_framebuffer_init()
470 ufb->obj = obj; in udl_framebuffer_init()
471 drm_helper_mode_fill_fb_struct(&ufb->base, mode_cmd); in udl_framebuffer_init()
472 ret = drm_framebuffer_init(dev, &ufb->base, &udlfb_funcs); in udl_framebuffer_init()
520 ret = udl_framebuffer_init(dev, &ufbdev->ufb, &mode_cmd, obj); in udlfb_create()
524 fb = &ufbdev->ufb.base; in udlfb_create()
530 info->screen_base = ufbdev->ufb.obj->vmapping; in udlfb_create()
532 info->fix.smem_start = (unsigned long)ufbdev->ufb.obj->vmapping; in udlfb_create()
541 ufbdev->ufb.obj->vmapping); in udlfb_create()
547 drm_gem_object_unreference_unlocked(&ufbdev->ufb.obj->base); in udlfb_create()
562 drm_framebuffer_unregister_private(&ufbdev->ufb.base); in udl_fbdev_destroy()
563 drm_framebuffer_cleanup(&ufbdev->ufb.base); in udl_fbdev_destroy()
564 drm_gem_object_unreference_unlocked(&ufbdev->ufb.obj->base); in udl_fbdev_destroy()
635 struct udl_framebuffer *ufb; in udl_fb_user_fb_create() local
651 ufb = kzalloc(sizeof(*ufb), GFP_KERNEL); in udl_fb_user_fb_create()
652 if (ufb == NULL) in udl_fb_user_fb_create()
655 ret = udl_framebuffer_init(dev, ufb, mode_cmd, to_udl_bo(obj)); in udl_fb_user_fb_create()
657 kfree(ufb); in udl_fb_user_fb_create()
660 return &ufb->base; in udl_fb_user_fb_create()