From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] work around warning in i915_gem_gtt Date: Mon, 28 Jul 2014 17:24:48 +0200 Message-ID: <20140728152448.GD4747@phenom.ffwll.local> References: <20140728112058.GA17504@amd.pavel.ucw.cz> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-we0-f170.google.com (mail-we0-f170.google.com [74.125.82.170]) by gabe.freedesktop.org (Postfix) with ESMTP id 006DA6E2C8 for ; Mon, 28 Jul 2014 08:24:44 -0700 (PDT) Received: by mail-we0-f170.google.com with SMTP id w62so7484285wes.29 for ; Mon, 28 Jul 2014 08:24:39 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20140728112058.GA17504@amd.pavel.ucw.cz> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Pavel Machek Cc: airlied@linux.ie, daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Mon, Jul 28, 2014 at 01:20:58PM +0200, Pavel Machek wrote: > > Gcc warns that addr might be used uninitialized. It may not, but I see > why gcc gets confused. > > Additionally, hiding code with side-effects inside WARN_ON() argument > seems uncool, so I moved it outside. > > Signed-off-by: Pavel Machek > > diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c > index 8b3cde7..8fcc974 100644 > --- a/drivers/gpu/drm/i915/i915_gem_gtt.c > +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c > @@ -1448,7 +1448,7 @@ static void gen6_ggtt_insert_entries(struct i915_address_space *vm, > (gen6_gtt_pte_t __iomem *)dev_priv->gtt.gsm + first_entry; > int i = 0; > struct sg_page_iter sg_iter; > - dma_addr_t addr; > + dma_addr_t addr = 0; I want to have a /* shuts up gcc */ for these kinds of things, where we need to help out the compiler. Added and merged, thanks. -Daniel > > for_each_sg_page(st->sgl, &sg_iter, st->nents, 0) { > addr = sg_page_iter_dma_address(&sg_iter); > @@ -1462,9 +1462,10 @@ static void gen6_ggtt_insert_entries(struct i915_address_space *vm, > * of NUMA access patterns. Therefore, even with the way we assume > * hardware should work, we must keep this posting read for paranoia. > */ > - if (i != 0) > - WARN_ON(readl(>t_entries[i-1]) != > - vm->pte_encode(addr, level, true)); > + if (i != 0) { > + unsigned long gtt = readl(>t_entries[i-1]); > + WARN_ON(gtt != vm->pte_encode(addr, level, true)); > + } > > /* This next bit makes the above posting read even more important. We > * want to flush the TLBs only after we're certain all the PTE updates > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch