Lines Matching refs:fbcon

66 	struct nouveau_fbdev *fbcon = info->par;  in nouveau_fbcon_fillrect()  local
67 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_fillrect()
98 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_copyarea() local
99 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_copyarea()
130 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_imageblit() local
131 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_imageblit()
162 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_sync() local
163 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_sync()
189 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_open() local
190 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_open()
200 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_release() local
201 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_release()
231 if (drm->fbcon && drm->fbcon->helper.fbdev) { in nouveau_fbcon_accel_save_disable()
232 drm->fbcon->saved_flags = drm->fbcon->helper.fbdev->flags; in nouveau_fbcon_accel_save_disable()
233 drm->fbcon->helper.fbdev->flags |= FBINFO_HWACCEL_DISABLED; in nouveau_fbcon_accel_save_disable()
241 if (drm->fbcon && drm->fbcon->helper.fbdev) { in nouveau_fbcon_accel_restore()
242 drm->fbcon->helper.fbdev->flags = drm->fbcon->saved_flags; in nouveau_fbcon_accel_restore()
250 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_accel_fini() local
251 if (fbcon && drm->channel) { in nouveau_fbcon_accel_fini()
253 if (fbcon->helper.fbdev) in nouveau_fbcon_accel_fini()
254 fbcon->helper.fbdev->flags |= FBINFO_HWACCEL_DISABLED; in nouveau_fbcon_accel_fini()
257 nvif_object_fini(&fbcon->twod); in nouveau_fbcon_accel_fini()
258 nvif_object_fini(&fbcon->blit); in nouveau_fbcon_accel_fini()
259 nvif_object_fini(&fbcon->gdi); in nouveau_fbcon_accel_fini()
260 nvif_object_fini(&fbcon->patt); in nouveau_fbcon_accel_fini()
261 nvif_object_fini(&fbcon->rop); in nouveau_fbcon_accel_fini()
262 nvif_object_fini(&fbcon->clip); in nouveau_fbcon_accel_fini()
263 nvif_object_fini(&fbcon->surf2d); in nouveau_fbcon_accel_fini()
271 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_accel_init() local
272 struct fb_info *info = fbcon->helper.fbdev; in nouveau_fbcon_accel_init()
288 nouveau_fbcon_zfill(struct drm_device *dev, struct nouveau_fbdev *fbcon) in nouveau_fbcon_zfill() argument
290 struct fb_info *info = fbcon->helper.fbdev; in nouveau_fbcon_zfill()
309 struct nouveau_fbdev *fbcon = in nouveau_fbcon_create() local
311 struct drm_device *dev = fbcon->helper.dev; in nouveau_fbcon_create()
370 fbcon->helper.fb = &fb->base; in nouveau_fbcon_create()
386 drm_fb_helper_fill_info(info, &fbcon->helper, sizes); in nouveau_fbcon_create()
392 nouveau_fbcon_zfill(dev, fbcon); in nouveau_fbcon_create()
414 nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon) in nouveau_fbcon_destroy() argument
416 struct nouveau_framebuffer *nouveau_fb = nouveau_framebuffer(fbcon->helper.fb); in nouveau_fbcon_destroy()
418 drm_fb_helper_unregister_fbi(&fbcon->helper); in nouveau_fbcon_destroy()
419 drm_fb_helper_fini(&fbcon->helper); in nouveau_fbcon_destroy()
433 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_gpu_lockup() local
434 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_gpu_lockup()
456 drm_fb_helper_set_suspend(&drm->fbcon->helper, state); in nouveau_fbcon_set_suspend_work()
462 nouveau_fbcon_hotplug_resume(drm->fbcon); in nouveau_fbcon_set_suspend_work()
473 if (!drm->fbcon) in nouveau_fbcon_set_suspend()
488 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_output_poll_changed() local
491 if (!fbcon) in nouveau_fbcon_output_poll_changed()
494 mutex_lock(&fbcon->hotplug_lock); in nouveau_fbcon_output_poll_changed()
498 drm_fb_helper_hotplug_event(&fbcon->helper); in nouveau_fbcon_output_poll_changed()
510 fbcon->hotplug_waiting = true; in nouveau_fbcon_output_poll_changed()
517 mutex_unlock(&fbcon->hotplug_lock); in nouveau_fbcon_output_poll_changed()
521 nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) in nouveau_fbcon_hotplug_resume() argument
525 if (!fbcon) in nouveau_fbcon_hotplug_resume()
527 drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_hotplug_resume()
529 mutex_lock(&fbcon->hotplug_lock); in nouveau_fbcon_hotplug_resume()
530 if (fbcon->hotplug_waiting) { in nouveau_fbcon_hotplug_resume()
531 fbcon->hotplug_waiting = false; in nouveau_fbcon_hotplug_resume()
534 drm_fb_helper_hotplug_event(&fbcon->helper); in nouveau_fbcon_hotplug_resume()
536 mutex_unlock(&fbcon->hotplug_lock); in nouveau_fbcon_hotplug_resume()
543 struct nouveau_fbdev *fbcon; in nouveau_fbcon_init() local
551 fbcon = kzalloc(sizeof(struct nouveau_fbdev), GFP_KERNEL); in nouveau_fbcon_init()
552 if (!fbcon) in nouveau_fbcon_init()
555 drm->fbcon = fbcon; in nouveau_fbcon_init()
557 mutex_init(&fbcon->hotplug_lock); in nouveau_fbcon_init()
559 drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fbcon_helper_funcs); in nouveau_fbcon_init()
561 ret = drm_fb_helper_init(dev, &fbcon->helper, 4); in nouveau_fbcon_init()
565 ret = drm_fb_helper_single_add_all_connectors(&fbcon->helper); in nouveau_fbcon_init()
583 ret = drm_fb_helper_initial_config(&fbcon->helper, preferred_bpp); in nouveau_fbcon_init()
587 if (fbcon->helper.fbdev) in nouveau_fbcon_init()
588 fbcon->helper.fbdev->pixmap.buf_align = 4; in nouveau_fbcon_init()
592 drm_fb_helper_fini(&fbcon->helper); in nouveau_fbcon_init()
594 kfree(fbcon); in nouveau_fbcon_init()
603 if (!drm->fbcon) in nouveau_fbcon_fini()
607 nouveau_fbcon_destroy(dev, drm->fbcon); in nouveau_fbcon_fini()
608 kfree(drm->fbcon); in nouveau_fbcon_fini()
609 drm->fbcon = NULL; in nouveau_fbcon_fini()