Lines Matching refs:fb

55 struct drm_gem_object *drm_gem_fb_get_obj(struct drm_framebuffer *fb,  in drm_gem_fb_get_obj()  argument
58 struct drm_device *dev = fb->dev; in drm_gem_fb_get_obj()
60 if (drm_WARN_ON_ONCE(dev, plane >= ARRAY_SIZE(fb->obj))) in drm_gem_fb_get_obj()
62 else if (drm_WARN_ON_ONCE(dev, !fb->obj[plane])) in drm_gem_fb_get_obj()
65 return fb->obj[plane]; in drm_gem_fb_get_obj()
71 struct drm_framebuffer *fb, in drm_gem_fb_init() argument
80 drm_helper_mode_fill_fb_struct(dev, fb, info, mode_cmd); in drm_gem_fb_init()
83 fb->obj[i] = obj[i]; in drm_gem_fb_init()
85 ret = drm_framebuffer_init(dev, fb, funcs); in drm_gem_fb_init()
100 void drm_gem_fb_destroy(struct drm_framebuffer *fb) in drm_gem_fb_destroy() argument
104 for (i = 0; i < fb->format->num_planes; i++) in drm_gem_fb_destroy()
105 drm_gem_object_put(fb->obj[i]); in drm_gem_fb_destroy()
107 drm_framebuffer_cleanup(fb); in drm_gem_fb_destroy()
108 kfree(fb); in drm_gem_fb_destroy()
125 int drm_gem_fb_create_handle(struct drm_framebuffer *fb, struct drm_file *file, in drm_gem_fb_create_handle() argument
128 return drm_gem_handle_create(file, fb->obj[0], handle); in drm_gem_fb_create_handle()
156 struct drm_framebuffer *fb, in drm_gem_fb_init_with_funcs() argument
200 ret = drm_gem_fb_init(dev, fb, info, mode_cmd, objs, i, funcs); in drm_gem_fb_init_with_funcs()
238 struct drm_framebuffer *fb; in drm_gem_fb_create_with_funcs() local
241 fb = kzalloc_obj(*fb); in drm_gem_fb_create_with_funcs()
242 if (!fb) in drm_gem_fb_create_with_funcs()
245 ret = drm_gem_fb_init_with_funcs(dev, fb, file, info, mode_cmd, funcs); in drm_gem_fb_create_with_funcs()
247 kfree(fb); in drm_gem_fb_create_with_funcs()
251 return fb; in drm_gem_fb_create_with_funcs()
356 int drm_gem_fb_vmap(struct drm_framebuffer *fb, struct iosys_map *map, in drm_gem_fb_vmap() argument
363 for (i = 0; i < fb->format->num_planes; ++i) { in drm_gem_fb_vmap()
364 obj = drm_gem_fb_get_obj(fb, i); in drm_gem_fb_vmap()
375 for (i = 0; i < fb->format->num_planes; ++i) { in drm_gem_fb_vmap()
379 iosys_map_incr(&data[i], fb->offsets[i]); in drm_gem_fb_vmap()
388 obj = drm_gem_fb_get_obj(fb, i); in drm_gem_fb_vmap()
406 void drm_gem_fb_vunmap(struct drm_framebuffer *fb, struct iosys_map *map) in drm_gem_fb_vunmap() argument
408 unsigned int i = fb->format->num_planes; in drm_gem_fb_vunmap()
413 obj = drm_gem_fb_get_obj(fb, i); in drm_gem_fb_vunmap()
423 static void __drm_gem_fb_end_cpu_access(struct drm_framebuffer *fb, enum dma_data_direction dir, in __drm_gem_fb_end_cpu_access() argument
432 obj = drm_gem_fb_get_obj(fb, num_planes); in __drm_gem_fb_end_cpu_access()
440 drm_err(fb->dev, "dma_buf_end_cpu_access(%u, %d) failed: %d\n", in __drm_gem_fb_end_cpu_access()
459 int drm_gem_fb_begin_cpu_access(struct drm_framebuffer *fb, enum dma_data_direction dir) in drm_gem_fb_begin_cpu_access() argument
466 for (i = 0; i < fb->format->num_planes; ++i) { in drm_gem_fb_begin_cpu_access()
467 obj = drm_gem_fb_get_obj(fb, i); in drm_gem_fb_begin_cpu_access()
483 __drm_gem_fb_end_cpu_access(fb, dir, i); in drm_gem_fb_begin_cpu_access()
499 void drm_gem_fb_end_cpu_access(struct drm_framebuffer *fb, enum dma_data_direction dir) in drm_gem_fb_end_cpu_access() argument
501 __drm_gem_fb_end_cpu_access(fb, dir, fb->format->num_planes); in drm_gem_fb_end_cpu_access()