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 info->par = fbcon; in nouveau_fbcon_create()
373 fbcon->helper.fb = &fb->base; in nouveau_fbcon_create()
393 drm_fb_helper_fill_var(info, &fbcon->helper, sizes->fb_width, sizes->fb_height); in nouveau_fbcon_create()
399 nouveau_fbcon_zfill(dev, fbcon); in nouveau_fbcon_create()
421 nouveau_fbcon_destroy(struct drm_device *dev, struct nouveau_fbdev *fbcon) in nouveau_fbcon_destroy() argument
423 struct nouveau_framebuffer *nouveau_fb = nouveau_framebuffer(fbcon->helper.fb); in nouveau_fbcon_destroy()
425 drm_fb_helper_unregister_fbi(&fbcon->helper); in nouveau_fbcon_destroy()
426 drm_fb_helper_fini(&fbcon->helper); in nouveau_fbcon_destroy()
440 struct nouveau_fbdev *fbcon = info->par; in nouveau_fbcon_gpu_lockup() local
441 struct nouveau_drm *drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_gpu_lockup()
463 drm_fb_helper_set_suspend(&drm->fbcon->helper, state); in nouveau_fbcon_set_suspend_work()
469 nouveau_fbcon_hotplug_resume(drm->fbcon); in nouveau_fbcon_set_suspend_work()
480 if (!drm->fbcon) in nouveau_fbcon_set_suspend()
495 struct nouveau_fbdev *fbcon = drm->fbcon; in nouveau_fbcon_output_poll_changed() local
498 if (!fbcon) in nouveau_fbcon_output_poll_changed()
501 mutex_lock(&fbcon->hotplug_lock); in nouveau_fbcon_output_poll_changed()
505 drm_fb_helper_hotplug_event(&fbcon->helper); in nouveau_fbcon_output_poll_changed()
517 fbcon->hotplug_waiting = true; in nouveau_fbcon_output_poll_changed()
524 mutex_unlock(&fbcon->hotplug_lock); in nouveau_fbcon_output_poll_changed()
528 nouveau_fbcon_hotplug_resume(struct nouveau_fbdev *fbcon) in nouveau_fbcon_hotplug_resume() argument
532 if (!fbcon) in nouveau_fbcon_hotplug_resume()
534 drm = nouveau_drm(fbcon->helper.dev); in nouveau_fbcon_hotplug_resume()
536 mutex_lock(&fbcon->hotplug_lock); in nouveau_fbcon_hotplug_resume()
537 if (fbcon->hotplug_waiting) { in nouveau_fbcon_hotplug_resume()
538 fbcon->hotplug_waiting = false; in nouveau_fbcon_hotplug_resume()
541 drm_fb_helper_hotplug_event(&fbcon->helper); in nouveau_fbcon_hotplug_resume()
543 mutex_unlock(&fbcon->hotplug_lock); in nouveau_fbcon_hotplug_resume()
550 struct nouveau_fbdev *fbcon; in nouveau_fbcon_init() local
558 fbcon = kzalloc(sizeof(struct nouveau_fbdev), GFP_KERNEL); in nouveau_fbcon_init()
559 if (!fbcon) in nouveau_fbcon_init()
562 drm->fbcon = fbcon; in nouveau_fbcon_init()
564 mutex_init(&fbcon->hotplug_lock); in nouveau_fbcon_init()
566 drm_fb_helper_prepare(dev, &fbcon->helper, &nouveau_fbcon_helper_funcs); in nouveau_fbcon_init()
568 ret = drm_fb_helper_init(dev, &fbcon->helper, 4); in nouveau_fbcon_init()
572 ret = drm_fb_helper_single_add_all_connectors(&fbcon->helper); in nouveau_fbcon_init()
590 ret = drm_fb_helper_initial_config(&fbcon->helper, preferred_bpp); in nouveau_fbcon_init()
594 if (fbcon->helper.fbdev) in nouveau_fbcon_init()
595 fbcon->helper.fbdev->pixmap.buf_align = 4; in nouveau_fbcon_init()
599 drm_fb_helper_fini(&fbcon->helper); in nouveau_fbcon_init()
601 kfree(fbcon); in nouveau_fbcon_init()
610 if (!drm->fbcon) in nouveau_fbcon_fini()
614 nouveau_fbcon_destroy(dev, drm->fbcon); in nouveau_fbcon_fini()
615 kfree(drm->fbcon); in nouveau_fbcon_fini()
616 drm->fbcon = NULL; in nouveau_fbcon_fini()