All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration
@ 2018-04-18 23:41 José Roberto de Souza
  2018-04-19  0:13 ` ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4) Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: José Roberto de Souza @ 2018-04-18 23:41 UTC (permalink / raw)
  To: intel-gfx; +Cc: Rodrigo Vivi

If the initial fbdev configuration(intel_fbdev_initial_config()) runs and
there still no sink connected it will cause
drm_fb_helper_initial_config() to return 0 as no error happened(but
internally the return is -EAGAIN).
Because no framebuffer was allocated, when a sink is connected
intel_fbdev_output_poll_changed() will not execute
drm_fb_helper_hotplug_event() that would trigger another try to do the
initial fbdev configuration.

So here allowing drm_fb_helper_hotplug_event() to be executed when there
is not frambebuffer allocated and fbdev was not setup yet.

This issue also happens when a MST DP sink is connected since boot, as
the MST topology is discovered in parallel if intel_fbdev_initial_config()
is executed before the first sink MST is discovered it will cause this
same issue.

This is a follow up patch of
https://patchwork.freedesktop.org/patch/196089/

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104158
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=104425
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---

Changes from v1:
- not creating a dump framebuffer anymore, instead just allowing
drm_fb_helper_hotplug_event() to execute when fbdev is not setup yet.

 drivers/gpu/drm/i915/intel_fbdev.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_fbdev.c b/drivers/gpu/drm/i915/intel_fbdev.c
index 7d41d139341b..e9e02b58b7be 100644
--- a/drivers/gpu/drm/i915/intel_fbdev.c
+++ b/drivers/gpu/drm/i915/intel_fbdev.c
@@ -807,7 +807,7 @@ void intel_fbdev_output_poll_changed(struct drm_device *dev)
 		return;
 
 	intel_fbdev_sync(ifbdev);
-	if (ifbdev->vma)
+	if (ifbdev->vma || ifbdev->helper.deferred_setup)
 		drm_fb_helper_hotplug_event(&ifbdev->helper);
 }
 
-- 
2.17.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-04-24 14:50 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-18 23:41 [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration José Roberto de Souza
2018-04-19  0:13 ` ✓ Fi.CI.BAT: success for drm/i915/fbdev: Enable late fbdev initial configuration (rev4) Patchwork
2018-04-19  2:08 ` ✓ Fi.CI.IGT: " Patchwork
2018-04-19 12:50 ` [PATCH v2] drm/i915/fbdev: Enable late fbdev initial configuration Jani Nikula
2018-04-19 20:12   ` Souza, Jose
2018-04-20  9:33 ` [v2] " Paul Menzel
2018-04-23 14:05   ` Jani Nikula
2018-04-24  8:47 ` [PATCH v2] " Chris Wilson
2018-04-24 14:50   ` Jani Nikula

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.