]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
drm/i915/irq: move hotplug even debug print to second connector loop
authorJani Nikula <jani.nikula@intel.com>
Thu, 18 Jun 2015 10:06:13 +0000 (13:06 +0300)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 22 Jun 2015 12:59:24 +0000 (14:59 +0200)
The hotplug work function has two loops iterating over connectors, the
first for handling hotplug disabling due to irq storms and the second
for actually handling the hotplug events. Move the debug printing into
the second one, so we can abstract the storm handling better. This may
change the output ordering slightly when there are multiple simultaneous
hotplug events.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_irq.c

index 56db9e7474646a4521b4464cf06f174c9521ed82..d64d6895a2e52fd795a1cb467f0e9fcd1f0f2faa 100644 (file)
@@ -917,10 +917,6 @@ static void i915_hotplug_work_func(struct work_struct *work)
                                | DRM_CONNECTOR_POLL_DISCONNECT;
                        hpd_disabled = true;
                }
-               if (hpd_event_bits & (1 << intel_encoder->hpd_pin)) {
-                       DRM_DEBUG_KMS("Connector %s (pin %i) received hotplug event.\n",
-                                     connector->name, intel_encoder->hpd_pin);
-               }
        }
         /* if there were no outputs to poll, poll was disabled,
          * therefore make sure it's enabled when disabling HPD on
@@ -939,6 +935,8 @@ static void i915_hotplug_work_func(struct work_struct *work)
                        continue;
                intel_encoder = intel_connector->encoder;
                if (hpd_event_bits & (1 << intel_encoder->hpd_pin)) {
+                       DRM_DEBUG_KMS("Connector %s (pin %i) received hotplug event.\n",
+                                     connector->name, intel_encoder->hpd_pin);
                        if (intel_encoder->hot_plug)
                                intel_encoder->hot_plug(intel_encoder);
                        if (intel_hpd_irq_event(dev, connector))