From patchwork Tue Jun 21 09:10:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Vetter X-Patchwork-Id: 9189981 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 897AE60756 for ; Tue, 21 Jun 2016 09:11:13 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 7704527FBB for ; Tue, 21 Jun 2016 09:11:13 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 6BEB327FE4; Tue, 21 Jun 2016 09:11:13 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 2C30827FBB for ; Tue, 21 Jun 2016 09:11:13 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id DC03B6E68A; Tue, 21 Jun 2016 09:11:00 +0000 (UTC) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from mail-lb0-x241.google.com (mail-lb0-x241.google.com [IPv6:2a00:1450:4010:c04::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7712B6E676 for ; Tue, 21 Jun 2016 09:10:48 +0000 (UTC) Received: by mail-lb0-x241.google.com with SMTP id td3so1093906lbb.2 for ; Tue, 21 Jun 2016 02:10:48 -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:in-reply-to:references; bh=PbibMbyrlqaUkd4RNP1aXRjRZd4RRo5tWMMNkalQhyA=; b=OrZATJtJZEk6u7u3kZo8FxwODOG48WQS/VhnIP5zZUcnnLXKNMFpWfv2+VpJczcimS ZKkrxjIFMOSnRftbvkqF6QXsbWq/XenREFe31m7Z/g5XrjEMV0eEBdBu+CV1N//CA9JS iLdqzE59V50iPLOnLnet7ssDDEFYNaylANacQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PbibMbyrlqaUkd4RNP1aXRjRZd4RRo5tWMMNkalQhyA=; b=dlgipUQu8hCiTUAFvcq9nkVcsU2PVNB4rVDWcX96bst7eH9MGMO5sExuzRqX/KR1Kx mMxU+QfVQoUpEtmt6MwBbMKbhXWww9r1HkWVbXplczqQSbDdUvva/7lDJgFVrjfTl2+t 1COSIFUEqsjCwyd4X8M0f4pJoqi8z4IK18A8tRa0MysC0oj3rm+Z0+ENPDWwS6yXWkMg Or43vmwRIDFa0SHUanwgC1xPK5yYo3mDy41cF8Et6yhTVUB1S14dGZN1qCiA3nS+MRVY Fxz0FUnW295YSQL4wHl19hVNppPw5aG9YQU3uNBbIuLnm//DkmZOjG8zSjxE2JyMWjb7 p93g== X-Gm-Message-State: ALyK8tKbh2pVISC/tbLWriLEQNTMrHhDFkJvFFYUrsUdrIbWQmzIMrqv8U7TgHtl4GY+gQ== X-Received: by 10.194.22.169 with SMTP id e9mr18548012wjf.128.1466500246176; Tue, 21 Jun 2016 02:10:46 -0700 (PDT) Received: from phenom.ffwll.local ([2a02:168:56b5:0:ac27:b86c:7764:9429]) by smtp.gmail.com with ESMTPSA id v70sm1930380wmf.18.2016.06.21.02.10.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 21 Jun 2016 02:10:45 -0700 (PDT) From: Daniel Vetter To: DRI Development Date: Tue, 21 Jun 2016 11:10:30 +0200 Message-Id: <1466500235-21282-6-git-send-email-daniel.vetter@ffwll.ch> X-Mailer: git-send-email 2.8.1 In-Reply-To: <1466500235-21282-1-git-send-email-daniel.vetter@ffwll.ch> References: <1466500235-21282-1-git-send-email-daniel.vetter@ffwll.ch> Cc: Daniel Vetter , Intel Graphics Development , Daniel Vetter Subject: [Intel-gfx] [PATCH 05/10] drm/i915: Roll out drm_for_each_connector in intel_hotplug.c X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Virus-Scanned: ClamAV using ClamSMTP Just prep work to for the revamped connector_list locking. Signed-off-by: Daniel Vetter --- drivers/gpu/drm/i915/intel_hotplug.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c index 38eeca7a6e72..e537c03ef6ee 100644 --- a/drivers/gpu/drm/i915/intel_hotplug.c +++ b/drivers/gpu/drm/i915/intel_hotplug.c @@ -145,16 +145,16 @@ static bool intel_hpd_irq_storm_detect(struct drm_i915_private *dev_priv, static void intel_hpd_irq_storm_disable(struct drm_i915_private *dev_priv) { struct drm_device *dev = dev_priv->dev; - struct drm_mode_config *mode_config = &dev->mode_config; struct intel_connector *intel_connector; struct intel_encoder *intel_encoder; struct drm_connector *connector; enum hpd_pin pin; bool hpd_disabled = false; + struct drm_connector_iter iter; assert_spin_locked(&dev_priv->irq_lock); - list_for_each_entry(connector, &mode_config->connector_list, head) { + drm_for_each_connector(connector, dev, iter) { if (connector->polled != DRM_CONNECTOR_POLL_HPD) continue; @@ -192,7 +192,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work) container_of(work, typeof(*dev_priv), hotplug.reenable_work.work); struct drm_device *dev = dev_priv->dev; - struct drm_mode_config *mode_config = &dev->mode_config; + struct drm_connector_iter iter; int i; intel_runtime_pm_get(dev_priv); @@ -206,7 +206,7 @@ static void intel_hpd_irq_storm_reenable_work(struct work_struct *work) dev_priv->hotplug.stats[i].state = HPD_ENABLED; - list_for_each_entry(connector, &mode_config->connector_list, head) { + drm_for_each_connector(connector, dev, iter) { struct intel_connector *intel_connector = to_intel_connector(connector); if (intel_connector->encoder->hpd_pin == i) { @@ -309,6 +309,7 @@ static void i915_hotplug_work_func(struct work_struct *work) struct drm_connector *connector; bool changed = false; u32 hpd_event_bits; + struct drm_connector_iter iter; mutex_lock(&mode_config->mutex); DRM_DEBUG_KMS("running encoder hotplug functions\n"); @@ -323,7 +324,7 @@ static void i915_hotplug_work_func(struct work_struct *work) spin_unlock_irq(&dev_priv->irq_lock); - list_for_each_entry(connector, &mode_config->connector_list, head) { + drm_for_each_connector(connector, dev, iter) { intel_connector = to_intel_connector(connector); if (!intel_connector->encoder) continue; @@ -456,15 +457,16 @@ void intel_hpd_irq_handler(struct drm_i915_private *dev_priv, void intel_hpd_init(struct drm_i915_private *dev_priv) { struct drm_device *dev = dev_priv->dev; - struct drm_mode_config *mode_config = &dev->mode_config; struct drm_connector *connector; + struct drm_connector_iter iter; int i; for_each_hpd_pin(i) { dev_priv->hotplug.stats[i].count = 0; dev_priv->hotplug.stats[i].state = HPD_ENABLED; } - list_for_each_entry(connector, &mode_config->connector_list, head) { + + drm_for_each_connector(connector, dev, iter) { struct intel_connector *intel_connector = to_intel_connector(connector); connector->polled = intel_connector->polled;