Lines Matching defs:fbdev
20 * fbdev funcs, to implement legacy fbdev interface on top of drm driver
39 struct omap_fbdev *fbdev = container_of(work, struct omap_fbdev, work);
40 struct fb_info *fbi = fbdev->base.fbdev;
45 omap_gem_roll(fbdev->bo, fbi->var.yoffset * npages);
52 struct omap_fbdev *fbdev = to_omap_fbdev(helper);
57 if (!fbdev->ywrap_enabled)
61 pan_worker(&fbdev->work);
64 queue_work(priv->wq, &fbdev->work);
93 struct omap_fbdev *fbdev = to_omap_fbdev(helper);
106 DBG("create fbdev: %dx%d@%d (%dx%d)", sizes->surface_width,
119 fbdev->ywrap_enabled = priv->has_dmm && ywrap_enabled;
120 if (fbdev->ywrap_enabled) {
130 fbdev->bo = omap_gem_new(dev, gsize, OMAP_BO_SCANOUT | OMAP_BO_WC);
131 if (!fbdev->bo) {
137 fb = omap_framebuffer_init(dev, &mode_cmd, &fbdev->bo);
143 drm_gem_object_put(fbdev->bo);
156 ret = omap_gem_pin(fbdev->bo, &dma_addr);
172 fbdev->fb = fb;
181 fbi->screen_buffer = omap_gem_vaddr(fbdev->bo);
182 fbi->screen_size = fbdev->bo->size;
184 fbi->fix.smem_len = fbdev->bo->size;
189 if (fbdev->ywrap_enabled) {
197 DBG("allocated %dx%d fb", fbdev->fb->width, fbdev->fb->height);
224 /* initialize fbdev helper */
228 struct omap_fbdev *fbdev = NULL;
235 fbdev = kzalloc(sizeof(*fbdev), GFP_KERNEL);
236 if (!fbdev)
239 INIT_WORK(&fbdev->work, pan_worker);
241 helper = &fbdev->base;
253 priv->fbdev = helper;
260 kfree(fbdev);
268 struct drm_fb_helper *helper = priv->fbdev;
269 struct omap_fbdev *fbdev;
280 fbdev = to_omap_fbdev(helper);
283 if (fbdev->bo)
284 omap_gem_unpin(fbdev->bo);
287 if (fbdev->fb)
288 drm_framebuffer_remove(fbdev->fb);
290 kfree(fbdev);
292 priv->fbdev = NULL;