On to, 2016-03-31 at 17:13 +0100, Chris Wilson wrote: > On Thu, Mar 31, 2016 at 07:05:21PM +0300, Joonas Lahtinen wrote: > > > > On to, 2016-03-31 at 14:57 +0100, Chris Wilson wrote: > > > > > > void intel_fbdev_restore_mode(struct drm_device *dev) > > > { > > > - int ret; > > > - struct drm_i915_private *dev_priv = dev->dev_private; > > > - struct intel_fbdev *ifbdev = dev_priv->fbdev; > > > - struct drm_fb_helper *fb_helper; > > > + struct intel_fbdev *ifbdev = intel_fbdev_get_if_active(dev); > > > > > > - async_synchronize_full(); > > What's with the async_synchronize_full() begin removed completely? > Because it's not just wrong, but completely broken imo. > > During suspend, we want to freeze the async task not flush. Then here > and during resume we skip the restoration of the unregistered fbdev, and > then when the task is woken it can complete the registration and present > the vanilla ifbdev. > > During hibernation, we really just want to cancel the task and start > from scratch on resume. Maybe Ack from Lukas with those? As this is effectively a revert of : commit a7442b93cf32c1e1ddb721a26cd1f92302e2a222 Author: Lukas Wunner <lukas@xxxxxxxxx> Date: Wed Mar 9 12:52:53 2016 +0100 drm/i915: Fix races on fbdev Committed without R-b by Daniel, so maybe he has a comment on it too. Regards, Joonas > -Chris > -- Joonas Lahtinen Open Source Technology Center Intel Corporation _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx