From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH] drm/i915: Fix disabled semaphores Date: Mon, 13 Jan 2014 15:25:35 -0800 Message-ID: <20140113232534.GA2378@bwidawsk.net> References: <1387339560-13604-1-git-send-email-benjamin.widawsky@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id A816945438 for ; Mon, 13 Jan 2014 15:25:45 -0800 (PST) Content-Disposition: inline In-Reply-To: <1387339560-13604-1-git-send-email-benjamin.widawsky@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces@lists.freedesktop.org Errors-To: intel-gfx-bounces@lists.freedesktop.org To: Daniel Vetter Cc: Intel GFX List-Id: intel-gfx@lists.freedesktop.org Daniel, please consider merging this, or the rest of the semaphore series. Existing code is broken. On Tue, Dec 17, 2013 at 08:06:00PM -0800, Ben Widawsky wrote: > The ring will emit too many if semaphores are disabled since we do not > add the correct number to num_dwords anymore. > > This was introduced: > commit 52ed23253b68e1cf154b03d91bed619504cf955b > Author: Ben Widawsky > Date: Mon Dec 16 20:50:38 2013 -0800 > > drm/i915: Don't emit mbox updates without semaphores > > FWIW, the bug was fixed later in the series. > > /me hangs head in shame. > > Daniel: Also note that we should have merged the read-only semaphore > modparam before this patch. > > Reported-by: Kenneth Graunke > Signed-off-by: Ben Widawsky > --- > drivers/gpu/drm/i915/intel_ringbuffer.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c > index b106984..b242dbb 100644 > --- a/drivers/gpu/drm/i915/intel_ringbuffer.c > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c > @@ -673,10 +673,12 @@ gen6_add_request(struct intel_ring_buffer *ring) > if (ret) > return ret; > > - for_each_ring(useless, dev_priv, i) { > - u32 mbox_reg = ring->signal_mbox[i]; > - if (mbox_reg != GEN6_NOSYNC) > - update_mboxes(ring, mbox_reg); > + if (i915_semaphore_is_enabled(dev)) { > + for_each_ring(useless, dev_priv, i) { > + u32 mbox_reg = ring->signal_mbox[i]; > + if (mbox_reg != GEN6_NOSYNC) > + update_mboxes(ring, mbox_reg); > + } > } > > intel_ring_emit(ring, MI_STORE_DWORD_INDEX); > -- > 1.8.5.1 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Ben Widawsky, Intel Open Source Technology Center