From patchwork Thu May 28 16:35:01 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chris Wilson X-Patchwork-Id: 6499961 Return-Path: X-Original-To: patchwork-intel-gfx@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id 65F7A9F38C for ; Thu, 28 May 2015 16:35:18 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id EC56420755 for ; Thu, 28 May 2015 16:35:12 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id 979F220742 for ; Thu, 28 May 2015 16:35:11 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1E2896E762; Thu, 28 May 2015 09:35:10 -0700 (PDT) X-Original-To: intel-gfx@lists.freedesktop.org Delivered-To: intel-gfx@lists.freedesktop.org Received: from fireflyinternet.com (mail.fireflyinternet.com [87.106.93.118]) by gabe.freedesktop.org (Postfix) with ESMTP id 37F636E762 for ; Thu, 28 May 2015 09:35:08 -0700 (PDT) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from nuc-i3427.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 40450701-1500048 for multiple; Thu, 28 May 2015 17:35:24 +0100 Received: by nuc-i3427.alporthouse.com (sSMTP sendmail emulation); Thu, 28 May 2015 17:35:01 +0100 Date: Thu, 28 May 2015 17:35:01 +0100 From: Chris Wilson To: Ander Conselvan de Oliveira Message-ID: <20150528163501.GH19710@nuc-i3427.alporthouse.com> Mail-Followup-To: Chris Wilson , Ander Conselvan de Oliveira , intel-gfx@lists.freedesktop.org References: <1429625604-22252-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1429625604-22252-16-git-send-email-ander.conselvan.de.oliveira@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1429625604-22252-16-git-send-email-ander.conselvan.de.oliveira@intel.com> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: intel-gfx@lists.freedesktop.org Subject: Re: [Intel-gfx] [PATCH 15/35] drm/i915: Remove all *_pipes flags from modeset 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: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Tue, Apr 21, 2015 at 05:13:04PM +0300, Ander Conselvan de Oliveira wrote: > @@ -11548,26 +11479,36 @@ intel_modeset_update_state(struct drm_device *dev, unsigned prepare_pipes) > if (!intel_encoder->base.crtc) > continue; > > - intel_crtc = to_intel_crtc(intel_encoder->base.crtc); > + for_each_crtc_in_state(state, crtc, crtc_state, i) > + if (crtc == intel_encoder->base.crtc) > + break; > > - if (prepare_pipes & (1 << intel_crtc->pipe)) > + if (crtc != intel_encoder->base.crtc) > + continue; > + > + if (crtc_state->enable && needs_modeset(crtc_state)) > intel_encoder->connectors_active = false; This makes the compiler gasp, and even if the compiler is wrong, the code isn't perhaps the most clear - and this pattern gets repeated. For example, diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 067b1dee1b90..3b049cdbb7e5 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -11859,15 +11859,15 @@ intel_modeset_update_state(struct drm_atomic_state *state) if (!intel_encoder->base.crtc) continue; - for_each_crtc_in_state(state, crtc, crtc_state, i) - if (crtc == intel_encoder->base.crtc) - break; + for_each_crtc_in_state(state, crtc, crtc_state, i) { + if (crtc != intel_encoder->base.crtc) + continue; - if (crtc != intel_encoder->base.crtc) - continue; + if (crtc_state->enable && needs_modeset(crtc_state)) + intel_encoder->connectors_active = false; - if (crtc_state->enable && needs_modeset(crtc_state)) - intel_encoder->connectors_active = false; + break; + } } -Chris -- Chris Wilson, Intel Open Source Technology Centre