diff mbox

[4/5] drm/i915: Delay 250ms before running the hotplug code

Message ID 1311662194-4050-5-git-send-email-keithp@keithp.com (mailing list archive)
State New, archived
Headers show

Commit Message

Keith Packard July 26, 2011, 6:36 a.m. UTC
If the connector is inserted or removed slowly, the hotplug line may
well change state before the data lines do. So, assume the user isn't
trying to fool us and give them 250ms to get the connector plugged or
unplugged.

Signed-off-by: Keith Packard <keithp@keithp.com>
---
 drivers/gpu/drm/i915/i915_irq.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

Comments

Daniel Vetter July 26, 2011, 7:44 a.m. UTC | #1
queue_delayed_work? Plays nicer with other workqueue-items.

-Daniel

PS: Scrap my other mail, just noticed that the merged patched r-b'ed
by Jesse uses the mode_config mutex.
Keith Packard July 26, 2011, 3:24 p.m. UTC | #2
On Tue, 26 Jul 2011 09:44:32 +0200, Daniel Vetter <daniel@ffwll.ch> wrote:

> queue_delayed_work? Plays nicer with other workqueue-items.

Yeah, I'll change this.
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 9da2a2c..e3ce1c3 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -306,6 +306,8 @@  static void i915_hotplug_work_func(struct work_struct *work)
 	struct drm_mode_config *mode_config = &dev->mode_config;
 	struct intel_encoder *encoder;
 
+	/* Wait a bit so that the connector change can be completed */
+	msleep(250);
 	mutex_lock(&mode_config->mutex);
 	DRM_DEBUG_KMS("running encoder hotplug functions\n");