From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 09/10] drm/i915: wait render timeout ioctl Date: Sun, 22 Apr 2012 10:48:01 +0100 Message-ID: <1335088110_18651@CP5-2952> References: <1334971412-4826-1-git-send-email-ben@bwidawsk.net> <1334971412-4826-10-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 0DD639E73F for ; Sun, 22 Apr 2012 02:48:37 -0700 (PDT) In-Reply-To: <1334971412-4826-10-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 , Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org On Fri, 20 Apr 2012 18:23:31 -0700, Ben Widawsky wrote: > +int > +i915_gem_wait_ioctl(struct drm_device *dev, void *data, struct drm_file *file) > +{ > + struct drm_i915_gem_wait *args = data; > + struct drm_i915_gem_object *obj; > + struct intel_ring_buffer *ring; > + long timeout; > + u32 seqno = 0; > + int ret = 0; > + > + ret = i915_mutex_lock_interruptible(dev); > + if (ret) > + return ret; > + > + obj = to_intel_bo(drm_gem_object_lookup(dev, file, args->bo_handle)); > + if (&obj->base == NULL) { > + mutex_unlock(&dev->struct_mutex); > + return -ENOENT; > + } > + > + timeout = args->timeout_ns; We discussed on IRC whether or not we needed to flush here. For the drm_intel_gem_bo_wait_rendering() use-case, we do need to be able to first queue a flush. if (args->flags & I915_WAIT_FINISH) i915_gem_object_flush_gpu_write_domain(obj); Borrowing the terminology from glFlush/glFinish. This becomes moot if the flushing list is ever vanquished, but still a useful distinction and required today. -Chris -- Chris Wilson, Intel Open Source Technology Centre