From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 10/12] drm/i915: extract some common olr+wedge code Date: Fri, 27 Apr 2012 09:46:31 +0100 Message-ID: <1335516431_66049@CP5-2952> References: <1335481389-7232-1-git-send-email-ben@bwidawsk.net> <1335481389-7232-11-git-send-email-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from fireflyinternet.com (smtp.fireflyinternet.com [109.228.6.236]) by gabe.freedesktop.org (Postfix) with ESMTP id 13B0BA0E92 for ; Fri, 27 Apr 2012 01:47:14 -0700 (PDT) In-Reply-To: <1335481389-7232-11-git-send-email-ben@bwidawsk.net> 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-gfx@lists.freedesktop.org Cc: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org On Thu, 26 Apr 2012 16:03:07 -0700, Ben Widawsky wrote: > +/* > + * Compare seqno against outstanding lazy request. Emit a request if they are > + * equal. Seqno is updated with the new value if a request was emitted. > + */ > +static int > +i915_gem_check_olr(struct intel_ring_buffer *ring, u32 *seqno) > +{ > + int ret = 0; > + > + BUG_ON(!mutex_is_locked(&ring->dev->struct_mutex)); > + > + if (*seqno == ring->outstanding_lazy_request) { > + struct drm_i915_gem_request *request; > + > + request = kzalloc(sizeof(*request), GFP_KERNEL); > + if (request == NULL) > + return -ENOMEM; > + > + ret = i915_add_request(ring, NULL, request); > + if (ret) { > + kfree(request); > + return ret; > + } > + > + *seqno = request->seqno; I'd love for this to be BUG_ON(seqno != request->seqno) and so drop the out parameter, as it would tidy all the callers up. > + } > + > + return ret; -Chris -- Chris Wilson, Intel Open Source Technology Centre