Lines Matching refs:helper

155 	struct drm_fb_helper *helper = info->par;  in drm_fb_helper_debug_enter()  local
159 list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) { in drm_fb_helper_debug_enter()
160 mutex_lock(&helper->client.modeset_mutex); in drm_fb_helper_debug_enter()
161 drm_client_for_each_modeset(mode_set, &helper->client) { in drm_fb_helper_debug_enter()
178 mutex_unlock(&helper->client.modeset_mutex); in drm_fb_helper_debug_enter()
191 struct drm_fb_helper *helper = info->par; in drm_fb_helper_debug_leave() local
192 struct drm_client_dev *client = &helper->client; in drm_fb_helper_debug_leave()
193 struct drm_device *dev = helper->dev; in drm_fb_helper_debug_leave()
286 struct drm_fb_helper *helper; in drm_fb_helper_restore_work_fn() local
289 list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) { in drm_fb_helper_restore_work_fn()
290 struct drm_device *dev = helper->dev; in drm_fb_helper_restore_work_fn()
295 mutex_lock(&helper->lock); in drm_fb_helper_restore_work_fn()
296 drm_client_modeset_commit_locked(&helper->client); in drm_fb_helper_restore_work_fn()
297 mutex_unlock(&helper->lock); in drm_fb_helper_restore_work_fn()
365 struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, in drm_fb_helper_resume_worker() local
369 fb_set_suspend(helper->info, 0); in drm_fb_helper_resume_worker()
373 static void drm_fb_helper_fb_dirty(struct drm_fb_helper *helper) in drm_fb_helper_fb_dirty() argument
375 struct drm_device *dev = helper->dev; in drm_fb_helper_fb_dirty()
376 struct drm_clip_rect *clip = &helper->damage_clip; in drm_fb_helper_fb_dirty()
381 if (drm_WARN_ON_ONCE(dev, !helper->funcs->fb_dirty)) in drm_fb_helper_fb_dirty()
384 spin_lock_irqsave(&helper->damage_lock, flags); in drm_fb_helper_fb_dirty()
388 spin_unlock_irqrestore(&helper->damage_lock, flags); in drm_fb_helper_fb_dirty()
390 ret = helper->funcs->fb_dirty(helper, &clip_copy); in drm_fb_helper_fb_dirty()
401 spin_lock_irqsave(&helper->damage_lock, flags); in drm_fb_helper_fb_dirty()
406 spin_unlock_irqrestore(&helper->damage_lock, flags); in drm_fb_helper_fb_dirty()
411 struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper, damage_work); in drm_fb_helper_damage_work() local
413 drm_fb_helper_fb_dirty(helper); in drm_fb_helper_damage_work()
426 void drm_fb_helper_prepare(struct drm_device *dev, struct drm_fb_helper *helper, in drm_fb_helper_prepare() argument
444 INIT_LIST_HEAD(&helper->kernel_fb_list); in drm_fb_helper_prepare()
445 spin_lock_init(&helper->damage_lock); in drm_fb_helper_prepare()
446 INIT_WORK(&helper->resume_work, drm_fb_helper_resume_worker); in drm_fb_helper_prepare()
447 INIT_WORK(&helper->damage_work, drm_fb_helper_damage_work); in drm_fb_helper_prepare()
448 helper->damage_clip.x1 = helper->damage_clip.y1 = ~0; in drm_fb_helper_prepare()
449 mutex_init(&helper->lock); in drm_fb_helper_prepare()
450 helper->funcs = funcs; in drm_fb_helper_prepare()
451 helper->dev = dev; in drm_fb_helper_prepare()
452 helper->preferred_bpp = preferred_bpp; in drm_fb_helper_prepare()
614 static void drm_fb_helper_add_damage_clip(struct drm_fb_helper *helper, u32 x, u32 y, in drm_fb_helper_add_damage_clip() argument
617 struct drm_clip_rect *clip = &helper->damage_clip; in drm_fb_helper_add_damage_clip()
620 spin_lock_irqsave(&helper->damage_lock, flags); in drm_fb_helper_add_damage_clip()
625 spin_unlock_irqrestore(&helper->damage_lock, flags); in drm_fb_helper_add_damage_clip()
628 static void drm_fb_helper_damage(struct drm_fb_helper *helper, u32 x, u32 y, in drm_fb_helper_damage() argument
631 drm_fb_helper_add_damage_clip(helper, x, y, width, height); in drm_fb_helper_damage()
633 schedule_work(&helper->damage_work); in drm_fb_helper_damage()
705 struct drm_fb_helper *helper = info->par; in drm_fb_helper_deferred_io() local
732 drm_fb_helper_damage(helper, damage_area.x1, damage_area.y1, in drm_fb_helper_deferred_io()