From patchwork Fri Oct 12 18:14:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 1587881 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by patchwork2.kernel.org (Postfix) with ESMTP id 3D074DF24C for ; Fri, 12 Oct 2012 18:13:46 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 27C7D9E7F8 for ; Fri, 12 Oct 2012 11:13:46 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-wi0-f177.google.com (mail-wi0-f177.google.com [209.85.212.177]) by gabe.freedesktop.org (Postfix) with ESMTP id ECA559E752 for ; Fri, 12 Oct 2012 11:13:26 -0700 (PDT) Received: by mail-wi0-f177.google.com with SMTP id hj13so62353wib.12 for ; Fri, 12 Oct 2012 11:13:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=from:to:cc:subject:date:message-id:x-mailer; bh=9Vp6svMg6MmBNkV0ul98RN/sKUQwsTPpaMEE01JVIek=; b=cYLsdnDMvlUOn0jHV6satkOpgC/SNJ0SScwI6bGU89nZ1o/tognqoWl5GS6C410kVa 1ydZMfz0ti0YXKljABAeGsg204VTeFAvvN+ZYTp5KTyHTs6fjr5G3+a3ngyrgcFX4qrI wHtHgBpl9VtcAi512b2DoBfOkaPNYblz3jVds= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:x-gm-message-state; bh=9Vp6svMg6MmBNkV0ul98RN/sKUQwsTPpaMEE01JVIek=; b=LvBd9Ji3EIVmWn9hcC8eQJGbN/nSn/9LE/ucK/K2SoRE+AeJg5CnPfWGOml4NOknAW ZJd1DY31gGoJq8KeCUluTPLRRE1B3bJuFQ8RHs40L3XfXE/AWpOod+r61MmCjAqEAT7L hooi5LK+04rnVPizixex0EXkFk/GZUMLV64eoAx8+koZ/Q7FsC9I0gh6RkTfpa7GUOZR FP07DNtX7X37GHbcQtWeD2lGKJ3xhWJckRzMT5MiIGR7X7ZOa+t9zucrTOx6TQp0P61D YxNECLK34QoZ8Y8+aLM0OyHRJ1hvtvVQlWTcLY81zc17mQtwbTtKUVQnjgtFFQ07m+6O ikiQ== Received: by 10.180.73.76 with SMTP id j12mr7836891wiv.11.1350065606033; Fri, 12 Oct 2012 11:13:26 -0700 (PDT) Received: from phenom.ffwll.local (178-83-130-250.dynamic.hispeed.ch. [178.83.130.250]) by mx.google.com with ESMTPS id p4sm4969045wix.0.2012.10.12.11.13.25 (version=TLSv1/SSLv3 cipher=OTHER); Fri, 12 Oct 2012 11:13:25 -0700 (PDT) From: Daniel Vetter To: Intel Graphics Development Date: Fri, 12 Oct 2012 20:14:05 +0200 Message-Id: <1350065645-3766-1-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 1.7.10.4 X-Gm-Message-State: ALoCoQngustlP3eeS5V+L9RDFrKYNfP5vQUfQk9u6TpjwW/dVaM/QJmB3lxBCJYgA3BueTyebN8g Cc: Daniel Vetter Subject: [Intel-gfx] [PATCH] drm/i915: move hpd handling to (ibx|cpt)_irq_handler X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+patchwork-intel-gfx=patchwork.kernel.org@lists.freedesktop.org Somehow this was left out in the refactoring that introduced the pch handlers. Avoids a hotplug_mask special case in the ilk_irq_handler. Noticed while hunting down the pch hotplug bits. Signed-off-by: Daniel Vetter Reviewed-by: Paulo Zanoni --- drivers/gpu/drm/i915/i915_irq.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 59f3058..14d74c0 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -606,6 +606,9 @@ static void ibx_irq_handler(struct drm_device *dev, u32 pch_iir) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int pipe; + if (pch_iir & SDE_HOTPLUG_MASK) + queue_work(dev_priv->wq, &dev_priv->hotplug_work); + if (pch_iir & SDE_AUDIO_POWER_MASK) DRM_DEBUG_DRIVER("PCH audio power change on port %d\n", (pch_iir & SDE_AUDIO_POWER_MASK) >> @@ -646,6 +649,9 @@ static void cpt_irq_handler(struct drm_device *dev, u32 pch_iir) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int pipe; + if (pch_iir & SDE_HOTPLUG_MASK_CPT) + queue_work(dev_priv->wq, &dev_priv->hotplug_work); + if (pch_iir & SDE_AUDIO_POWER_MASK_CPT) DRM_DEBUG_DRIVER("PCH audio power change on port %d\n", (pch_iir & SDE_AUDIO_POWER_MASK_CPT) >> @@ -709,8 +715,6 @@ static irqreturn_t ivybridge_irq_handler(int irq, void *arg) if (de_iir & DE_PCH_EVENT_IVB) { u32 pch_iir = I915_READ(SDEIIR); - if (pch_iir & SDE_HOTPLUG_MASK_CPT) - queue_work(dev_priv->wq, &dev_priv->hotplug_work); cpt_irq_handler(dev, pch_iir); /* clear PCH hotplug event before clear CPU irq */ @@ -751,7 +755,6 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; int ret = IRQ_NONE; u32 de_iir, gt_iir, de_ier, pch_iir, pm_iir; - u32 hotplug_mask; atomic_inc(&dev_priv->irq_received); @@ -769,11 +772,6 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) (!IS_GEN6(dev) || pm_iir == 0)) goto done; - if (HAS_PCH_CPT(dev)) - hotplug_mask = SDE_HOTPLUG_MASK_CPT; - else - hotplug_mask = SDE_HOTPLUG_MASK; - ret = IRQ_HANDLED; if (IS_GEN5(dev)) @@ -802,8 +800,6 @@ static irqreturn_t ironlake_irq_handler(int irq, void *arg) /* check event from PCH */ if (de_iir & DE_PCH_EVENT) { - if (pch_iir & hotplug_mask) - queue_work(dev_priv->wq, &dev_priv->hotplug_work); if (HAS_PCH_CPT(dev)) cpt_irq_handler(dev, pch_iir); else