Lines Matching refs:helper

154 	struct drm_fb_helper *helper = info->par;  in drm_fb_helper_debug_enter()  local
158 list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) { in drm_fb_helper_debug_enter()
159 mutex_lock(&helper->client.modeset_mutex); in drm_fb_helper_debug_enter()
160 drm_client_for_each_modeset(mode_set, &helper->client) { in drm_fb_helper_debug_enter()
177 mutex_unlock(&helper->client.modeset_mutex); in drm_fb_helper_debug_enter()
190 struct drm_fb_helper *helper = info->par; in drm_fb_helper_debug_leave() local
191 struct drm_client_dev *client = &helper->client; in drm_fb_helper_debug_leave()
282 struct drm_fb_helper *helper; in drm_fb_helper_force_kernel_mode() local
287 list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) { in drm_fb_helper_force_kernel_mode()
288 struct drm_device *dev = helper->dev; in drm_fb_helper_force_kernel_mode()
293 mutex_lock(&helper->lock); in drm_fb_helper_force_kernel_mode()
294 ret = drm_client_modeset_commit_force(&helper->client); in drm_fb_helper_force_kernel_mode()
297 mutex_unlock(&helper->lock); in drm_fb_helper_force_kernel_mode()
373 struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, in drm_fb_helper_resume_worker() local
377 fb_set_suspend(helper->fbdev, 0); in drm_fb_helper_resume_worker()
401 struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, in drm_fb_helper_dirty_work() local
403 struct drm_clip_rect *clip = &helper->dirty_clip; in drm_fb_helper_dirty_work()
408 spin_lock_irqsave(&helper->dirty_lock, flags); in drm_fb_helper_dirty_work()
412 spin_unlock_irqrestore(&helper->dirty_lock, flags); in drm_fb_helper_dirty_work()
418 if (helper->buffer) { in drm_fb_helper_dirty_work()
419 vaddr = drm_client_buffer_vmap(helper->buffer); in drm_fb_helper_dirty_work()
422 drm_fb_helper_dirty_blit_real(helper, &clip_copy); in drm_fb_helper_dirty_work()
424 if (helper->fb->funcs->dirty) in drm_fb_helper_dirty_work()
425 helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, in drm_fb_helper_dirty_work()
428 if (helper->buffer) in drm_fb_helper_dirty_work()
429 drm_client_buffer_vunmap(helper->buffer); in drm_fb_helper_dirty_work()
442 void drm_fb_helper_prepare(struct drm_device *dev, struct drm_fb_helper *helper, in drm_fb_helper_prepare() argument
445 INIT_LIST_HEAD(&helper->kernel_fb_list); in drm_fb_helper_prepare()
446 spin_lock_init(&helper->dirty_lock); in drm_fb_helper_prepare()
447 INIT_WORK(&helper->resume_work, drm_fb_helper_resume_worker); in drm_fb_helper_prepare()
448 INIT_WORK(&helper->dirty_work, drm_fb_helper_dirty_work); in drm_fb_helper_prepare()
449 helper->dirty_clip.x1 = helper->dirty_clip.y1 = ~0; in drm_fb_helper_prepare()
450 mutex_init(&helper->lock); in drm_fb_helper_prepare()
451 helper->funcs = funcs; in drm_fb_helper_prepare()
452 helper->dev = dev; in drm_fb_helper_prepare()
631 struct drm_fb_helper *helper = info->par; in drm_fb_helper_dirty() local
632 struct drm_clip_rect *clip = &helper->dirty_clip; in drm_fb_helper_dirty()
635 if (!drm_fbdev_use_shadow_fb(helper)) in drm_fb_helper_dirty()
638 spin_lock_irqsave(&helper->dirty_lock, flags); in drm_fb_helper_dirty()
643 spin_unlock_irqrestore(&helper->dirty_lock, flags); in drm_fb_helper_dirty()
645 schedule_work(&helper->dirty_work); in drm_fb_helper_dirty()