Lines Matching refs:fbcon
67 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_fillrect() local
68 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_fillrect()
99 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_copyarea() local
100 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_copyarea()
131 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_imageblit() local
132 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_imageblit()
163 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_sync() local
164 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_sync()
190 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_open() local
191 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_open()
203 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_release() local
204 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_release()
234 if (drm->fbcon && drm->fbcon->helper.fbdev) { in nouveau_fbcon_accel_save_disable()
235 drm->fbcon->saved_flags = drm->fbcon->helper.fbdev->flags; in nouveau_fbcon_accel_save_disable()
236 drm->fbcon->helper.fbdev->flags |= FBINFO_HWACCEL_DISABLED; in nouveau_fbcon_accel_save_disable()
244 if (drm->fbcon && drm->fbcon->helper.fbdev) { in nouveau_fbcon_accel_restore()
245 drm->fbcon->helper.fbdev->flags = drm->fbcon->saved_flags; in nouveau_fbcon_accel_restore()
253 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_accel_fini() local
254 if (fbcon && drm->channel) { in nouveau_fbcon_accel_fini()
256 if (fbcon->helper.fbdev) in nouveau_fbcon_accel_fini()
257 fbcon->helper.fbdev->flags |= FBINFO_HWACCEL_DISABLED; in nouveau_fbcon_accel_fini()
260 nvif_object_dtor(&fbcon->twod); in nouveau_fbcon_accel_fini()
261 nvif_object_dtor(&fbcon->blit); in nouveau_fbcon_accel_fini()
262 nvif_object_dtor(&fbcon->gdi); in nouveau_fbcon_accel_fini()
263 nvif_object_dtor(&fbcon->patt); in nouveau_fbcon_accel_fini()
264 nvif_object_dtor(&fbcon->rop); in nouveau_fbcon_accel_fini()
265 nvif_object_dtor(&fbcon->clip); in nouveau_fbcon_accel_fini()
266 nvif_object_dtor(&fbcon->surf2d); in nouveau_fbcon_accel_fini()
274 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_accel_init() local
275 struct fb_info *info = fbcon->helper.fbdev; in nouveau_fbcon_accel_init()
291 nouveau_fbcon_zfill(struct drm_device *dev, struct nouveau_fbdev *fbcon) in nouveau_fbcon_zfill() argument
293 struct fb_info *info = fbcon->helper.fbdev; in nouveau_fbcon_zfill()
312 struct nouveau_fbdev *fbcon = in nouveau_fbcon_create() local
314 struct drm_device *dev = fbcon->helper.dev; in nouveau_fbcon_create()
359 ret = nouveau_vma_new(nvbo, chan->vmm, &fbcon->vma); in nouveau_fbcon_create()
373 fbcon->helper.fb = fb; in nouveau_fbcon_create()
388 drm_fb_helper_fill_info(info, &fbcon->helper, sizes); in nouveau_fbcon_create()
394 nouveau_fbcon_zfill(dev, fbcon); in nouveau_fbcon_create()
407 nouveau_vma_del(&fbcon->vma); in nouveau_fbcon_create()
418 nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon) in nouveau_fbcon_destroy() argument
420 struct drm_framebuffer *fb = fbcon->helper.fb; in nouveau_fbcon_destroy()
423 drm_fb_helper_unregister_fbi(&fbcon->helper); in nouveau_fbcon_destroy()
424 drm_fb_helper_fini(&fbcon->helper); in nouveau_fbcon_destroy()
428 nouveau_vma_del(&fbcon->vma); in nouveau_fbcon_destroy()
439 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_gpu_lockup() local
440 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_gpu_lockup()
462 drm_fb_helper_set_suspend(&drm->fbcon->helper, state); in nouveau_fbcon_set_suspend_work()
468 nouveau_fbcon_hotplug_resume(drm->fbcon); in nouveau_fbcon_set_suspend_work()
479 if (!drm->fbcon) in nouveau_fbcon_set_suspend()
494 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_output_poll_changed() local
497 if (!fbcon) in nouveau_fbcon_output_poll_changed()
500 mutex_lock(&fbcon->hotplug_lock); in nouveau_fbcon_output_poll_changed()
504 drm_fb_helper_hotplug_event(&fbcon->helper); in nouveau_fbcon_output_poll_changed()
516 fbcon->hotplug_waiting = true; in nouveau_fbcon_output_poll_changed()
523 mutex_unlock(&fbcon->hotplug_lock); in nouveau_fbcon_output_poll_changed()
527 nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) in nouveau_fbcon_hotplug_resume() argument
531 if (!fbcon) in nouveau_fbcon_hotplug_resume()
533 drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_hotplug_resume()
535 mutex_lock(&fbcon->hotplug_lock); in nouveau_fbcon_hotplug_resume()
536 if (fbcon->hotplug_waiting) { in nouveau_fbcon_hotplug_resume()
537 fbcon->hotplug_waiting = false; in nouveau_fbcon_hotplug_resume()
540 drm_fb_helper_hotplug_event(&fbcon->helper); in nouveau_fbcon_hotplug_resume()
542 mutex_unlock(&fbcon->hotplug_lock); in nouveau_fbcon_hotplug_resume()
549 struct nouveau_fbdev *fbcon; in nouveau_fbcon_init() local
557 fbcon = kzalloc(sizeof(struct nouveau_fbdev), GFP_KERNEL); in nouveau_fbcon_init()
558 if (!fbcon) in nouveau_fbcon_init()
561 drm->fbcon = fbcon; in nouveau_fbcon_init()
563 mutex_init(&fbcon->hotplug_lock); in nouveau_fbcon_init()
565 drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fbcon_helper_funcs); in nouveau_fbcon_init()
567 ret = drm_fb_helper_init(dev, &fbcon->helper); in nouveau_fbcon_init()
585 ret = drm_fb_helper_initial_config(&fbcon->helper, preferred_bpp); in nouveau_fbcon_init()
589 if (fbcon->helper.fbdev) in nouveau_fbcon_init()
590 fbcon->helper.fbdev->pixmap.buf_align = 4; in nouveau_fbcon_init()
594 drm_fb_helper_fini(&fbcon->helper); in nouveau_fbcon_init()
596 kfree(fbcon); in nouveau_fbcon_init()
597 drm->fbcon = NULL; in nouveau_fbcon_init()
606 if (!drm->fbcon) in nouveau_fbcon_fini()
611 nouveau_fbcon_destroy(dev, drm->fbcon); in nouveau_fbcon_fini()
612 kfree(drm->fbcon); in nouveau_fbcon_fini()
613 drm->fbcon = NULL; in nouveau_fbcon_fini()