mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-18 02:46:06 +00:00
drm/fb-helper: Remove drm_mode_config_fb.
Remove drm_mode_config_fb, I don't see the point of it. To make it clear that it's ok to use plane->fb directly, move up drm_drv_uses_atomic_modeset so the code is skipped for atomic drivers that require plane_state->fb. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170703115106.18783-1-maarten.lankhorst@linux.intel.com Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
931e8c661a
commit
7114d2e22f
@ -298,20 +298,6 @@ int drm_fb_helper_debug_enter(struct fb_info *info)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(drm_fb_helper_debug_enter);
|
EXPORT_SYMBOL(drm_fb_helper_debug_enter);
|
||||||
|
|
||||||
/* Find the real fb for a given fb helper CRTC */
|
|
||||||
static struct drm_framebuffer *drm_mode_config_fb(struct drm_crtc *crtc)
|
|
||||||
{
|
|
||||||
struct drm_device *dev = crtc->dev;
|
|
||||||
struct drm_crtc *c;
|
|
||||||
|
|
||||||
drm_for_each_crtc(c, dev) {
|
|
||||||
if (crtc->base.id == c->base.id)
|
|
||||||
return c->primary->fb;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* drm_fb_helper_debug_leave - implementation for &fb_ops.fb_debug_leave
|
* drm_fb_helper_debug_leave - implementation for &fb_ops.fb_debug_leave
|
||||||
* @info: fbdev registered by the helper
|
* @info: fbdev registered by the helper
|
||||||
@ -328,8 +314,11 @@ int drm_fb_helper_debug_leave(struct fb_info *info)
|
|||||||
struct drm_mode_set *mode_set = &helper->crtc_info[i].mode_set;
|
struct drm_mode_set *mode_set = &helper->crtc_info[i].mode_set;
|
||||||
|
|
||||||
crtc = mode_set->crtc;
|
crtc = mode_set->crtc;
|
||||||
|
if (drm_drv_uses_atomic_modeset(crtc->dev))
|
||||||
|
continue;
|
||||||
|
|
||||||
funcs = crtc->helper_private;
|
funcs = crtc->helper_private;
|
||||||
fb = drm_mode_config_fb(crtc);
|
fb = crtc->primary->fb;
|
||||||
|
|
||||||
if (!crtc->enabled)
|
if (!crtc->enabled)
|
||||||
continue;
|
continue;
|
||||||
@ -342,9 +331,6 @@ int drm_fb_helper_debug_leave(struct fb_info *info)
|
|||||||
if (funcs->mode_set_base_atomic == NULL)
|
if (funcs->mode_set_base_atomic == NULL)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (drm_drv_uses_atomic_modeset(crtc->dev))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
drm_fb_helper_restore_lut_atomic(mode_set->crtc);
|
drm_fb_helper_restore_lut_atomic(mode_set->crtc);
|
||||||
funcs->mode_set_base_atomic(mode_set->crtc, fb, crtc->x,
|
funcs->mode_set_base_atomic(mode_set->crtc, fb, crtc->x,
|
||||||
crtc->y, LEAVE_ATOMIC_MODE_SET);
|
crtc->y, LEAVE_ATOMIC_MODE_SET);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user