|
@@ -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);
|