Lines Matching refs:fb

45 	struct tegra_fb *fb;  in fb_destroy()  local
49 fb = container_of(drm_fb, struct tegra_fb, drm_fb); in fb_destroy()
50 for (i = 0; i < fb->nplanes; i++) { in fb_destroy()
51 bo = fb->planes[i]; in fb_destroy()
57 free(fb->planes, DRM_MEM_DRIVER); in fb_destroy()
64 struct tegra_fb *fb; in fb_create_handle() local
67 fb = container_of(drm_fb, struct tegra_fb, drm_fb); in fb_create_handle()
68 rv = drm_gem_handle_create(file, &fb->planes[0]->gem_obj, handle); in fb_create_handle()
74 fb_dirty(struct drm_framebuffer *fb, struct drm_file *file_priv, in fb_dirty() argument
91 struct tegra_fb *fb; in fb_alloc() local
95 fb = malloc(sizeof(*fb), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); in fb_alloc()
96 fb->planes = malloc(num_planes * sizeof(*fb->planes), DRM_MEM_DRIVER, in fb_alloc()
98 fb->nplanes = num_planes; in fb_alloc()
100 drm_helper_mode_fill_fb_struct(&fb->drm_fb, mode_cmd); in fb_alloc()
101 for (i = 0; i < fb->nplanes; i++) in fb_alloc()
102 fb->planes[i] = planes[i]; in fb_alloc()
103 rv = drm_framebuffer_init(drm, &fb->drm_fb, &fb_funcs); in fb_alloc()
107 free(fb->planes, DRM_MEM_DRIVER); in fb_alloc()
110 *res_fb = fb; in fb_alloc()
120 struct tegra_fb *fb; in tegra_fb_probe() local
127 if (helper->fb != NULL) in tegra_fb_probe()
134 fb = container_of(helper, struct tegra_fb, fb_helper); in tegra_fb_probe()
162 rv = fb_alloc(drm_dev, &mode_cmd, &bo, 1, &fb); in tegra_fb_probe()
168 helper->fb = &fb->drm_fb; in tegra_fb_probe()
176 drm_fb_helper_fill_fix(info, fb->drm_fb.pitches[0], fb->drm_fb.depth); in tegra_fb_probe()
177 drm_fb_helper_fill_var(info, helper, fb->drm_fb.width, in tegra_fb_probe()
178 fb->drm_fb.height); in tegra_fb_probe()
181 fb->drm_fb.width, fb->drm_fb.height, fb->drm_fb.depth, in tegra_fb_probe()
202 struct tegra_fb *fb; in tegra_drm_fb_getinfo() local
206 fb = drm->fb; in tegra_drm_fb_getinfo()
207 if (fb == NULL) in tegra_drm_fb_getinfo()
209 return (fb->fb_helper.fbdev); in tegra_drm_fb_getinfo()
213 tegra_fb_get_plane(struct tegra_fb *fb, int idx) in tegra_fb_get_plane() argument
216 if (idx >= drm_format_num_planes(fb->drm_fb.pixel_format)) in tegra_fb_get_plane()
218 if (idx >= fb->nplanes) in tegra_fb_get_plane()
220 return (fb->planes[idx]); in tegra_fb_get_plane()
226 struct tegra_fb *fb; in tegra_drm_fb_init() local
232 fb = malloc(sizeof(*fb), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); in tegra_drm_fb_init()
233 drm->fb = fb; in tegra_drm_fb_init()
235 fb->fb_helper.funcs = &fb_helper_funcs; in tegra_drm_fb_init()
236 rv = drm_fb_helper_init(drm_dev, &fb->fb_helper, in tegra_drm_fb_init()
244 rv = drm_fb_helper_single_add_all_connectors(&fb->fb_helper); in tegra_drm_fb_init()
251 rv = drm_fb_helper_initial_config(&fb->fb_helper, 32); in tegra_drm_fb_init()
262 drm_fb_helper_fini(&fb->fb_helper); in tegra_drm_fb_init()
274 struct tegra_fb *fb; in tegra_drm_fb_create() local
304 rv = fb_alloc(drm, cmd, planes, nplanes, &fb); in tegra_drm_fb_create()
308 *fb_res = &fb->drm_fb; in tegra_drm_fb_create()
321 struct tegra_fb *fb; in tegra_drm_fb_destroy() local
325 fb = drm->fb; in tegra_drm_fb_destroy()
326 if (fb == NULL) in tegra_drm_fb_destroy()
328 info = fb->fb_helper.fbdev; in tegra_drm_fb_destroy()
329 drm_framebuffer_remove(&fb->drm_fb); in tegra_drm_fb_destroy()
331 drm_fb_helper_fini(&fb->fb_helper); in tegra_drm_fb_destroy()
332 drm_framebuffer_cleanup(&fb->drm_fb); in tegra_drm_fb_destroy()
333 free(fb, DRM_MEM_DRIVER); in tegra_drm_fb_destroy()
334 drm->fb = NULL; in tegra_drm_fb_destroy()