Lines Matching defs:helper

6  * DRM framebuffer helper functions
88 * The fb helper functions are useful to provide an fbdev on top of a drm kernel
90 * helper functions used by many drivers to implement the kernel mode setting
100 * They should also notify the fb helper code from updates to the output
107 * All other functions exported by the fb helper library can be used to
112 * helper must be called first to initialize the minimum required to make
117 * encoders and connectors. To finish up the fbdev helper initialization, the
152 * @info: fbdev registered by the helper
156 struct drm_fb_helper *helper = info->par;
160 list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) {
161 mutex_lock(&helper->client.modeset_mutex);
162 drm_client_for_each_modeset(mode_set, &helper->client) {
179 mutex_unlock(&helper->client.modeset_mutex);
188 * @info: fbdev registered by the helper
192 struct drm_fb_helper *helper = info->par;
193 struct drm_client_dev *client = &helper->client;
194 struct drm_device *dev = helper->dev;
268 * @fb_helper: driver-allocated fbdev helper, can be NULL
271 * when implementing an fbcon on top of kms using this helper. This ensures that
285 * restore fbcon display for all kms driver's using this helper, used for sysrq
291 struct drm_fb_helper *helper;
296 list_for_each_entry(helper, &kernel_fb_helper_list, kernel_fb_list) {
297 struct drm_device *dev = helper->dev;
302 mutex_lock(&helper->lock);
303 ret = drm_client_modeset_commit_locked(&helper->client);
306 mutex_unlock(&helper->lock);
347 * @info: fbdev registered by the helper
382 struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper,
386 fb_set_suspend(helper->fbdev, 0);
414 struct drm_fb_helper *helper = container_of(work, struct drm_fb_helper,
416 struct drm_clip_rect *clip = &helper->dirty_clip;
421 spin_lock_irqsave(&helper->dirty_lock, flags);
425 spin_unlock_irqrestore(&helper->dirty_lock, flags);
431 if (helper->buffer) {
432 vaddr = drm_client_buffer_vmap(helper->buffer);
435 drm_fb_helper_dirty_blit_real(helper, &clip_copy);
437 if (helper->fb->funcs->dirty)
438 helper->fb->funcs->dirty(helper->fb, NULL, 0, 0,
441 if (helper->buffer)
442 drm_client_buffer_vunmap(helper->buffer);
449 * @helper: driver-allocated fbdev helper structure to set up
450 * @funcs: pointer to structure of functions associate with this helper
452 * Sets up the bare minimum to make the framebuffer helper usable. This is
455 void drm_fb_helper_prepare(struct drm_device *dev, struct drm_fb_helper *helper,
458 INIT_LIST_HEAD(&helper->kernel_fb_list);
459 spin_lock_init(&helper->dirty_lock);
460 INIT_WORK(&helper->resume_work, drm_fb_helper_resume_worker);
461 INIT_WORK(&helper->dirty_work, drm_fb_helper_dirty_work);
462 helper->dirty_clip.x1 = helper->dirty_clip.y1 = ~0;
463 mutex_init(&helper->lock);
464 helper->funcs = funcs;
465 helper->dev = dev;
472 * @fb_helper: driver-allocated fbdev helper structure to initialize
474 * This allocates the structures for the fbdev helper with the given limits.
512 * @fb_helper: driver-allocated fbdev helper
514 * A helper to alloc fb_info and the members cmap and apertures. Called
539 * for each IORESOURCE_MEM resource helper->dev->dev has and also
566 * @fb_helper: driver-allocated fbdev helper, can be NULL
581 * @fb_helper: driver-allocated fbdev helper, can be NULL
636 struct drm_fb_helper *helper = info->par;
637 struct drm_clip_rect *clip = &helper->dirty_clip;
640 if (!drm_fbdev_use_shadow_fb(helper))
643 spin_lock_irqsave(&helper->dirty_lock, flags);
648 spin_unlock_irqrestore(&helper->dirty_lock, flags);
650 schedule_work(&helper->dirty_work);
727 * @info: fbdev registered by the helper
743 * @info: fbdev registered by the helper
759 * @info: fbdev registered by the helper
775 * @info: fbdev registered by the helper
791 * @info: fbdev registered by the helper
807 * @info: fbdev registered by the helper
823 * @fb_helper: driver-allocated fbdev helper, can be NULL
840 * @fb_helper: driver-allocated fbdev helper, can be NULL
1084 * @info: fbdev registered by the helper
1121 * @info: fbdev registered by the helper
1125 * A helper to implement the standard fbdev ioctl. Only
1266 * @info: fbdev registered by the helper
1339 * @info: fbdev registered by the helper
1444 * @info: fbdev registered by the helper
1694 * @fb_helper: fb helper instance to use as template
1697 * Sets up the variable and fixed fbdev metainformation from the given fb helper
1862 * as a helper to setup simple default values for the fbdev info structure.
1905 * @fb_helper: driver-allocated fbdev helper, can be NULL
1958 * drm_fb_helper_lastclose - DRM driver lastclose helper for fbdev emulation
1972 * helper for fbdev emulation