Lines Matching refs:fb

46 	struct tegra_fb *fb;  in fb_destroy()  local
50 fb = container_of(drm_fb, struct tegra_fb, drm_fb); in fb_destroy()
51 for (i = 0; i < fb->nplanes; i++) { in fb_destroy()
52 bo = fb->planes[i]; in fb_destroy()
58 free(fb->planes, DRM_MEM_DRIVER); in fb_destroy()
65 struct tegra_fb *fb; in fb_create_handle() local
68 fb = container_of(drm_fb, struct tegra_fb, drm_fb); in fb_create_handle()
69 rv = drm_gem_handle_create(file, &fb->planes[0]->gem_obj, handle); in fb_create_handle()
75 fb_dirty(struct drm_framebuffer *fb, struct drm_file *file_priv, in fb_dirty() argument
92 struct tegra_fb *fb; in fb_alloc() local
96 fb = malloc(sizeof(*fb), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); in fb_alloc()
97 fb->planes = malloc(num_planes * sizeof(*fb->planes), DRM_MEM_DRIVER, in fb_alloc()
99 fb->nplanes = num_planes; in fb_alloc()
101 drm_helper_mode_fill_fb_struct(&fb->drm_fb, mode_cmd); in fb_alloc()
102 for (i = 0; i < fb->nplanes; i++) in fb_alloc()
103 fb->planes[i] = planes[i]; in fb_alloc()
104 rv = drm_framebuffer_init(drm, &fb->drm_fb, &fb_funcs); in fb_alloc()
108 free(fb->planes, DRM_MEM_DRIVER); in fb_alloc()
111 *res_fb = fb; in fb_alloc()
121 struct tegra_fb *fb; in tegra_fb_probe() local
128 if (helper->fb != NULL) in tegra_fb_probe()
135 fb = container_of(helper, struct tegra_fb, fb_helper); in tegra_fb_probe()
163 rv = fb_alloc(drm_dev, &mode_cmd, &bo, 1, &fb); in tegra_fb_probe()
169 helper->fb = &fb->drm_fb; in tegra_fb_probe()
177 drm_fb_helper_fill_fix(info, fb->drm_fb.pitches[0], fb->drm_fb.depth); in tegra_fb_probe()
178 drm_fb_helper_fill_var(info, helper, fb->drm_fb.width, in tegra_fb_probe()
179 fb->drm_fb.height); in tegra_fb_probe()
182 fb->drm_fb.width, fb->drm_fb.height, fb->drm_fb.depth, in tegra_fb_probe()
203 struct tegra_fb *fb; in tegra_drm_fb_getinfo() local
207 fb = drm->fb; in tegra_drm_fb_getinfo()
208 if (fb == NULL) in tegra_drm_fb_getinfo()
210 return (fb->fb_helper.fbdev); in tegra_drm_fb_getinfo()
214 tegra_fb_get_plane(struct tegra_fb *fb, int idx) in tegra_fb_get_plane() argument
217 if (idx >= drm_format_num_planes(fb->drm_fb.pixel_format)) in tegra_fb_get_plane()
219 if (idx >= fb->nplanes) in tegra_fb_get_plane()
221 return (fb->planes[idx]); in tegra_fb_get_plane()
227 struct tegra_fb *fb; in tegra_drm_fb_init() local
233 fb = malloc(sizeof(*fb), DRM_MEM_DRIVER, M_WAITOK | M_ZERO); in tegra_drm_fb_init()
234 drm->fb = fb; in tegra_drm_fb_init()
236 fb->fb_helper.funcs = &fb_helper_funcs; in tegra_drm_fb_init()
237 rv = drm_fb_helper_init(drm_dev, &fb->fb_helper, in tegra_drm_fb_init()
245 rv = drm_fb_helper_single_add_all_connectors(&fb->fb_helper); in tegra_drm_fb_init()
252 rv = drm_fb_helper_initial_config(&fb->fb_helper, 32); in tegra_drm_fb_init()
263 drm_fb_helper_fini(&fb->fb_helper); in tegra_drm_fb_init()
275 struct tegra_fb *fb; in tegra_drm_fb_create() local
305 rv = fb_alloc(drm, cmd, planes, nplanes, &fb); in tegra_drm_fb_create()
309 *fb_res = &fb->drm_fb; in tegra_drm_fb_create()
322 struct tegra_fb *fb; in tegra_drm_fb_destroy() local
326 fb = drm->fb; in tegra_drm_fb_destroy()
327 if (fb == NULL) in tegra_drm_fb_destroy()
329 info = fb->fb_helper.fbdev; in tegra_drm_fb_destroy()
330 drm_framebuffer_remove(&fb->drm_fb); in tegra_drm_fb_destroy()
332 drm_fb_helper_fini(&fb->fb_helper); in tegra_drm_fb_destroy()
333 drm_framebuffer_cleanup(&fb->drm_fb); in tegra_drm_fb_destroy()
334 free(fb, DRM_MEM_DRIVER); in tegra_drm_fb_destroy()
335 drm->fb = NULL; in tegra_drm_fb_destroy()