diff mbox

drm/i915: forward hotplug events again

Message ID 20180105014255.4874-1-rodrigo.vivi@intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Rodrigo Vivi Jan. 5, 2018, 1:42 a.m. UTC
As mentioned on commit '88be58be886f ("drm/i915/fbdev:
Always forward hotplug events") we have real valid cases
of hotplugs where fbdev is not fully setup yet.

Unfortunately this remove the checkpoint after the sync point.
So probably we can live without it. Or we need a more robust
serialization.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
Fixes: a45b30a6c5db ("drm/i915/fbdev: Serialise early hotplug events with async fbdev config")
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Lukas Wunner <lukas@wunner.de>
Cc: jrg2718@gmail.com
Cc: stable@vger.kernel.org
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_fbdev.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Chris Wilson Jan. 5, 2018, 7:31 a.m. UTC | #1
Quoting Rodrigo Vivi (2018-01-05 01:42:55)
> As mentioned on commit '88be58be886f ("drm/i915/fbdev:
> Always forward hotplug events") we have real valid cases
> of hotplugs where fbdev is not fully setup yet.
> 
> Unfortunately this remove the checkpoint after the sync point.
> So probably we can live without it. Or we need a more robust
> serialization.

Heh? So you are removing the check as to whether or not the async init
worked. Without the vma, fbdev doesn't exist and the hotplug event will
cause the machine to die (see recent history for examples). I think what
you intend is to always allocate a basic 1024x768 vma if the init config
finds no crtcs to setup.
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index da48af11eb6b..7a6069b389f2 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -801,8 +801,7 @@  void intel_fbdev_output_poll_changed(struct drm_device *dev)
 		return;
 
 	intel_fbdev_sync(ifbdev);
-	if (ifbdev->vma)
-		drm_fb_helper_hotplug_event(&ifbdev->helper);
+	drm_fb_helper_hotplug_event(&ifbdev->helper);
 }
 
 void intel_fbdev_restore_mode(struct drm_device *dev)