From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 15/31] drm/i915: extract readout_hw_state from setup_hw_state Date: Wed, 12 Jun 2013 16:26:42 +0200 Message-ID: <20130612142642.GC22870@phenom.ffwll.local> References: <1370432073-27634-1-git-send-email-daniel.vetter@ffwll.ch> <1370432073-27634-16-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ea0-f176.google.com (mail-ea0-f176.google.com [209.85.215.176]) by gabe.freedesktop.org (Postfix) with ESMTP id 22F88E5C26 for ; Wed, 12 Jun 2013 07:26:47 -0700 (PDT) Received: by mail-ea0-f176.google.com with SMTP id z15so4061228ead.7 for ; Wed, 12 Jun 2013 07:26:47 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1370432073-27634-16-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Intel Graphics Development Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org On Wed, Jun 05, 2013 at 01:34:17PM +0200, Daniel Vetter wrote: > Simply grew too big. This also makes the fixup and restore logic in > setup_hw_state stand out a bit more clearly. > > Signed-off-by: Daniel Vetter So I've managed to massively botch up patch ordering here, due to the lack of refcount rescostruction but the fact that we already have hw state readout for the pll selection we hit a bunch of WARNs in the crtc disable path. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=65673 Damien, can you please take a good hard look at just this patch so that we can shut up the WARNs? Thanks, Daniel > --- > drivers/gpu/drm/i915/intel_display.c | 20 +++++++++++++++----- > 1 file changed, 15 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c > index 998ba5c..95ed27b 100644 > --- a/drivers/gpu/drm/i915/intel_display.c > +++ b/drivers/gpu/drm/i915/intel_display.c > @@ -9630,14 +9630,10 @@ void i915_redisable_vga(struct drm_device *dev) > } > } > > -/* Scan out the current hw modeset state, sanitizes it and maps it into the drm > - * and i915 state tracking structures. */ > -void intel_modeset_setup_hw_state(struct drm_device *dev, > - bool force_restore) > +static void intel_modeset_readout_hw_state(struct drm_device *dev) > { > struct drm_i915_private *dev_priv = dev->dev_private; > enum pipe pipe; > - struct drm_plane *plane; > struct intel_crtc *crtc; > struct intel_encoder *encoder; > struct intel_connector *connector; > @@ -9713,6 +9709,20 @@ void intel_modeset_setup_hw_state(struct drm_device *dev, > drm_get_connector_name(&connector->base), > connector->base.encoder ? "enabled" : "disabled"); > } > +} > + > +/* Scan out the current hw modeset state, sanitizes it and maps it into the drm > + * and i915 state tracking structures. */ > +void intel_modeset_setup_hw_state(struct drm_device *dev, > + bool force_restore) > +{ > + struct drm_i915_private *dev_priv = dev->dev_private; > + enum pipe pipe; > + struct drm_plane *plane; > + struct intel_crtc *crtc; > + struct intel_encoder *encoder; > + > + intel_modeset_readout_hw_state(dev); > > /* HW state is read out, now we need to sanitize this mess. */ > list_for_each_entry(encoder, &dev->mode_config.encoder_list, > -- > 1.7.11.7 > -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch